hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (HTTPCLIENT-1075) ContentEncodingHttpClient.execute(HttpGet, ResponseHandler<T>) throws IOException when reading chunked gzip response
Date Sat, 02 Apr 2011 11:50:05 GMT

     [ https://issues.apache.org/jira/browse/HTTPCLIENT-1075?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oleg Kalnichevski resolved HTTPCLIENT-1075.
-------------------------------------------

    Resolution: Fixed

I improved slightly the way decompressing entities handle content streaming and committed
the patch to both SVN trunk and 4.1.x branch.

Please review and re-test.

Oleg

> ContentEncodingHttpClient.execute(HttpGet, ResponseHandler<T>) throws IOException
when reading chunked gzip response
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1075
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1075
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.1.1
>         Environment: I'm using HttpClient 4.1.1 on Mac OS X 10.6.7.
> `java -version` output:
> java version "1.6.0_24"
> Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
> Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
>            Reporter: Adam Hahn
>             Fix For: 4.1.2
>
>         Attachments: 0001-HTTPCLIENT-1075-ContentEncodingHttpClient-fails-when.patch
>
>
> The following snippet:
>     String url = "http://yahoo.com";
>     HttpClient httpClient = new ContentEncodingHttpClient();
>     HttpGet get = new HttpGet(url);
>     String content = httpClient.execute(get, new BasicResponseHandler());
> throws:
> java.io.IOException: Attempted read from closed stream.
> 	at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:126)
> 	at java.util.zip.CheckedInputStream.read(CheckedInputStream.java:42)
> 	at java.util.zip.GZIPInputStream.readUByte(GZIPInputStream.java:205)
> 	at java.util.zip.GZIPInputStream.readUShort(GZIPInputStream.java:197)
> 	at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:136)
> 	at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:58)
> 	at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:68)
> 	at org.apache.http.client.entity.GzipDecompressingEntity.getContent(GzipDecompressingEntity.java:63)
> 	at org.apache.http.conn.BasicManagedEntity.getContent(BasicManagedEntity.java:88)
> 	at org.apache.http.util.EntityUtils.consume(EntityUtils.java:65)
> 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:974)
> 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:919)
> 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:910)
> 	at tv.adap.service.HttpPoolTest.testChunkedGzip(HttpPoolTest.java:41)
> whereas the following snippet runs fine:
>     String url = "http://yahoo.com";
>     HttpClient httpClient = new ContentEncodingHttpClient();
>     HttpGet get = new HttpGet(url);
>     HttpResponse response = httpClient.execute(get);
>     HttpEntity entity = response.getEntity();
>     String content = EntityUtils.toString(entity);
> These two snippets should be functionally the same (putting the entity body into content).
Creating a JIRA per the recommendation of Oleg from httpclient-users.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org


Mime
View raw message