Package io.netty.handler.codec.haproxy
Class HAProxyMessageDecoder.HeaderExtractor
java.lang.Object
io.netty.handler.codec.haproxy.HAProxyMessageDecoder.HeaderExtractor
- Direct Known Subclasses:
HAProxyMessageDecoder.LineHeaderExtractor
,HAProxyMessageDecoder.StructHeaderExtractor
- Enclosing class:
HAProxyMessageDecoder
HeaderExtractor create a header frame out of the
ByteBuf
.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract int
delimiterLength
(ByteBuf buffer, int eoh) Get the length of the header delimiter.extract
(ChannelHandlerContext ctx, ByteBuf buffer) Create a frame out of theByteBuf
and return it.protected abstract int
findEndOfHeader
(ByteBuf buffer) Find the end of the header from the givenByteBuf
,the end may be a CRLF, or the length given by the header.
-
Field Details
-
maxHeaderSize
private final int maxHeaderSizeHeader max size
-
-
Constructor Details
-
HeaderExtractor
protected HeaderExtractor(int maxHeaderSize)
-
-
Method Details
-
extract
Create a frame out of theByteBuf
and return it.- Parameters:
ctx
- theChannelHandlerContext
which thisHAProxyMessageDecoder
belongs tobuffer
- theByteBuf
from which to read data- Returns:
- frame the
ByteBuf
which represent the frame ornull
if no frame could be created - Throws:
Exception
- if exceed maxLength
-
findEndOfHeader
Find the end of the header from the givenByteBuf
,the end may be a CRLF, or the length given by the header.- Parameters:
buffer
- the buffer to be searched- Returns:
-1
if can not find the end, otherwise return the buffer index of end
-
delimiterLength
Get the length of the header delimiter.- Parameters:
buffer
- the buffer where delimiter is locatedeoh
- index of delimiter- Returns:
- length of the delimiter
-