Class HttpContentEncoder

java.lang.Object
org.jboss.netty.channel.SimpleChannelHandler
org.jboss.netty.handler.codec.http.HttpContentEncoder
All Implemented Interfaces:
ChannelDownstreamHandler, ChannelHandler, ChannelUpstreamHandler, LifeCycleAwareChannelHandler
Direct Known Subclasses:
HttpContentCompressor

public abstract class HttpContentEncoder extends SimpleChannelHandler implements LifeCycleAwareChannelHandler
Encodes the content of the outbound HttpResponse and HttpChunk. The original content is replaced with the new content encoded by the EncoderEmbedder, which is created by newContentEncoder(HttpMessage, String). Once encoding is finished, the value of the 'Content-Encoding' header is set to the target content encoding, as returned by getTargetContentEncoding(String). Also, the 'Content-Length' header is updated to the length of the encoded content. If there is no supported encoding in the corresponding HttpRequest's "Accept-Encoding" header, newContentEncoder(HttpMessage, String) should return null so that no encoding occurs (i.e. pass-through).

Please note that this is an abstract class. You have to extend this class and implement newContentEncoder(HttpMessage, String) and getTargetContentEncoding(String) properly to make this class functional. For example, refer to the source code of HttpContentCompressor.

This handler must be placed after HttpMessageEncoder in the pipeline so that this handler can intercept HTTP responses before HttpMessageEncoder converts them into ChannelBuffers.