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 int
CHUNK_LENGTH_PARSED_STATE
private static long
CHUNK_SIZE_OVERFLOW
private HttpParserUtils.ContentParsingState
contentParsingState
private static int[]
DEC
private HttpParserUtils.HeaderParsingState
headerParsingState
private HttpParser
httpParser
private static int
MAX_HTTP_CHUNK_SIZE_LENGTH
private int
maxHeadersSize
private AsynchronousBodyInputStream
responseBody
-
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 boolean
checkOverflow(long chunkLength)
private void
initTrailerParsing()
(package private) boolean
parse(java.nio.ByteBuffer input)
private boolean
parseHttpChunkLength(java.nio.ByteBuffer input)
private boolean
parseLastChunkTrailer(java.nio.ByteBuffer input)
private boolean
parseTrailerCRLF(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:
parse
in 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
-
-