Class BasicHttpContentEncoder

  • All Implemented Interfaces:
    io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler, io.netty.channel.ChannelOutboundHandler

    public abstract class BasicHttpContentEncoder
    extends io.netty.handler.codec.MessageToMessageCodec<io.netty.handler.codec.http.HttpObject,​io.netty.handler.codec.http.HttpObject>
    A replacement for the Netty HttpContentEncoder which can handle use in client and server pipelines. Created by acurtis on 6/26/17.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

        io.netty.channel.ChannelHandler.Sharable
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      boolean acceptOutboundMessage​(java.lang.Object msg)  
      protected abstract io.netty.handler.codec.http.HttpContentEncoder.Result beginEncode​(io.netty.handler.codec.http.HttpMessage headers, java.lang.String acceptEncoding)
      Prepare to encode the HTTP message content.
      void channelInactive​(io.netty.channel.ChannelHandlerContext ctx)  
      protected void decode​(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.HttpObject msg, java.util.List<java.lang.Object> out)  
      protected void decodeTime​(long nanos)  
      protected void encode​(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.HttpObject msg, java.util.List<java.lang.Object> out)  
      protected void encodeTime​(long nanos)  
      void handlerRemoved​(io.netty.channel.ChannelHandlerContext ctx)  
      protected java.lang.CharSequence requestEncoding​(io.netty.handler.codec.http.HttpRequest request)  
      protected java.lang.CharSequence requestEncoding0​(io.netty.handler.codec.http.HttpRequest request)  
      • Methods inherited from class io.netty.handler.codec.MessageToMessageCodec

        acceptInboundMessage, channelRead, write
      • Methods inherited from class io.netty.channel.ChannelDuplexHandler

        bind, close, connect, deregister, disconnect, flush, read
      • Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

        channelActive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
      • Methods inherited from class io.netty.channel.ChannelHandlerAdapter

        ensureNotSharable, handlerAdded, isSharable
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.netty.channel.ChannelHandler

        handlerAdded
    • Constructor Detail

      • BasicHttpContentEncoder

        public BasicHttpContentEncoder()
    • Method Detail

      • acceptOutboundMessage

        public boolean acceptOutboundMessage​(java.lang.Object msg)
                                      throws java.lang.Exception
        Overrides:
        acceptOutboundMessage in class io.netty.handler.codec.MessageToMessageCodec<io.netty.handler.codec.http.HttpObject,​io.netty.handler.codec.http.HttpObject>
        Throws:
        java.lang.Exception
      • requestEncoding

        protected java.lang.CharSequence requestEncoding​(io.netty.handler.codec.http.HttpRequest request)
      • requestEncoding0

        protected java.lang.CharSequence requestEncoding0​(io.netty.handler.codec.http.HttpRequest request)
      • encodeTime

        protected void encodeTime​(long nanos)
      • decodeTime

        protected void decodeTime​(long nanos)
      • decode

        protected void decode​(io.netty.channel.ChannelHandlerContext ctx,
                              io.netty.handler.codec.http.HttpObject msg,
                              java.util.List<java.lang.Object> out)
                       throws java.lang.Exception
        Specified by:
        decode in class io.netty.handler.codec.MessageToMessageCodec<io.netty.handler.codec.http.HttpObject,​io.netty.handler.codec.http.HttpObject>
        Throws:
        java.lang.Exception
      • encode

        protected void encode​(io.netty.channel.ChannelHandlerContext ctx,
                              io.netty.handler.codec.http.HttpObject msg,
                              java.util.List<java.lang.Object> out)
                       throws java.lang.Exception
        Specified by:
        encode in class io.netty.handler.codec.MessageToMessageCodec<io.netty.handler.codec.http.HttpObject,​io.netty.handler.codec.http.HttpObject>
        Throws:
        java.lang.Exception
      • beginEncode

        protected abstract io.netty.handler.codec.http.HttpContentEncoder.Result beginEncode​(io.netty.handler.codec.http.HttpMessage headers,
                                                                                             java.lang.String acceptEncoding)
                                                                                      throws java.lang.Exception
        Prepare to encode the HTTP message content.
        Parameters:
        headers - the headers
        acceptEncoding - the value of the "Accept-Encoding" header
        Returns:
        the result of preparation, which is composed of the determined target content encoding and a new EmbeddedChannel that encodes the content into the target content encoding. null if acceptEncoding is unsupported or rejected and thus the content should be handled as-is (i.e. no encoding).
        Throws:
        java.lang.Exception
      • handlerRemoved

        public void handlerRemoved​(io.netty.channel.ChannelHandlerContext ctx)
                            throws java.lang.Exception
        Specified by:
        handlerRemoved in interface io.netty.channel.ChannelHandler
        Overrides:
        handlerRemoved in class io.netty.channel.ChannelHandlerAdapter
        Throws:
        java.lang.Exception
      • channelInactive

        public void channelInactive​(io.netty.channel.ChannelHandlerContext ctx)
                             throws java.lang.Exception
        Specified by:
        channelInactive in interface io.netty.channel.ChannelInboundHandler
        Overrides:
        channelInactive in class io.netty.channel.ChannelInboundHandlerAdapter
        Throws:
        java.lang.Exception