Package io.kroxylicious.proxy.internal
Class HaProxyProtocolDetectionHandler
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.kroxylicious.proxy.internal.HaProxyProtocolDetectionHandler
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
public class HaProxyProtocolDetectionHandler
extends io.netty.channel.ChannelInboundHandlerAdapter
Uses
HAProxyMessageDecoder.detectProtocol(ByteBuf) on the first bytes
of a connection to decide whether to install the PROXY protocol decoder.
In ProxyProtocolMode.REQUIRED mode, non-PROXY bytes cause the
connection to be closed with a warning. In ProxyProtocolMode.ALLOWED
mode, non-PROXY bytes are simply passed through to the Kafka decoder.
This handler is not used when the proxy is in ProxyProtocolMode.DISABLED mode.
This handler removes itself from the pipeline after the first read.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable -
Constructor Summary
ConstructorsConstructorDescriptionHaProxyProtocolDetectionHandler(ProxyProtocolMode mode, KafkaSession kafkaSession) -
Method Summary
Modifier and TypeMethodDescriptionvoidchannelInactive(io.netty.channel.ChannelHandlerContext ctx) voidchannelRead(io.netty.channel.ChannelHandlerContext ctx, Object msg) Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggeredMethods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharableMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.netty.channel.ChannelHandler
handlerAdded, handlerRemoved
-
Constructor Details
-
HaProxyProtocolDetectionHandler
-
-
Method Details
-
channelRead
- Specified by:
channelReadin interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelReadin classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-
channelInactive
- Specified by:
channelInactivein interfaceio.netty.channel.ChannelInboundHandler- Overrides:
channelInactivein classio.netty.channel.ChannelInboundHandlerAdapter- Throws:
Exception
-