Class Http2StreamFrameToHttpObjectCodec

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

    @Sharable
    public class Http2StreamFrameToHttpObjectCodec
    extends io.netty.handler.codec.MessageToMessageCodec<Http2StreamFrame,​io.netty.handler.codec.http.HttpObject>
    This handler converts from Http2StreamFrame to HttpObject, and back. It can be used as an adapter in conjunction with Http2MultiplexCodec to make http/2 connections backward-compatible with ChannelHandlers expecting HttpObject For simplicity, it converts to chunked encoding unless the entire stream is a single header.
    • Nested Class Summary

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

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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean acceptInboundMessage​(Object msg)  
      protected void decode​(io.netty.channel.ChannelHandlerContext ctx, Http2StreamFrame frame, List<Object> out)  
      protected void encode​(io.netty.channel.ChannelHandlerContext ctx, io.netty.handler.codec.http.HttpObject obj, List<Object> out)
      Encode from an HttpObject to an Http2StreamFrame.
      void handlerAdded​(io.netty.channel.ChannelHandlerContext ctx)  
      protected boolean isSsl​(io.netty.channel.ChannelHandlerContext ctx)  
      • Methods inherited from class io.netty.handler.codec.MessageToMessageCodec

        acceptOutboundMessage, channelRead, channelReadComplete, 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, channelInactive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
      • Methods inherited from class io.netty.channel.ChannelHandlerAdapter

        ensureNotSharable, handlerRemoved, isSharable
      • Methods inherited from interface io.netty.channel.ChannelHandler

        handlerRemoved
    • Constructor Detail

      • Http2StreamFrameToHttpObjectCodec

        public Http2StreamFrameToHttpObjectCodec​(boolean isServer,
                                                 boolean validateHeaders)
      • Http2StreamFrameToHttpObjectCodec

        public Http2StreamFrameToHttpObjectCodec​(boolean isServer)
    • Method Detail

      • acceptInboundMessage

        public boolean acceptInboundMessage​(Object msg)
                                     throws Exception
        Overrides:
        acceptInboundMessage in class io.netty.handler.codec.MessageToMessageCodec<Http2StreamFrame,​io.netty.handler.codec.http.HttpObject>
        Throws:
        Exception
      • encode

        protected void encode​(io.netty.channel.ChannelHandlerContext ctx,
                              io.netty.handler.codec.http.HttpObject obj,
                              List<Object> out)
                       throws Exception
        Encode from an HttpObject to an Http2StreamFrame. This method will be called for each written message that can be handled by this encoder. NOTE: 100-Continue responses that are NOT FullHttpResponse will be rejected.
        Specified by:
        encode in class io.netty.handler.codec.MessageToMessageCodec<Http2StreamFrame,​io.netty.handler.codec.http.HttpObject>
        Parameters:
        ctx - the ChannelHandlerContext which this handler belongs to
        obj - the HttpObject message to encode
        out - the List into which the encoded msg should be added needs to do some kind of aggregation
        Throws:
        Exception - is thrown if an error occurs
      • handlerAdded

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

        protected boolean isSsl​(io.netty.channel.ChannelHandlerContext ctx)