Class HttpContentCompressor

All Implemented Interfaces:
ChannelDownstreamHandler, ChannelHandler, ChannelUpstreamHandler, LifeCycleAwareChannelHandler

public class HttpContentCompressor extends HttpContentEncoder
Compresses an 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.
  • Field Details

    • logger

      private static final InternalLogger logger
    • DEFAULT_JDK_WINDOW_SIZE

      private static final int DEFAULT_JDK_WINDOW_SIZE
      See Also:
    • DEFAULT_JDK_MEM_LEVEL

      private static final int DEFAULT_JDK_MEM_LEVEL
      See Also:
    • noJdkZlibEncoder

      private static final boolean noJdkZlibEncoder
    • compressionLevel

      private final int compressionLevel
    • windowBits

      private final int windowBits
    • memLevel

      private final int memLevel
  • Constructor Details

    • HttpContentCompressor

      public HttpContentCompressor()
      Creates a new handler with the default compression level (6), default window size (15) and default memory level (8).
    • HttpContentCompressor

      public HttpContentCompressor(int compressionLevel)
      Creates a new handler with the specified compression level, default window size (15) and default memory level (8).
      Parameters:
      compressionLevel - 1 yields the fastest compression and 9 yields the best compression. 0 means no compression. The default compression level is 6.
    • HttpContentCompressor

      public HttpContentCompressor(int compressionLevel, int windowBits, int memLevel)
      Creates a new handler with the specified compression level, window size, and memory level.
      Parameters:
      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.
  • Method Details