Class HttpParser
- java.lang.Object
-
- org.glassfish.jersey.jdk.connector.internal.HttpParser
-
class HttpParser extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description HttpParser(int maxHeaderSize, int bufferMaxSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
-
-
Field Detail
-
ENCODING
private static final java.lang.String ENCODING
- See Also:
- Constant Field Values
-
BUFFER_STEP_SIZE
private static final int BUFFER_STEP_SIZE
- See Also:
- Constant Field Values
-
INIT_BUFFER_SIZE
static final int INIT_BUFFER_SIZE
- See Also:
- Constant Field Values
-
headerParsingState
private final HttpParserUtils.HeaderParsingState headerParsingState
-
bufferMaxSize
private final int bufferMaxSize
-
maxHeaderSize
private final int maxHeaderSize
-
buffer
private volatile java.nio.ByteBuffer buffer
-
headerParsed
private volatile boolean headerParsed
-
expectContent
private volatile boolean expectContent
-
protocolVersion
private volatile java.lang.String protocolVersion
-
code
private volatile int code
-
httpResponse
private volatile HttpResponse httpResponse
-
transferEncodingParser
private volatile TransferEncodingParser transferEncodingParser
-
complete
private volatile boolean complete
-
-
Method Detail
-
reset
void reset(boolean expectContent)
-
isHeaderParsed
boolean isHeaderParsed()
-
isComplete
boolean isComplete()
-
getHttpResponse
HttpResponse getHttpResponse()
-
parse
void parse(java.nio.ByteBuffer input) throws ParseException
- Throws:
ParseException
-
saveRemaining
private void saveRemaining(java.nio.ByteBuffer input)
-
parseHeader
private boolean parseHeader(java.nio.ByteBuffer input) throws ParseException
- Throws:
ParseException
-
decodeInitialLineFromBuffer
private boolean decodeInitialLineFromBuffer(java.nio.ByteBuffer input) throws ParseException
- Throws:
ParseException
-
parseHeadersFromBuffer
boolean parseHeadersFromBuffer(java.nio.ByteBuffer input, boolean parsingTrailerHeaders) throws ParseException
- Throws:
ParseException
-
parseHeaderFromBuffer
private boolean parseHeaderFromBuffer(java.nio.ByteBuffer input, boolean parsingTrailerHeaders) throws ParseException
- Throws:
ParseException
-
parseHeaderName
private boolean parseHeaderName(java.nio.ByteBuffer input) throws ParseException
- Throws:
ParseException
-
parseHeaderValue
private int parseHeaderValue(java.nio.ByteBuffer input, boolean parsingTrailerHeaders) throws ParseException
- Throws:
ParseException
-
isInseparableHeader
private boolean isInseparableHeader()
-
decideTransferEncoding
private void decideTransferEncoding() throws ParseException
- Throws:
ParseException
-
findSpace
private int findSpace(java.nio.ByteBuffer input, int offset, int packetLimit)
-
findEOL
private boolean findEOL(java.nio.ByteBuffer input)
-
checkEOL
private int checkEOL(java.nio.ByteBuffer input)
-
checkCRLF
private int checkCRLF(byte b1, byte b2)
-
getHeaderParsingState
HttpParserUtils.HeaderParsingState getHeaderParsingState()
-
parseString
private java.lang.String parseString(java.nio.ByteBuffer input, int startIdx, int endIdx) throws ParseException
- Throws:
ParseException
-
parseInt
private int parseInt(java.nio.ByteBuffer input, int startIdx, int endIdx) throws ParseException
- Throws:
ParseException
-
-