Package io.netty.handler.codec.http
Class HttpObjectEncoder<H extends HttpMessage>
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelOutboundHandlerAdapter
-
- io.netty.handler.codec.MessageToMessageEncoder<Object>
-
- io.netty.handler.codec.http.HttpObjectEncoder<H>
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelOutboundHandler
- Direct Known Subclasses:
HttpRequestEncoder
,HttpResponseEncoder
,RtspEncoder
,RtspObjectEncoder
public abstract class HttpObjectEncoder<H extends HttpMessage> extends io.netty.handler.codec.MessageToMessageEncoder<Object>
Encodes anHttpMessage
or anHttpContent
into aByteBuf
.Extensibility
Please note that this encoder is designed to be extended to implement a protocol derived from HTTP, such as RTSP and ICAP. To implement the encoder of such a derived protocol, extend this class and implement all abstract methods properly.
-
-
Constructor Summary
Constructors Constructor Description HttpObjectEncoder()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description boolean
acceptOutboundMessage(Object msg)
protected void
encode(io.netty.channel.ChannelHandlerContext ctx, Object msg, List<Object> out)
protected static void
encodeAscii(String s, io.netty.buffer.ByteBuf buf)
Deprecated.protected void
encodeHeaders(HttpHeaders headers, io.netty.buffer.ByteBuf buf)
Encode theHttpHeaders
into aByteBuf
.protected abstract void
encodeInitialLine(io.netty.buffer.ByteBuf buf, H message)
protected boolean
isContentAlwaysEmpty(H msg)
Determine whether a message has a content or not.protected void
sanitizeHeadersBeforeEncode(H msg, boolean isAlwaysEmpty)
Allows to sanitize headers of the message before encoding these.void
write(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise)
-
Methods inherited from class io.netty.channel.ChannelOutboundHandlerAdapter
bind, close, connect, deregister, disconnect, flush, read
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, exceptionCaught, handlerAdded, handlerRemoved, isSharable
-
-
-
-
Method Detail
-
write
public void write(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise) throws Exception
-
encode
protected void encode(io.netty.channel.ChannelHandlerContext ctx, Object msg, List<Object> out) throws Exception
-
encodeHeaders
protected void encodeHeaders(HttpHeaders headers, io.netty.buffer.ByteBuf buf)
Encode theHttpHeaders
into aByteBuf
.
-
sanitizeHeadersBeforeEncode
protected void sanitizeHeadersBeforeEncode(H msg, boolean isAlwaysEmpty)
Allows to sanitize headers of the message before encoding these.
-
isContentAlwaysEmpty
protected boolean isContentAlwaysEmpty(H msg)
Determine whether a message has a content or not. Some message may have headers indicating a content without having an actual content, e.g the response to an HEAD or CONNECT request.- Parameters:
msg
- the message to test- Returns:
true
to signal the message has no content
-
encodeAscii
@Deprecated protected static void encodeAscii(String s, io.netty.buffer.ByteBuf buf)
Deprecated.
-
-