Package io.netty.handler.codec.http
Class EspressoHttpObjectEncoder<H extends io.netty.handler.codec.http.HttpMessage>
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelOutboundHandlerAdapter
-
- io.netty.handler.codec.EspressoMessageToMessageEncoder<java.lang.Object>
-
- io.netty.handler.codec.http.EspressoHttpObjectEncoder<H>
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelOutboundHandler
public abstract class EspressoHttpObjectEncoder<H extends io.netty.handler.codec.http.HttpMessage> extends EspressoMessageToMessageEncoder<java.lang.Object>
Forked from Netty 4.1.42.Final. Main change is to extend EspressoMessageToMessageEncoder to avoid creatingTypeParameterMatcher. Encodes anHttpMessageor anHttpContentinto 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 EspressoHttpObjectEncoder()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description booleanacceptOutboundMessage(java.lang.Object msg)protected voidencode(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object msg, java.util.List<java.lang.Object> out)Encode from one message to an other.protected static voidencodeAscii(java.lang.String s, io.netty.buffer.ByteBuf buf)Deprecated.protected voidencodeHeaders(io.netty.handler.codec.http.HttpHeaders headers, io.netty.buffer.ByteBuf buf)Encode theHttpHeadersinto aByteBuf.protected abstract voidencodeInitialLine(io.netty.buffer.ByteBuf buf, H message)protected booleanisContentAlwaysEmpty(H msg)Determine whether a message has a content or not.protected voidsanitizeHeadersBeforeEncode(H msg, boolean isAlwaysEmpty)Allows to sanitize headers of the message before encoding these.-
Methods inherited from class io.netty.handler.codec.EspressoMessageToMessageEncoder
write
-
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
-
encode
protected void encode(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object msg, java.util.List<java.lang.Object> out) throws java.lang.ExceptionDescription copied from class:EspressoMessageToMessageEncoderEncode from one message to an other. This method will be called for each written message that can be handled by this encoder.- Specified by:
encodein classEspressoMessageToMessageEncoder<java.lang.Object>- Parameters:
ctx- theChannelHandlerContextwhich thisMessageToMessageEncoderbelongs tomsg- the message to encode to an other oneout- theListinto which the encoded msg should be added needs to do some kind of aggregation- Throws:
java.lang.Exception- is thrown if an error occurs
-
encodeHeaders
protected void encodeHeaders(io.netty.handler.codec.http.HttpHeaders headers, io.netty.buffer.ByteBuf buf)Encode theHttpHeadersinto 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:
trueto signal the message has no content
-
acceptOutboundMessage
public boolean acceptOutboundMessage(java.lang.Object msg) throws java.lang.Exception- Overrides:
acceptOutboundMessagein classEspressoMessageToMessageEncoder<java.lang.Object>- Throws:
java.lang.Exception
-
encodeAscii
@Deprecated protected static void encodeAscii(java.lang.String s, io.netty.buffer.ByteBuf buf)Deprecated.
-
encodeInitialLine
protected abstract void encodeInitialLine(io.netty.buffer.ByteBuf buf, H message) throws java.lang.Exception- Throws:
java.lang.Exception
-
-