hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Svilena Momova (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCLIENT-1699) Content of response with content-encoding: deflate cannot be read
Date Wed, 25 Nov 2015 14:34:11 GMT

    [ https://issues.apache.org/jira/browse/HTTPCLIENT-1699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15026850#comment-15026850

Svilena Momova commented on HTTPCLIENT-1699:

Hello Oleg,

The response of the server is complete. Sent content is not in zlib format, but it is a deflate
stream (pure deflate, without 0x78... header bytes).
According to hc documentation, DeflateInputStream must be capable of working with both: zlib
and pure deflate.

I dumped the http response from the server and I did some simple tests with the content.

If I loaded the compressed content within org.apache.http.client.entity.DeflateInputStream,
 it got recognized as non-zlib and the sourceStream member variable was initialized on line
122 with new DeflateStream(pushback, new Inflater(true)); which seems to be correct. But at
the end the mentioned exception happens, because the EOF is processed somehow incorrectly.

If I load the same compressed content in a simple test program using only an Inflater with
nowrap = true, and calling Inflator's methods setInput, needsInput and inflate, the content
is decompressed correctly without any errors.

Additionally with Firefox and Chrome I am able to fetch the content again without any problems.

Could you please double-check how is DeflateInputStream acting when it has to deal with pure
deflate content?



> Content of response with content-encoding: deflate cannot be read
> -----------------------------------------------------------------
>                 Key: HTTPCLIENT-1699
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1699
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.5.1
>         Environment: Windows7, 
> java version "1.8.0_66"
> Java(TM) SE Runtime Environment (build 1.8.0_66-b17) 
>            Reporter: Svilena Momova
> Hello,
> I'm using httpclient-4.5.1. Yesterday I received http chunked response with content-encoding
header with value "deflate". 
> Trying to read the compressed content from the response I get an exception with the following
stack trace:
> {noformat}
>  java.io.EOFException: Unexpected end of ZLIB input stream
> 	at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:240)
> 	at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
> 	at org.apache.http.client.entity.DeflateInputStream.read(DeflateInputStream.java:153)
> 	at org.apache.http.client.entity.LazyDecompressingInputStream.read(LazyDecompressingInputStream.java:73)
> {noformat}
> It seems that when the end of the content is reached, instead of correct closing of the
stream, this exception happens.
> Can you please confirm the issue and when it could be fixed?
> Thank you!
> Best Regards,
> Svilena Momova

This message was sent by Atlassian JIRA

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

View raw message