class HttpParser
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.nio.ByteBuffer |
buffer |
private static int |
BUFFER_STEP_SIZE |
private int |
bufferMaxSize |
private int |
code |
private boolean |
complete |
private static java.lang.String |
ENCODING |
private boolean |
expectContent |
private boolean |
headerParsed |
private HttpParserUtils.HeaderParsingState |
headerParsingState |
private HttpResponse |
httpResponse |
(package private) static int |
INIT_BUFFER_SIZE |
private int |
maxHeaderSize |
private java.lang.String |
protocolVersion |
private TransferEncodingParser |
transferEncodingParser |
Constructor and Description |
---|
HttpParser(int maxHeaderSize,
int bufferMaxSize) |
Modifier and Type | Method and Description |
---|---|
private int |
checkCRLF(byte b1,
byte b2) |
private int |
checkEOL(java.nio.ByteBuffer input) |
private void |
decideTransferEncoding() |
private boolean |
decodeInitialLineFromBuffer(java.nio.ByteBuffer input) |
private boolean |
findEOL(java.nio.ByteBuffer input) |
private int |
findSpace(java.nio.ByteBuffer input,
int offset,
int packetLimit) |
(package private) HttpParserUtils.HeaderParsingState |
getHeaderParsingState() |
(package private) HttpResponse |
getHttpResponse() |
(package private) boolean |
isComplete() |
(package private) boolean |
isHeaderParsed() |
private boolean |
isInseparableHeader() |
(package private) void |
parse(java.nio.ByteBuffer input) |
private boolean |
parseHeader(java.nio.ByteBuffer input) |
private boolean |
parseHeaderFromBuffer(java.nio.ByteBuffer input,
boolean parsingTrailerHeaders) |
private boolean |
parseHeaderName(java.nio.ByteBuffer input) |
(package private) boolean |
parseHeadersFromBuffer(java.nio.ByteBuffer input,
boolean parsingTrailerHeaders) |
private int |
parseHeaderValue(java.nio.ByteBuffer input,
boolean parsingTrailerHeaders) |
private int |
parseInt(java.nio.ByteBuffer input,
int startIdx,
int endIdx) |
private java.lang.String |
parseString(java.nio.ByteBuffer input,
int startIdx,
int endIdx) |
(package private) void |
reset(boolean expectContent) |
private void |
saveRemaining(java.nio.ByteBuffer input) |
private static final java.lang.String ENCODING
private static final int BUFFER_STEP_SIZE
static final int INIT_BUFFER_SIZE
private final HttpParserUtils.HeaderParsingState headerParsingState
private final int bufferMaxSize
private final int maxHeaderSize
private volatile java.nio.ByteBuffer buffer
private volatile boolean headerParsed
private volatile boolean expectContent
private volatile java.lang.String protocolVersion
private volatile int code
private volatile HttpResponse httpResponse
private volatile TransferEncodingParser transferEncodingParser
private volatile boolean complete
void reset(boolean expectContent)
boolean isHeaderParsed()
boolean isComplete()
HttpResponse getHttpResponse()
void parse(java.nio.ByteBuffer input) throws ParseException
ParseException
private void saveRemaining(java.nio.ByteBuffer input)
private boolean parseHeader(java.nio.ByteBuffer input) throws ParseException
ParseException
private boolean decodeInitialLineFromBuffer(java.nio.ByteBuffer input) throws ParseException
ParseException
boolean parseHeadersFromBuffer(java.nio.ByteBuffer input, boolean parsingTrailerHeaders) throws ParseException
ParseException
private boolean parseHeaderFromBuffer(java.nio.ByteBuffer input, boolean parsingTrailerHeaders) throws ParseException
ParseException
private boolean parseHeaderName(java.nio.ByteBuffer input) throws ParseException
ParseException
private int parseHeaderValue(java.nio.ByteBuffer input, boolean parsingTrailerHeaders) throws ParseException
ParseException
private boolean isInseparableHeader()
private void decideTransferEncoding() throws ParseException
ParseException
private int findSpace(java.nio.ByteBuffer input, int offset, int packetLimit)
private boolean findEOL(java.nio.ByteBuffer input)
private int checkEOL(java.nio.ByteBuffer input)
private int checkCRLF(byte b1, byte b2)
HttpParserUtils.HeaderParsingState getHeaderParsingState()
private java.lang.String parseString(java.nio.ByteBuffer input, int startIdx, int endIdx) throws ParseException
ParseException
private int parseInt(java.nio.ByteBuffer input, int startIdx, int endIdx) throws ParseException
ParseException