Package io.netty.handler.codec.http2
Class CleartextHttp2ServerUpgradeHandler
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- io.netty.handler.codec.http2.CleartextHttp2ServerUpgradeHandler
-
- All Implemented Interfaces:
ChannelHandler
,ChannelInboundHandler
public final class CleartextHttp2ServerUpgradeHandler extends ByteToMessageDecoder
Performing cleartext upgrade, by h2c HTTP upgrade or Prior Knowledge. This handler config pipeline for h2c upgrade when handler added. And will update pipeline once it detect the connection is starting HTTP/2 by prior knowledge or not.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CleartextHttp2ServerUpgradeHandler.PriorKnowledgeUpgradeEvent
User event that is fired to notify about HTTP/2 protocol is started.-
Nested classes/interfaces inherited from class io.netty.handler.codec.ByteToMessageDecoder
ByteToMessageDecoder.Cumulator
-
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
-
Field Summary
-
Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder
COMPOSITE_CUMULATOR, MERGE_CUMULATOR
-
-
Constructor Summary
Constructors Constructor Description CleartextHttp2ServerUpgradeHandler(HttpServerCodec httpServerCodec, HttpServerUpgradeHandler httpServerUpgradeHandler, ChannelHandler http2ServerHandler)
Creates the channel handler provide cleartext HTTP/2 upgrade from HTTP upgrade or prior knowledge
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
decode(ChannelHandlerContext ctx, ByteBuf in, java.util.List<java.lang.Object> out)
Peek inbound message to determine current connection wants to start HTTP/2 by HTTP upgrade or prior knowledgevoid
handlerAdded(ChannelHandlerContext ctx)
Do nothing by default, sub-classes may override this method.-
Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, isSharable
-
-
-
-
Constructor Detail
-
CleartextHttp2ServerUpgradeHandler
public CleartextHttp2ServerUpgradeHandler(HttpServerCodec httpServerCodec, HttpServerUpgradeHandler httpServerUpgradeHandler, ChannelHandler http2ServerHandler)
Creates the channel handler provide cleartext HTTP/2 upgrade from HTTP upgrade or prior knowledge- Parameters:
httpServerCodec
- the http server codechttpServerUpgradeHandler
- the http server upgrade handler for HTTP/2http2ServerHandler
- the http2 server handler, will be added into pipeline when starting HTTP/2 by prior knowledge
-
-
Method Detail
-
handlerAdded
public void handlerAdded(ChannelHandlerContext ctx) throws java.lang.Exception
Description copied from class:ChannelHandlerAdapter
Do nothing by default, sub-classes may override this method.- Specified by:
handlerAdded
in interfaceChannelHandler
- Overrides:
handlerAdded
in classChannelHandlerAdapter
- Throws:
java.lang.Exception
-
decode
protected void decode(ChannelHandlerContext ctx, ByteBuf in, java.util.List<java.lang.Object> out) throws java.lang.Exception
Peek inbound message to determine current connection wants to start HTTP/2 by HTTP upgrade or prior knowledge- Specified by:
decode
in classByteToMessageDecoder
- Parameters:
ctx
- theChannelHandlerContext
which thisByteToMessageDecoder
belongs toin
- theByteBuf
from which to read dataout
- theList
to which decoded messages should be added- Throws:
java.lang.Exception
- is thrown if an error occurs
-
-