public class HttpContentCompressor extends HttpContentEncoder
HttpMessage
and an HttpChunk
in gzip
or
deflate
encoding while respecting the "Accept-Encoding"
header.
If there is no matching encoding, no compression is done. For more
information on how this handler modifies the message, please refer to
HttpContentEncoder
.ChannelHandler.Sharable
Constructor and Description |
---|
HttpContentCompressor()
Creates a new handler with the default compression level (6),
default window size (15) and default memory level (8).
|
HttpContentCompressor(int compressionLevel)
Creates a new handler with the specified compression level, default
window size (15) and default memory level (8).
|
HttpContentCompressor(int compressionLevel,
int windowBits,
int memLevel)
Creates a new handler with the specified compression level, window size,
and memory level..
|
Modifier and Type | Method and Description |
---|---|
protected String |
getTargetContentEncoding(String acceptEncoding)
Returns the expected content encoding of the encoded content.
|
protected EncoderEmbedder<ChannelBuffer> |
newContentEncoder(HttpMessage msg,
String acceptEncoding)
Returns a new
EncoderEmbedder that encodes the HTTP message
content. |
afterAdd, afterRemove, beforeAdd, beforeRemove, channelClosed, messageReceived, writeRequested
bindRequested, channelBound, channelConnected, channelDisconnected, channelInterestChanged, channelOpen, channelUnbound, childChannelClosed, childChannelOpen, closeRequested, connectRequested, disconnectRequested, exceptionCaught, handleDownstream, handleUpstream, setInterestOpsRequested, unbindRequested, writeComplete
public HttpContentCompressor()
public HttpContentCompressor(int compressionLevel)
compressionLevel
- 1
yields the fastest compression and 9
yields the
best compression. 0
means no compression. The default
compression level is 6
.public HttpContentCompressor(int compressionLevel, int windowBits, int memLevel)
compressionLevel
- 1
yields the fastest compression and 9
yields the
best compression. 0
means no compression. The default
compression level is 6
.windowBits
- The base two logarithm of the size of the history buffer. The
value should be in the range 9
to 15
inclusive.
Larger values result in better compression at the expense of
memory usage. The default value is 15
.memLevel
- How much memory should be allocated for the internal compression
state. 1
uses minimum memory and 9
uses maximum
memory. Larger values result in better and faster compression
at the expense of memory usage. The default value is 8
protected EncoderEmbedder<ChannelBuffer> newContentEncoder(HttpMessage msg, String acceptEncoding) throws Exception
HttpContentEncoder
EncoderEmbedder
that encodes the HTTP message
content.newContentEncoder
in class HttpContentEncoder
acceptEncoding
- the value of the "Accept-Encoding"
headerEncoderEmbedder
if there is a supported encoding
in acceptEncoding
. null
otherwise.Exception
protected String getTargetContentEncoding(String acceptEncoding) throws Exception
HttpContentEncoder
getTargetContentEncoding
in class HttpContentEncoder
acceptEncoding
- the value of the "Accept-Encoding"
headerException
Copyright © 2008-2014 The Netty Project. All Rights Reserved.