public class DeflateDecompressingEntity extends HttpEntityWrapper
HttpEntityWrapper responsible for handling
deflate Content Coded responses. In RFC2616 terms, deflate
means a zlib stream as defined in RFC1950. Some server
implementations have misinterpreted RFC2616 to mean that a
deflate stream as defined in RFC1951 should be used
(or maybe they did that since that's how IE behaves?). It's confusing
that deflate in HTTP 1.1 means zlib streams
rather than deflate streams. We handle both types in here,
since that's what is seen on the internet. Moral - prefer
gzip!GzipDecompressingEntitywrappedEntity| Constructor and Description |
|---|
DeflateDecompressingEntity(HttpEntity entity)
Creates a new
DeflateDecompressingEntity which will wrap the specified
HttpEntity. |
| Modifier and Type | Method and Description |
|---|---|
java.io.InputStream |
getContent()
Returns a content stream of the entity.
|
Header |
getContentEncoding()
Obtains the Content-Encoding header, if known.
|
long |
getContentLength()
Tells the length of the content, if known.
|
void |
writeTo(java.io.OutputStream outstream)
Writes the entity content out to the output stream.
|
consumeContent, getContentType, isChunked, isRepeatable, isStreamingpublic DeflateDecompressingEntity(HttpEntity entity)
DeflateDecompressingEntity which will wrap the specified
HttpEntity.entity - a non-null HttpEntity to be wrappedpublic Header getContentEncoding()
getContentEncoding in interface HttpEntitygetContentEncoding in class HttpEntityWrappernull if the content encoding is unknownpublic long getContentLength()
getContentLength in interface HttpEntitygetContentLength in class HttpEntityWrapperLong.MAX_VALUE,
a negative number is returned.public java.io.InputStream getContent()
throws java.io.IOException
Repeatable entities are expected
to create a new instance of InputStream for each invocation
of this method and therefore can be consumed multiple times.
Entities that are not repeatable are expected
to return the same InputStream instance and therefore
may not be consumed more than once.
IMPORTANT: Please note all entity implementations must ensure that
all allocated resources are properly deallocated after
the InputStream.close() method is invoked.
getContent in interface HttpEntitygetContent in class HttpEntityWrapperjava.io.IOException - if the stream could not be createdHttpEntity.isRepeatable()public void writeTo(java.io.OutputStream outstream)
throws java.io.IOException
IMPORTANT: Please note all entity implementations must ensure that all allocated resources are properly deallocated when this method returns.
writeTo in interface HttpEntitywriteTo in class HttpEntityWrapperoutstream - the output stream to write entity content tojava.io.IOException - if an I/O error occurs