public final class org.glassfish.grizzly.http.ChunkedTransferEncoding implements org.glassfish.grizzly.http.TransferEncoding
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.glassfish.grizzly.http.ChunkedTransferEncoding
super_class: java.lang.Object
{
private static final int MAX_HTTP_CHUNK_SIZE_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final long CHUNK_SIZE_OVERFLOW;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 576460752303423487
private static final int CHUNK_LENGTH_PARSED_STATE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final byte[] LAST_CHUNK_CRLF_BYTES;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] DEC;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int ;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "0\r\n"
getstatic org.glassfish.grizzly.utils.Charsets.ASCII_CHARSET:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
putstatic org.glassfish.grizzly.http.ChunkedTransferEncoding.LAST_CHUNK_CRLF_BYTES:[B
1: invokestatic org.glassfish.grizzly.http.util.HexUtils.getDecBytes:()[I
putstatic org.glassfish.grizzly.http.ChunkedTransferEncoding.DEC:[I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield org.glassfish.grizzly.http.ChunkedTransferEncoding.maxHeadersSize:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/http/ChunkedTransferEncoding;
0 3 1 maxHeadersSize I
MethodParameters:
Name Flags
maxHeadersSize final
public boolean (org.glassfish.grizzly.http.HttpHeader);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpHeader.isChunked:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/ChunkedTransferEncoding;
0 1 1 httpPacket Lorg/glassfish/grizzly/http/HttpHeader;
MethodParameters:
Name Flags
httpPacket final
public boolean (org.glassfish.grizzly.http.HttpHeader);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpHeader.isChunked:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/ChunkedTransferEncoding;
0 1 1 httpPacket Lorg/glassfish/grizzly/http/HttpHeader;
MethodParameters:
Name Flags
httpPacket final
public void (org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.http.HttpContent);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpContent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ldc "chunked"
invokevirtual org.glassfish.grizzly.http.HttpHeader.makeTransferEncodingHeader:(Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/http/ChunkedTransferEncoding;
0 2 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 2 2 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 2 3 content Lorg/glassfish/grizzly/http/HttpContent;
MethodParameters:
Name Flags
ctx final
httpHeader final
content final
public org.glassfish.grizzly.http.ParsingResult (org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.Buffer);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/ParsingResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
checkcast org.glassfish.grizzly.http.HttpPacketParsing
astore 4
start local 4 1: aload 4
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getContentParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$ContentParsingState;
astore 5
start local 5 2: aload 5
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.isLastChunk:Z
istore 6
start local 6 3: iload 6
ifne 11
aload 5
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkRemainder:J
lconst_0
lcmp
ifgt 11
4: aload 4
aload 3
invokestatic org.glassfish.grizzly.http.ChunkedTransferEncoding.parseTrailerCRLF:(Lorg/glassfish/grizzly/http/HttpPacketParsing;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 3
5: aload 3
ifnonnull 7
6: aconst_null
aconst_null
invokestatic org.glassfish.grizzly.http.ParsingResult.create:(Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/ParsingResult;
areturn
7: StackMap locals: org.glassfish.grizzly.http.HttpPacketParsing org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState int
StackMap stack:
aload 4
aload 3
invokestatic org.glassfish.grizzly.http.ChunkedTransferEncoding.parseHttpChunkLength:(Lorg/glassfish/grizzly/http/HttpPacketParsing;Lorg/glassfish/grizzly/Buffer;)Z
ifne 12
8: aload 2
invokestatic org.glassfish.grizzly.http.ChunkedTransferEncoding.isHeadRequest:(Lorg/glassfish/grizzly/http/HttpHeader;)Z
ifeq 10
9: aload 2
invokevirtual org.glassfish.grizzly.http.HttpHeader.httpTrailerBuilder:()Lorg/glassfish/grizzly/http/HttpTrailer$Builder;
aload 5
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.trailerHeaders:Lorg/glassfish/grizzly/http/util/MimeHeaders;
invokevirtual org.glassfish.grizzly.http.HttpTrailer$Builder.headers:(Lorg/glassfish/grizzly/http/util/MimeHeaders;)Lorg/glassfish/grizzly/http/HttpTrailer$Builder;
invokevirtual org.glassfish.grizzly.http.HttpTrailer$Builder.build:()Lorg/glassfish/grizzly/http/HttpTrailer;
aconst_null
invokestatic org.glassfish.grizzly.http.ParsingResult.create:(Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/ParsingResult;
areturn
10: StackMap locals:
StackMap stack:
aconst_null
aload 3
iconst_0
invokestatic org.glassfish.grizzly.http.ParsingResult.create:(Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/Buffer;Z)Lorg/glassfish/grizzly/http/ParsingResult;
areturn
11: StackMap locals:
StackMap stack:
aload 5
iconst_0
putfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkContentStart:I
12: StackMap locals:
StackMap stack:
aload 5
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkContentStart:I
istore 7
start local 7 13: aload 5
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkLength:J
lconst_0
lcmp
ifne 21
14: iload 6
ifne 18
15: aload 5
iconst_1
putfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.isLastChunk:Z
16: iconst_1
istore 6
17: aload 0
aload 4
invokevirtual org.glassfish.grizzly.http.ChunkedTransferEncoding.initTrailerParsing:(Lorg/glassfish/grizzly/http/HttpPacketParsing;)V
18: StackMap locals: int
StackMap stack:
aload 0
aload 1
aload 2
aload 4
aload 3
invokevirtual org.glassfish.grizzly.http.ChunkedTransferEncoding.parseLastChunkTrailer:(Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpPacketParsing;Lorg/glassfish/grizzly/Buffer;)Z
ifne 20
19: aconst_null
aload 3
invokestatic org.glassfish.grizzly.http.ParsingResult.create:(Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/ParsingResult;
areturn
20: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getHeaderParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.offset:I
istore 7
21: StackMap locals:
StackMap stack:
aload 5
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkRemainder:J
lstore 8
start local 8 22: aload 3
invokeinterface org.glassfish.grizzly.Buffer.limit:()I
iload 7
isub
istore 10
start local 10 23: aconst_null
astore 11
start local 11 24: iload 10
i2l
lload 8
lcmp
ifle 28
25: aload 3
iload 7
i2l
lload 8
ladd
l2i
invokeinterface org.glassfish.grizzly.Buffer.split:(I)Lorg/glassfish/grizzly/Buffer;
astore 11
26: aload 3
iload 7
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
27: goto 30
StackMap locals: long int org.glassfish.grizzly.Buffer
StackMap stack:
28: iload 7
ifle 30
29: aload 3
iload 7
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
30: StackMap locals:
StackMap stack:
iload 6
ifeq 32
31: aload 2
invokevirtual org.glassfish.grizzly.http.HttpHeader.httpTrailerBuilder:()Lorg/glassfish/grizzly/http/HttpTrailer$Builder;
aload 5
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.trailerHeaders:Lorg/glassfish/grizzly/http/util/MimeHeaders;
invokevirtual org.glassfish.grizzly.http.HttpTrailer$Builder.headers:(Lorg/glassfish/grizzly/http/util/MimeHeaders;)Lorg/glassfish/grizzly/http/HttpTrailer$Builder;
invokevirtual org.glassfish.grizzly.http.HttpTrailer$Builder.build:()Lorg/glassfish/grizzly/http/HttpTrailer;
aload 11
invokestatic org.glassfish.grizzly.http.ParsingResult.create:(Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/ParsingResult;
areturn
32: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.glassfish.grizzly.Buffer.shrink:()V
33: aload 3
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifeq 36
34: aload 5
dup
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkRemainder:J
aload 3
invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
i2l
lsub
putfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkRemainder:J
35: goto 38
36: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.glassfish.grizzly.Buffer.tryDispose:()Z
pop
37: getstatic org.glassfish.grizzly.memory.Buffers.EMPTY_BUFFER:Lorg/glassfish/grizzly/Buffer;
astore 3
38: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.glassfish.grizzly.http.HttpHeader.httpContentBuilder:()Lorg/glassfish/grizzly/http/HttpContent$Builder;
aload 3
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.content:(Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.build:()Lorg/glassfish/grizzly/http/HttpContent;
aload 11
invokestatic org.glassfish.grizzly.http.ParsingResult.create:(Lorg/glassfish/grizzly/http/HttpContent;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/http/ParsingResult;
areturn
end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/glassfish/grizzly/http/ChunkedTransferEncoding;
0 39 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 39 2 httpPacket Lorg/glassfish/grizzly/http/HttpHeader;
0 39 3 buffer Lorg/glassfish/grizzly/Buffer;
1 39 4 httpPacketParsing Lorg/glassfish/grizzly/http/HttpPacketParsing;
2 39 5 contentParsingState Lorg/glassfish/grizzly/http/HttpCodecFilter$ContentParsingState;
3 39 6 isLastChunk Z
13 39 7 chunkContentStart I
22 39 8 thisPacketRemaining J
23 39 10 contentAvailable I
24 39 11 remainder Lorg/glassfish/grizzly/Buffer;
MethodParameters:
Name Flags
ctx final
httpPacket final
buffer
public org.glassfish.grizzly.Buffer serializePacket(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpContent);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpContent;)Lorg/glassfish/grizzly/Buffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
aload 2
aload 2
invokevirtual org.glassfish.grizzly.http.HttpContent.isLast:()Z
invokestatic org.glassfish.grizzly.http.ChunkedTransferEncoding.encodeHttpChunk:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/http/HttpContent;Z)Lorg/glassfish/grizzly/Buffer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/ChunkedTransferEncoding;
0 1 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 1 2 httpContent Lorg/glassfish/grizzly/http/HttpContent;
MethodParameters:
Name Flags
ctx final
httpContent final
private void initTrailerParsing(org.glassfish.grizzly.http.HttpPacketParsing);
descriptor: (Lorg/glassfish/grizzly/http/HttpPacketParsing;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getHeaderParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
astore 2
start local 2 1: aload 1
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getContentParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$ContentParsingState;
astore 3
start local 3 2: aload 2
iconst_0
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.subState:I
3: aload 3
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkContentStart:I
istore 4
start local 4 4: aload 2
iload 4
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.start:I
5: aload 2
iload 4
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.offset:I
6: aload 2
iload 4
aload 0
getfield org.glassfish.grizzly.http.ChunkedTransferEncoding.maxHeadersSize:I
iadd
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.packetLimit:I
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/http/ChunkedTransferEncoding;
0 8 1 httpPacket Lorg/glassfish/grizzly/http/HttpPacketParsing;
1 8 2 headerParsingState Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
2 8 3 contentParsingState Lorg/glassfish/grizzly/http/HttpCodecFilter$ContentParsingState;
4 8 4 start I
MethodParameters:
Name Flags
httpPacket
private boolean (org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.http.HttpHeader, org.glassfish.grizzly.http.HttpPacketParsing, org.glassfish.grizzly.Buffer);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/HttpPacketParsing;Lorg/glassfish/grizzly/Buffer;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getHeaderParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
astore 5
start local 5 1: aload 3
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getContentParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$ContentParsingState;
astore 6
start local 6 2: aload 5
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.codecFilter:Lorg/glassfish/grizzly/http/HttpCodecFilter;
astore 7
start local 7 3: aload 7
aload 2
aload 6
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.trailerHeaders:Lorg/glassfish/grizzly/http/util/MimeHeaders;
aload 5
aload 4
invokevirtual org.glassfish.grizzly.http.HttpCodecFilter.parseHeadersFromBuffer:(Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/util/MimeHeaders;Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;Lorg/glassfish/grizzly/Buffer;)Z
istore 8
start local 8 4: iload 8
ifeq 8
5: aload 6
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.trailerHeaders:Lorg/glassfish/grizzly/http/util/MimeHeaders;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.size:()I
ifle 9
6: aload 7
aload 2
aload 6
getfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.trailerHeaders:Lorg/glassfish/grizzly/http/util/MimeHeaders;
aload 1
invokevirtual org.glassfish.grizzly.http.HttpCodecFilter.onHttpHeadersParsed:(Lorg/glassfish/grizzly/http/HttpHeader;Lorg/glassfish/grizzly/http/util/MimeHeaders;Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
7: goto 9
8: StackMap locals: org.glassfish.grizzly.http.ChunkedTransferEncoding org.glassfish.grizzly.filterchain.FilterChainContext org.glassfish.grizzly.http.HttpHeader org.glassfish.grizzly.http.HttpPacketParsing org.glassfish.grizzly.Buffer org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState org.glassfish.grizzly.http.HttpCodecFilter int
StackMap stack:
aload 5
aload 4
invokeinterface org.glassfish.grizzly.Buffer.limit:()I
ldc "The chunked encoding trailer header is too large"
invokevirtual org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.checkOverflow:(ILjava/lang/String;)V
9: StackMap locals:
StackMap stack:
iload 8
ireturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/glassfish/grizzly/http/ChunkedTransferEncoding;
0 10 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 10 2 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 10 3 httpPacket Lorg/glassfish/grizzly/http/HttpPacketParsing;
0 10 4 input Lorg/glassfish/grizzly/Buffer;
1 10 5 headerParsingState Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
2 10 6 contentParsingState Lorg/glassfish/grizzly/http/HttpCodecFilter$ContentParsingState;
3 10 7 filter Lorg/glassfish/grizzly/http/HttpCodecFilter;
4 10 8 result Z
MethodParameters:
Name Flags
ctx final
httpHeader final
httpPacket final
input final
private static boolean parseHttpChunkLength(org.glassfish.grizzly.http.HttpPacketParsing, org.glassfish.grizzly.Buffer);
descriptor: (Lorg/glassfish/grizzly/http/HttpPacketParsing;Lorg/glassfish/grizzly/Buffer;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getHeaderParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
astore 2
start local 2 1: StackMap locals: org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState
StackMap stack:
aload 2
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.state:I
tableswitch { // 0 - 2
0: 2
1: 6
2: 14
default: 42
}
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 3
start local 3 3: aload 2
iload 3
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.start:I
4: aload 2
iload 3
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.offset:I
5: aload 2
iload 3
bipush 16
iadd
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.packetLimit:I
end local 3 6: StackMap locals:
StackMap stack:
aload 1
aload 2
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.offset:I
aload 2
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.packetLimit:I
invokestatic org.glassfish.grizzly.http.util.HttpCodecUtils.skipSpaces:(Lorg/glassfish/grizzly/Buffer;II)I
istore 3
start local 3 7: iload 3
iconst_m1
if_icmpne 12
8: aload 2
aload 1
invokeinterface org.glassfish.grizzly.Buffer.limit:()I
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.offset:I
9: aload 2
iconst_1
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.state:I
10: aload 2
aload 1
invokeinterface org.glassfish.grizzly.Buffer.limit:()I
ldc "The chunked encoding length prefix is too large"
invokevirtual org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.checkOverflow:(ILjava/lang/String;)V
11: iconst_0
ireturn
12: StackMap locals: int
StackMap stack:
aload 2
iload 3
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.offset:I
13: aload 2
iconst_2
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.state:I
end local 3 14: StackMap locals:
StackMap stack:
aload 2
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.offset:I
istore 3
start local 3 15: aload 2
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.packetLimit:I
aload 1
invokeinterface org.glassfish.grizzly.Buffer.limit:()I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 16: aload 2
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.parsingNumericValue:J
lstore 5
start local 5 17: goto 37
18: StackMap locals: int int long
StackMap stack:
aload 1
iload 3
invokeinterface org.glassfish.grizzly.Buffer.get:(I)B
istore 7
start local 7 19: iload 7
invokestatic org.glassfish.grizzly.http.util.HttpCodecUtils.isSpaceOrTab:(B)Z
ifne 21
20: iload 7
bipush 13
if_icmpeq 21
iload 7
bipush 59
if_icmpne 23
21: StackMap locals: int
StackMap stack:
aload 2
iload 3
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.checkpoint:I
22: goto 36
StackMap locals:
StackMap stack:
23: iload 7
bipush 10
if_icmpne 30
24: aload 0
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getContentParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$ContentParsingState;
astore 8
start local 8 25: aload 8
iload 3
iconst_1
iadd
putfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkContentStart:I
26: aload 8
lload 5
putfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkLength:J
27: aload 8
lload 5
putfield org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState.chunkRemainder:J
28: aload 2
iconst_3
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.state:I
29: iconst_1
ireturn
end local 8 30: StackMap locals:
StackMap stack:
aload 2
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.checkpoint:I
iconst_m1
if_icmpne 35
31: getstatic org.glassfish.grizzly.http.ChunkedTransferEncoding.DEC:[I
iload 7
sipush 255
iand
iaload
iconst_m1
if_icmpeq 34
lload 5
invokestatic org.glassfish.grizzly.http.ChunkedTransferEncoding.checkOverflow:(J)Z
ifeq 34
32: lload 5
iconst_4
lshl
getstatic org.glassfish.grizzly.http.ChunkedTransferEncoding.DEC:[I
iload 7
sipush 255
iand
iaload
i2l
ladd
lstore 5
33: goto 36
34: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.http.HttpBrokenContentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid byte representing a hex value within a chunk length encountered : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.glassfish.grizzly.http.HttpBrokenContentException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.http.HttpBrokenContentException
dup
ldc "Unexpected HTTP chunk header"
invokespecial org.glassfish.grizzly.http.HttpBrokenContentException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
iinc 3 1
end local 7 37: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmplt 18
38: aload 2
lload 5
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.parsingNumericValue:J
39: aload 2
iload 4
putfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.offset:I
40: aload 2
iload 4
ldc "The chunked encoding length prefix is too large"
invokevirtual org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.checkOverflow:(ILjava/lang/String;)V
41: iconst_0
ireturn
end local 5 end local 4 end local 3 42: StackMap locals:
StackMap stack:
goto 1
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 httpPacket Lorg/glassfish/grizzly/http/HttpPacketParsing;
0 43 1 input Lorg/glassfish/grizzly/Buffer;
1 43 2 parsingState Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
3 6 3 pos I
7 14 3 nonSpaceIdx I
15 42 3 offset I
16 42 4 limit I
17 42 5 value J
19 37 7 b B
25 30 8 contentParsingState Lorg/glassfish/grizzly/http/HttpCodecFilter$ContentParsingState;
MethodParameters:
Name Flags
httpPacket final
input final
private static boolean checkOverflow(long);
descriptor: (J)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: lload 0
ldc 576460752303423487
lcmp
ifgt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 value J
MethodParameters:
Name Flags
value final
private static boolean (org.glassfish.grizzly.http.HttpHeader);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.glassfish.grizzly.http.HttpHeader.isRequest:()Z
ifeq 1
aload 0
checkcast org.glassfish.grizzly.http.HttpRequestPacket
goto 2
StackMap locals:
StackMap stack:
1: aload 0
checkcast org.glassfish.grizzly.http.HttpResponsePacket
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
StackMap locals:
StackMap stack: org.glassfish.grizzly.http.HttpRequestPacket
2: astore 1
start local 1 3: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.isHeadRequest:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 header Lorg/glassfish/grizzly/http/HttpHeader;
3 4 1 request Lorg/glassfish/grizzly/http/HttpRequestPacket;
MethodParameters:
Name Flags
header final
private static org.glassfish.grizzly.Buffer parseTrailerCRLF(org.glassfish.grizzly.http.HttpPacketParsing, org.glassfish.grizzly.Buffer);
descriptor: (Lorg/glassfish/grizzly/http/HttpPacketParsing;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.glassfish.grizzly.http.HttpPacketParsing.getHeaderParsingState:()Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
astore 2
start local 2 1: aload 2
getfield org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.state:I
iconst_3
if_icmpne 10
2: goto 8
3: StackMap locals: org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState
StackMap stack:
aload 1
invokeinterface org.glassfish.grizzly.Buffer.get:()B
bipush 10
if_icmpne 8
4: aload 2
invokevirtual org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState.recycle:()V
5: aload 1
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifeq 7
6: aload 1
invokeinterface org.glassfish.grizzly.Buffer.slice:()Lorg/glassfish/grizzly/Buffer;
areturn
7: StackMap locals:
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifne 3
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 httpPacket Lorg/glassfish/grizzly/http/HttpPacketParsing;
0 11 1 input Lorg/glassfish/grizzly/Buffer;
1 11 2 parsingState Lorg/glassfish/grizzly/http/HttpCodecFilter$HeaderParsingState;
MethodParameters:
Name Flags
httpPacket final
input final
private static org.glassfish.grizzly.Buffer encodeHttpChunk(org.glassfish.grizzly.memory.MemoryManager, org.glassfish.grizzly.http.HttpContent, boolean);
descriptor: (Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/http/HttpContent;Z)Lorg/glassfish/grizzly/Buffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpContent.getContent:()Lorg/glassfish/grizzly/Buffer;
astore 3
start local 3 1: aload 0
bipush 16
invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
astore 4
start local 4 2: aload 3
invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
istore 5
start local 5 3: aload 4
iload 5
invokestatic org.glassfish.grizzly.http.util.Ascii.intToHexString:(Lorg/glassfish/grizzly/Buffer;I)V
4: aload 0
aload 4
getstatic org.glassfish.grizzly.http.HttpCodecFilter.CRLF_BYTES:[B
invokestatic org.glassfish.grizzly.http.util.HttpCodecUtils.put:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;[B)Lorg/glassfish/grizzly/Buffer;
astore 4
5: aload 4
invokeinterface org.glassfish.grizzly.Buffer.trim:()V
6: aload 4
iconst_1
invokeinterface org.glassfish.grizzly.Buffer.allowBufferDispose:(Z)V
7: iload 5
ifle 8
iconst_1
goto 9
StackMap locals: org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer int
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 6
start local 6 10: iload 6
ifeq 16
11: aload 0
aload 4
aload 3
invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 4
12: aload 4
invokeinterface org.glassfish.grizzly.Buffer.isComposite:()Z
ifeq 16
13: aload 4
iconst_1
invokeinterface org.glassfish.grizzly.Buffer.allowBufferDispose:(Z)V
14: aload 4
checkcast org.glassfish.grizzly.memory.CompositeBuffer
iconst_1
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.allowInternalBuffersDispose:(Z)V
15: aload 4
checkcast org.glassfish.grizzly.memory.CompositeBuffer
getstatic org.glassfish.grizzly.memory.CompositeBuffer$DisposeOrder.FIRST_TO_LAST:Lorg/glassfish/grizzly/memory/CompositeBuffer$DisposeOrder;
invokevirtual org.glassfish.grizzly.memory.CompositeBuffer.disposeOrder:(Lorg/glassfish/grizzly/memory/CompositeBuffer$DisposeOrder;)Lorg/glassfish/grizzly/memory/CompositeBuffer;
pop
16: StackMap locals: int
StackMap stack:
iload 2
ifne 19
17: aload 0
iconst_2
invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
astore 7
start local 7 18: goto 35
end local 7 19: StackMap locals:
StackMap stack:
aload 1
invokestatic org.glassfish.grizzly.http.HttpTrailer.isTrailer:(Lorg/glassfish/grizzly/http/HttpContent;)Z
ifeq 20
aload 1
checkcast org.glassfish.grizzly.http.HttpTrailer
invokevirtual org.glassfish.grizzly.http.HttpTrailer.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.size:()I
ifle 20
iconst_1
goto 21
StackMap locals:
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 8
start local 8 22: iload 8
ifne 25
23: aload 0
bipush 8
invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
astore 7
start local 7 24: goto 26
end local 7 25: StackMap locals: org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.http.HttpContent int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer int int top int
StackMap stack:
aload 0
sipush 256
invokeinterface org.glassfish.grizzly.memory.MemoryManager.allocate:(I)Lorg/glassfish/grizzly/Buffer;
astore 7
start local 7 26: StackMap locals: org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.http.HttpContent int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer int int org.glassfish.grizzly.Buffer int
StackMap stack:
iload 6
ifeq 29
27: aload 0
aload 7
getstatic org.glassfish.grizzly.http.HttpCodecFilter.CRLF_BYTES:[B
invokestatic org.glassfish.grizzly.http.util.HttpCodecUtils.put:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;[B)Lorg/glassfish/grizzly/Buffer;
astore 7
28: aload 0
aload 7
getstatic org.glassfish.grizzly.http.ChunkedTransferEncoding.LAST_CHUNK_CRLF_BYTES:[B
invokestatic org.glassfish.grizzly.http.util.HttpCodecUtils.put:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;[B)Lorg/glassfish/grizzly/Buffer;
astore 7
29: StackMap locals:
StackMap stack:
iload 8
ifeq 35
30: aload 1
checkcast org.glassfish.grizzly.http.HttpTrailer
astore 9
start local 9 31: aload 9
invokevirtual org.glassfish.grizzly.http.HttpTrailer.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
astore 10
start local 10 32: aload 0
aload 7
aload 10
33: aload 1
invokevirtual org.glassfish.grizzly.http.HttpContent.getHttpHeader:()Lorg/glassfish/grizzly/http/HttpHeader;
invokevirtual org.glassfish.grizzly.http.HttpHeader.getTempHeaderEncodingBuffer:()[B
34: invokestatic org.glassfish.grizzly.http.HttpCodecFilter.encodeMimeHeaders:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/http/util/MimeHeaders;[B)Lorg/glassfish/grizzly/Buffer;
astore 7
end local 10 end local 9 end local 8 35: StackMap locals:
StackMap stack:
aload 0
aload 7
getstatic org.glassfish.grizzly.http.HttpCodecFilter.CRLF_BYTES:[B
invokestatic org.glassfish.grizzly.http.util.HttpCodecUtils.put:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;[B)Lorg/glassfish/grizzly/Buffer;
astore 7
36: aload 7
invokeinterface org.glassfish.grizzly.Buffer.trim:()V
37: aload 7
iconst_1
invokeinterface org.glassfish.grizzly.Buffer.allowBufferDispose:(Z)V
38: aload 0
aload 4
aload 7
invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 memoryManager Lorg/glassfish/grizzly/memory/MemoryManager;
0 39 1 httpContent Lorg/glassfish/grizzly/http/HttpContent;
0 39 2 isLastChunk Z
1 39 3 content Lorg/glassfish/grizzly/Buffer;
2 39 4 httpChunkBuffer Lorg/glassfish/grizzly/Buffer;
3 39 5 chunkSize I
10 39 6 hasContent Z
18 19 7 httpChunkTrailer Lorg/glassfish/grizzly/Buffer;
24 25 7 httpChunkTrailer Lorg/glassfish/grizzly/Buffer;
26 39 7 httpChunkTrailer Lorg/glassfish/grizzly/Buffer;
22 35 8 isTrailer Z
31 35 9 httpTrailer Lorg/glassfish/grizzly/http/HttpTrailer;
32 35 10 mimeHeaders Lorg/glassfish/grizzly/http/util/MimeHeaders;
MethodParameters:
Name Flags
memoryManager final
httpContent final
isLastChunk final
}
SourceFile: "ChunkedTransferEncoding.java"
InnerClasses:
public final ContentParsingState = org.glassfish.grizzly.http.HttpCodecFilter$ContentParsingState of org.glassfish.grizzly.http.HttpCodecFilter
public final HeaderParsingState = org.glassfish.grizzly.http.HttpCodecFilter$HeaderParsingState of org.glassfish.grizzly.http.HttpCodecFilter
public Builder = org.glassfish.grizzly.http.HttpContent$Builder of org.glassfish.grizzly.http.HttpContent
public final Builder = org.glassfish.grizzly.http.HttpTrailer$Builder of org.glassfish.grizzly.http.HttpTrailer
public final DisposeOrder = org.glassfish.grizzly.memory.CompositeBuffer$DisposeOrder of org.glassfish.grizzly.memory.CompositeBuffer