public abstract class HttpObjectEncoder<H extends HttpMessage> extends MessageToMessageEncoder<Object>
HttpMessage
or an HttpContent
into
a ByteBuf
.
ChannelHandler.Sharable
Constructor and Description |
---|
HttpObjectEncoder() |
Modifier and Type | Method and Description |
---|---|
boolean |
acceptOutboundMessage(Object msg)
Returns
true if the given message should be handled. |
protected void |
encode(ChannelHandlerContext ctx,
Object msg,
List<Object> out)
Encode from one message to an other.
|
protected static void |
encodeAscii(String s,
ByteBuf buf)
Deprecated.
|
protected void |
encodeHeaders(HttpHeaders headers,
ByteBuf buf)
Encode the
HttpHeaders into a ByteBuf . |
protected abstract void |
encodeInitialLine(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(ChannelHandlerContext ctx,
Object msg,
ChannelPromise promise)
Calls
ChannelOutboundInvoker.write(Object, ChannelPromise) to forward
to the next ChannelOutboundHandler in the ChannelPipeline . |
bind, close, connect, deregister, disconnect, flush, read
ensureNotSharable, exceptionCaught, handlerAdded, handlerRemoved, isSharable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
exceptionCaught, handlerAdded, handlerRemoved
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception
ChannelOutboundHandlerAdapter
ChannelOutboundInvoker.write(Object, ChannelPromise)
to forward
to the next ChannelOutboundHandler
in the ChannelPipeline
.
Sub-classes may override this method to change behavior.write
in interface ChannelOutboundHandler
write
in class MessageToMessageEncoder<Object>
ctx
- the ChannelHandlerContext
for which the write operation is mademsg
- the message to writepromise
- the ChannelPromise
to notify once the operation completesException
- thrown if an error occursprotected void encode(ChannelHandlerContext ctx, Object msg, List<Object> out) throws Exception
MessageToMessageEncoder
encode
in class MessageToMessageEncoder<Object>
ctx
- the ChannelHandlerContext
which this MessageToMessageEncoder
belongs tomsg
- the message to encode to an other oneout
- the List
into which the encoded msg should be added
needs to do some kind of aggregationException
- is thrown if an error occursprotected void encodeHeaders(HttpHeaders headers, ByteBuf buf)
HttpHeaders
into a ByteBuf
.protected void sanitizeHeadersBeforeEncode(H msg, boolean isAlwaysEmpty)
protected boolean isContentAlwaysEmpty(H msg)
msg
- the message to testtrue
to signal the message has no contentpublic boolean acceptOutboundMessage(Object msg) throws Exception
MessageToMessageEncoder
true
if the given message should be handled. If false
it will be passed to the next
ChannelOutboundHandler
in the ChannelPipeline
.acceptOutboundMessage
in class MessageToMessageEncoder<Object>
Exception
@Deprecated protected static void encodeAscii(String s, ByteBuf buf)
Copyright © 2008–2024 The Netty Project. All rights reserved.