Class TransferEncodingParser.ChunkedEncodingParser
- java.lang.Object
-
- org.glassfish.jersey.jdk.connector.internal.TransferEncodingParser
-
- org.glassfish.jersey.jdk.connector.internal.TransferEncodingParser.ChunkedEncodingParser
-
- Enclosing class:
- TransferEncodingParser
private static class TransferEncodingParser.ChunkedEncodingParser extends TransferEncodingParser
-
-
Field Summary
Fields Modifier and Type Field Description private static intCHUNK_LENGTH_PARSED_STATEprivate static longCHUNK_SIZE_OVERFLOWprivate HttpParserUtils.ContentParsingStatecontentParsingStateprivate static int[]DECprivate HttpParserUtils.HeaderParsingStateheaderParsingStateprivate HttpParserhttpParserprivate static intMAX_HTTP_CHUNK_SIZE_LENGTHprivate intmaxHeadersSizeprivate AsynchronousBodyInputStreamresponseBody
-
Constructor Summary
Constructors Constructor Description ChunkedEncodingParser(AsynchronousBodyInputStream responseBody, HttpParser httpParser, int maxHeadersSize)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleancheckOverflow(long chunkLength)private voidinitTrailerParsing()(package private) booleanparse(java.nio.ByteBuffer input)private booleanparseHttpChunkLength(java.nio.ByteBuffer input)private booleanparseLastChunkTrailer(java.nio.ByteBuffer input)private booleanparseTrailerCRLF(java.nio.ByteBuffer input)-
Methods inherited from class org.glassfish.jersey.jdk.connector.internal.TransferEncodingParser
createChunkParser, createFixedLengthParser
-
-
-
-
Field Detail
-
MAX_HTTP_CHUNK_SIZE_LENGTH
private static final int MAX_HTTP_CHUNK_SIZE_LENGTH
- See Also:
- Constant Field Values
-
CHUNK_SIZE_OVERFLOW
private static final long CHUNK_SIZE_OVERFLOW
- See Also:
- Constant Field Values
-
CHUNK_LENGTH_PARSED_STATE
private static final int CHUNK_LENGTH_PARSED_STATE
- See Also:
- Constant Field Values
-
DEC
private static final int[] DEC
-
contentParsingState
private final HttpParserUtils.ContentParsingState contentParsingState
-
headerParsingState
private final HttpParserUtils.HeaderParsingState headerParsingState
-
responseBody
private final AsynchronousBodyInputStream responseBody
-
httpParser
private final HttpParser httpParser
-
maxHeadersSize
private final int maxHeadersSize
-
-
Constructor Detail
-
ChunkedEncodingParser
ChunkedEncodingParser(AsynchronousBodyInputStream responseBody, HttpParser httpParser, int maxHeadersSize)
-
-
Method Detail
-
parse
boolean parse(java.nio.ByteBuffer input) throws ParseException- Specified by:
parsein classTransferEncodingParser- Throws:
ParseException
-
parseHttpChunkLength
private boolean parseHttpChunkLength(java.nio.ByteBuffer input) throws ParseException- Throws:
ParseException
-
parseTrailerCRLF
private boolean parseTrailerCRLF(java.nio.ByteBuffer input)
-
checkOverflow
private boolean checkOverflow(long chunkLength)
- Returns:
- false if next left bit-shift by 4 bits will cause overflow, or true otherwise
-
initTrailerParsing
private void initTrailerParsing()
-
parseLastChunkTrailer
private boolean parseLastChunkTrailer(java.nio.ByteBuffer input) throws ParseException- Throws:
ParseException
-
-