Package io.netty5.handler.ssl
Class OptionalSslHandler
- java.lang.Object
-
- io.netty5.channel.ChannelHandlerAdapter
-
- io.netty5.handler.codec.ByteToMessageDecoder
-
- io.netty5.handler.ssl.OptionalSslHandler
-
- All Implemented Interfaces:
io.netty5.channel.ChannelHandler
public class OptionalSslHandler extends io.netty5.handler.codec.ByteToMessageDecoderOptionalSslHandleris a utility decoder to support both SSL and non-SSL handlers based on the first message received.
-
-
Constructor Summary
Constructors Constructor Description OptionalSslHandler(SslContext sslContext)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddecode(io.netty5.channel.ChannelHandlerContext context, io.netty5.buffer.ByteBuf in)protected io.netty5.channel.ChannelHandlernewNonSslHandler(io.netty5.channel.ChannelHandlerContext context)Override to configure the ChannelHandler.protected StringnewNonSslHandlerName()Optionally specify the non-SSL handler name, this method may returnnull.protected SslHandlernewSslHandler(io.netty5.channel.ChannelHandlerContext context, SslContext sslContext)Override to configure the SslHandler eg.protected StringnewSslHandlerName()Optionally specify the SSL handler name, this method may returnnull.-
Methods inherited from class io.netty5.handler.codec.ByteToMessageDecoder
actualReadableBytes, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerAdded, handlerAdded0, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
-
-
-
-
Constructor Detail
-
OptionalSslHandler
public OptionalSslHandler(SslContext sslContext)
-
-
Method Detail
-
decode
protected void decode(io.netty5.channel.ChannelHandlerContext context, io.netty5.buffer.ByteBuf in) throws Exception- Specified by:
decodein classio.netty5.handler.codec.ByteToMessageDecoder- Throws:
Exception
-
newSslHandlerName
protected String newSslHandlerName()
Optionally specify the SSL handler name, this method may returnnull.- Returns:
- the name of the SSL handler.
-
newSslHandler
protected SslHandler newSslHandler(io.netty5.channel.ChannelHandlerContext context, SslContext sslContext)
Override to configure the SslHandler eg.SSLParameters.setEndpointIdentificationAlgorithm(String). The hostname and port is not known by this method so servers may want to override this method and use theSslContext.newHandler(ByteBufAllocator, String, int)variant.- Parameters:
context- theChannelHandlerContextto use.sslContext- theSSLContextto use.- Returns:
- the
SslHandlerwhich will replace theOptionalSslHandlerin the pipeline if the traffic is SSL.
-
newNonSslHandlerName
protected String newNonSslHandlerName()
Optionally specify the non-SSL handler name, this method may returnnull.- Returns:
- the name of the non-SSL handler.
-
newNonSslHandler
protected io.netty5.channel.ChannelHandler newNonSslHandler(io.netty5.channel.ChannelHandlerContext context)
Override to configure the ChannelHandler.- Parameters:
context- theChannelHandlerContextto use.- Returns:
- the
ChannelHandlerwhich will replace theOptionalSslHandlerin the pipeline ornullto simply remove theOptionalSslHandlerif the traffic is non-SSL.
-
-