public abstract class io.netty.handler.codec.http.HttpObjectDecoder extends io.netty.handler.codec.ByteToMessageDecoder
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.handler.codec.http.HttpObjectDecoder
super_class: io.netty.handler.codec.ByteToMessageDecoder
{
private static final java.lang.String EMPTY_VALUE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: ""
private final int maxChunkSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean chunkedSupported;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final boolean validateHeaders;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser headerParser;
descriptor: Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.codec.http.HttpObjectDecoder$LineParser lineParser;
descriptor: Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.handler.codec.http.HttpMessage message;
descriptor: Lio/netty/handler/codec/http/HttpMessage;
flags: (0x0002) ACC_PRIVATE
private long chunkSize;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long contentLength;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private volatile boolean resetRequested;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private java.lang.CharSequence name;
descriptor: Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
private java.lang.CharSequence value;
descriptor: Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.codec.http.LastHttpContent trailer;
descriptor: Lio/netty/handler/codec/http/LastHttpContent;
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.codec.http.HttpObjectDecoder$State currentState;
descriptor: Lio/netty/handler/codec/http/HttpObjectDecoder$State;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/handler/codec/http/HttpObjectDecoder;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.handler.codec.http.HttpObjectDecoder.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
sipush 4096
sipush 8192
sipush 8192
iconst_1
invokespecial io.netty.handler.codec.http.HttpObjectDecoder.<init>:(IIIZ)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
protected void <init>(int, int, int, boolean);
descriptor: (IIIZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
iload 3
iload 4
iconst_1
invokespecial io.netty.handler.codec.http.HttpObjectDecoder.<init>:(IIIZZ)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 2 1 maxInitialLineLength I
0 2 2 maxHeaderSize I
0 2 3 maxChunkSize I
0 2 4 chunkedSupported Z
MethodParameters:
Name Flags
maxInitialLineLength
maxHeaderSize
maxChunkSize
chunkedSupported
protected void <init>(int, int, int, boolean, boolean);
descriptor: (IIIZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
iload 2
iload 3
iload 4
iload 5
sipush 128
invokespecial io.netty.handler.codec.http.HttpObjectDecoder.<init>:(IIIZZI)V
1: return
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 2 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 2 1 maxInitialLineLength I
0 2 2 maxHeaderSize I
0 2 3 maxChunkSize I
0 2 4 chunkedSupported Z
0 2 5 validateHeaders Z
MethodParameters:
Name Flags
maxInitialLineLength
maxHeaderSize
maxChunkSize
chunkedSupported
validateHeaders
protected void <init>(int, int, int, boolean, boolean, int);
descriptor: (IIIZZI)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
1: aload 0
ldc -9223372036854775808
putfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
2: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
3: iload 1
ifgt 9
4: new java.lang.IllegalArgumentException
dup
5: new java.lang.StringBuilder
dup
ldc "maxInitialLineLength must be a positive integer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder int int int int int int
StackMap stack:
iload 2
ifgt 15
10: new java.lang.IllegalArgumentException
dup
11: new java.lang.StringBuilder
dup
ldc "maxHeaderSize must be a positive integer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
iload 3
ifgt 21
16: new java.lang.IllegalArgumentException
dup
17: new java.lang.StringBuilder
dup
ldc "maxChunkSize must be a positive integer: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
19: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
new io.netty.util.internal.AppendableCharSequence
dup
iload 6
invokespecial io.netty.util.internal.AppendableCharSequence.<init>:(I)V
astore 7
start local 7 22: aload 0
new io.netty.handler.codec.http.HttpObjectDecoder$LineParser
dup
aload 7
iload 1
invokespecial io.netty.handler.codec.http.HttpObjectDecoder$LineParser.<init>:(Lio/netty/util/internal/AppendableCharSequence;I)V
putfield io.netty.handler.codec.http.HttpObjectDecoder.lineParser:Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
23: aload 0
new io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser
dup
aload 7
iload 2
invokespecial io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.<init>:(Lio/netty/util/internal/AppendableCharSequence;I)V
putfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
24: aload 0
iload 3
putfield io.netty.handler.codec.http.HttpObjectDecoder.maxChunkSize:I
25: aload 0
iload 4
putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkedSupported:Z
26: aload 0
iload 5
putfield io.netty.handler.codec.http.HttpObjectDecoder.validateHeaders:Z
27: return
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 28 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 28 1 maxInitialLineLength I
0 28 2 maxHeaderSize I
0 28 3 maxChunkSize I
0 28 4 chunkedSupported Z
0 28 5 validateHeaders Z
0 28 6 initialBufferSize I
22 28 7 seq Lio/netty/util/internal/AppendableCharSequence;
MethodParameters:
Name Flags
maxInitialLineLength
maxHeaderSize
maxChunkSize
chunkedSupported
validateHeaders
initialBufferSize
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.resetRequested:Z
ifeq 2
1: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
2: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:()[I
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
iaload
tableswitch { // 1 - 11
1: 3
2: 6
3: 19
4: 47
5: 52
6: 66
7: 79
8: 90
9: 100
10: 109
11: 111
default: 114
}
3: StackMap locals:
StackMap stack:
aload 2
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.skipControlCharacters:(Lio/netty/buffer/ByteBuf;)Z
ifne 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_INITIAL:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
6: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.lineParser:Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
aload 2
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$LineParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
astore 4
start local 4 7: aload 4
ifnonnull 9
8: return
9: StackMap locals: io.netty.util.internal.AppendableCharSequence
StackMap stack:
aload 4
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.splitInitialLine:(Lio/netty/util/internal/AppendableCharSequence;)[Ljava/lang/String;
astore 5
start local 5 10: aload 5
arraylength
iconst_3
if_icmpge 13
11: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
12: return
13: StackMap locals: java.lang.String[]
StackMap stack:
aload 0
aload 0
aload 5
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.createMessage:([Ljava/lang/String;)Lio/netty/handler/codec/http/HttpMessage;
putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
14: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_HEADER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
end local 5 end local 4 15: goto 19
StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
StackMap stack: java.lang.Exception
16: astore 4
start local 4 17: aload 3
aload 0
aload 2
aload 4
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidMessage:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpMessage;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: return
end local 4 19: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.readHeaders:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/http/HttpObjectDecoder$State;
astore 4
start local 4 20: aload 4
ifnonnull 22
21: return
22: StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder$State
StackMap stack:
aload 0
aload 4
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
23: invokestatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:()[I
aload 4
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
iaload
lookupswitch { // 2
1: 24
6: 28
default: 32
}
24: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: aload 3
getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
27: return
28: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkedSupported:Z
ifne 30
29: new java.lang.IllegalArgumentException
dup
ldc "Chunked messages not supported"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
31: return
32: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.contentLength:()J
lstore 5
start local 5 33: lload 5
lconst_0
lcmp
ifeq 34
lload 5
ldc -1
lcmp
ifne 38
aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isDecodingRequest:()Z
ifeq 38
34: StackMap locals: long
StackMap stack:
aload 3
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
35: aload 3
getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
36: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
37: return
38: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http.HttpObjectDecoder.$assertionsDisabled:Z
ifne 40
aload 4
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_FIXED_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
if_acmpeq 40
39: aload 4
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_VARIABLE_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
if_acmpeq 40
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
40: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
41: aload 4
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_FIXED_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
if_acmpne 43
42: aload 0
lload 5
putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
43: StackMap locals:
StackMap stack:
return
end local 5 end local 4 44: StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
StackMap stack: java.lang.Exception
astore 4
start local 4 45: aload 3
aload 0
aload 2
aload 4
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidMessage:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpMessage;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
46: return
end local 4 47: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.maxChunkSize:I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 48: iload 4
ifle 51
49: aload 2
iload 4
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
astore 5
start local 5 50: aload 3
new io.netty.handler.codec.http.DefaultHttpContent
dup
aload 5
invokespecial io.netty.handler.codec.http.DefaultHttpContent.<init>:(Lio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 51: StackMap locals: int
StackMap stack:
return
end local 4 52: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 4
start local 4 53: iload 4
ifne 55
54: return
55: StackMap locals: int
StackMap stack:
iload 4
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.maxChunkSize:I
invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 56: iload 5
i2l
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
lcmp
ifle 58
57: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
l2i
istore 5
58: StackMap locals: int
StackMap stack:
aload 2
iload 5
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
astore 6
start local 6 59: aload 0
dup
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
iload 5
i2l
lsub
putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
60: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
lconst_0
lcmp
ifne 64
61: aload 3
new io.netty.handler.codec.http.DefaultLastHttpContent
dup
aload 6
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.validateHeaders:Z
invokespecial io.netty.handler.codec.http.DefaultLastHttpContent.<init>:(Lio/netty/buffer/ByteBuf;Z)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
62: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
63: goto 65
64: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 3
new io.netty.handler.codec.http.DefaultHttpContent
dup
aload 6
invokespecial io.netty.handler.codec.http.DefaultHttpContent.<init>:(Lio/netty/buffer/ByteBuf;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
65: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 66: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.lineParser:Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
aload 2
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$LineParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
astore 4
start local 4 67: aload 4
ifnonnull 69
68: return
69: StackMap locals: io.netty.util.internal.AppendableCharSequence
StackMap stack:
aload 4
invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.getChunkSize:(Ljava/lang/String;)I
istore 5
start local 5 70: aload 0
iload 5
i2l
putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
71: iload 5
ifne 74
72: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_FOOTER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
73: return
74: StackMap locals: int
StackMap stack:
aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNKED_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
end local 5 end local 4 75: goto 79
StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
StackMap stack: java.lang.Exception
76: astore 4
start local 4 77: aload 3
aload 0
aload 2
aload 4
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidChunk:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpContent;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
78: return
end local 4 79: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http.HttpObjectDecoder.$assertionsDisabled:Z
ifne 80
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
ldc 2147483647
lcmp
ifle 80
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
80: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
l2i
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.maxChunkSize:I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 81: iload 4
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokestatic java.lang.Math.min:(II)I
istore 4
82: iload 4
ifne 84
83: return
84: StackMap locals: int
StackMap stack:
new io.netty.handler.codec.http.DefaultHttpContent
dup
aload 2
iload 4
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
invokespecial io.netty.handler.codec.http.DefaultHttpContent.<init>:(Lio/netty/buffer/ByteBuf;)V
astore 5
start local 5 85: aload 0
dup
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
iload 4
i2l
lsub
putfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
86: aload 3
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
87: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.chunkSize:J
lconst_0
lcmp
ifeq 89
88: return
89: StackMap locals: io.netty.handler.codec.http.HttpContent
StackMap stack:
aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_DELIMITER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
end local 5 end local 4 90: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
istore 4
start local 4 91: aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 5
start local 5 92: goto 97
93: StackMap locals: int int
StackMap stack:
aload 2
iload 5
iinc 5 1
invokevirtual io.netty.buffer.ByteBuf.getByte:(I)B
istore 6
start local 6 94: iload 6
bipush 10
if_icmpne 97
95: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_SIZE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
96: goto 98
end local 6 97: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmpgt 93
98: StackMap locals:
StackMap stack:
aload 2
iload 5
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
99: return
end local 5 end local 4 100: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.readTrailingHeaders:(Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/http/LastHttpContent;
astore 4
start local 4 101: aload 4
ifnonnull 103
102: return
103: StackMap locals: io.netty.handler.codec.http.LastHttpContent
StackMap stack:
aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
104: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
105: return
end local 4 106: StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List
StackMap stack: java.lang.Exception
astore 4
start local 4 107: aload 3
aload 0
aload 2
aload 4
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidChunk:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpContent;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
108: return
end local 4 109: StackMap locals:
StackMap stack:
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
110: goto 114
111: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 4
start local 4 112: iload 4
ifle 114
113: aload 3
aload 2
iload 4
invokevirtual io.netty.buffer.ByteBuf.readBytes:(I)Lio/netty/buffer/ByteBuf;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 114: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 115 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 115 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 115 2 buffer Lio/netty/buffer/ByteBuf;
0 115 3 out Ljava/util/List<Ljava/lang/Object;>;
7 15 4 line Lio/netty/util/internal/AppendableCharSequence;
10 15 5 initialLine [Ljava/lang/String;
17 19 4 e Ljava/lang/Exception;
20 44 4 nextState Lio/netty/handler/codec/http/HttpObjectDecoder$State;
33 44 5 contentLength J
45 47 4 e Ljava/lang/Exception;
48 52 4 toRead I
50 51 5 content Lio/netty/buffer/ByteBuf;
53 66 4 readLimit I
56 66 5 toRead I
59 66 6 content Lio/netty/buffer/ByteBuf;
67 75 4 line Lio/netty/util/internal/AppendableCharSequence;
70 75 5 chunkSize I
77 79 4 e Ljava/lang/Exception;
81 90 4 toRead I
85 90 5 chunk Lio/netty/handler/codec/http/HttpContent;
91 100 4 wIdx I
92 100 5 rIdx I
94 97 6 next B
101 106 4 trailer Lio/netty/handler/codec/http/LastHttpContent;
107 109 4 e Ljava/lang/Exception;
112 114 4 readableBytes I
Exception table:
from to target type
6 8 16 Class java.lang.Exception
9 12 16 Class java.lang.Exception
13 15 16 Class java.lang.Exception
19 21 44 Class java.lang.Exception
22 27 44 Class java.lang.Exception
28 31 44 Class java.lang.Exception
32 37 44 Class java.lang.Exception
38 43 44 Class java.lang.Exception
66 68 76 Class java.lang.Exception
69 73 76 Class java.lang.Exception
74 75 76 Class java.lang.Exception
100 102 106 Class java.lang.Exception
103 105 106 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
buffer
out
protected void decodeLast(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial io.netty.handler.codec.ByteToMessageDecoder.decodeLast:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
1: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.resetRequested:Z
ifeq 3
2: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
ifnull 24
4: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
invokestatic io.netty.handler.codec.http.HttpUtil.isTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;)Z
istore 4
start local 4 5: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_VARIABLE_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
if_acmpne 9
aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 9
iload 4
ifne 9
6: aload 3
getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
8: return
9: StackMap locals: int
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_HEADER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
if_acmpne 15
10: aload 3
aload 0
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
11: new io.netty.handler.codec.PrematureChannelClosureException
dup
ldc "Connection closed before received headers"
invokespecial io.netty.handler.codec.PrematureChannelClosureException.<init>:(Ljava/lang/String;)V
12: invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.invalidMessage:(Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpMessage;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
13: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
14: return
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isDecodingRequest:()Z
ifne 16
iload 4
ifeq 18
16: StackMap locals:
StackMap stack:
iconst_1
istore 5
start local 5 17: goto 21
end local 5 18: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.contentLength:()J
lconst_0
lcmp
ifle 19
iconst_1
goto 20
StackMap locals:
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 5
start local 5 21: StackMap locals: int
StackMap stack:
iload 5
ifne 23
22: aload 3
getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.resetNow:()V
end local 5 end local 4 24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 25 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 25 2 in Lio/netty/buffer/ByteBuf;
0 25 3 out Ljava/util/List<Ljava/lang/Object;>;
5 24 4 chunked Z
17 18 5 prematureClosure Z
21 24 5 prematureClosure Z
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
in
out
public void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof io.netty.handler.codec.http.HttpExpectationFailedEvent
ifeq 4
1: invokestatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:()[I
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
iaload
tableswitch { // 4 - 6
4: 2
5: 2
6: 2
default: 4
}
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.reset:()V
3: goto 4
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokespecial io.netty.handler.codec.ByteToMessageDecoder.userEventTriggered:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 6 2 evt Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
evt
protected boolean isContentAlwaysEmpty(io.netty.handler.codec.http.HttpMessage);
descriptor: (Lio/netty/handler/codec/http/HttpMessage;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.handler.codec.http.HttpResponse
ifeq 11
1: aload 1
checkcast io.netty.handler.codec.http.HttpResponse
astore 2
start local 2 2: aload 2
invokeinterface io.netty.handler.codec.http.HttpResponse.status:()Lio/netty/handler/codec/http/HttpResponseStatus;
invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
istore 3
start local 3 3: iload 3
bipush 100
if_icmplt 9
iload 3
sipush 200
if_icmpge 9
4: iload 3
bipush 101
if_icmpne 7
aload 2
invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.SEC_WEBSOCKET_ACCEPT:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.contains:(Ljava/lang/CharSequence;)Z
ifne 7
5: aload 2
invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.UPGRADE:Lio/netty/util/AsciiString;
getstatic io.netty.handler.codec.http.HttpHeaderValues.WEBSOCKET:Lio/netty/util/AsciiString;
iconst_1
invokevirtual io.netty.handler.codec.http.HttpHeaders.contains:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Z
ifeq 7
6: iconst_0
goto 8
StackMap locals: io.netty.handler.codec.http.HttpResponse int
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: ireturn
9: StackMap locals:
StackMap stack:
iload 3
lookupswitch { // 2
204: 10
304: 10
default: 11
}
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 12 1 msg Lio/netty/handler/codec/http/HttpMessage;
2 11 2 res Lio/netty/handler/codec/http/HttpResponse;
3 11 3 code I
MethodParameters:
Name Flags
msg
protected boolean isSwitchingToNonHttp1Protocol(io.netty.handler.codec.http.HttpResponse);
descriptor: (Lio/netty/handler/codec/http/HttpResponse;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.handler.codec.http.HttpResponse.status:()Lio/netty/handler/codec/http/HttpResponseStatus;
invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
getstatic io.netty.handler.codec.http.HttpResponseStatus.SWITCHING_PROTOCOLS:Lio/netty/handler/codec/http/HttpResponseStatus;
invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
if_icmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.UPGRADE:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.get:(Ljava/lang/CharSequence;)Ljava/lang/String;
astore 2
start local 2 3: aload 2
ifnull 7
4: aload 2
getstatic io.netty.handler.codec.http.HttpVersion.HTTP_1_0:Lio/netty/handler/codec/http/HttpVersion;
invokevirtual io.netty.handler.codec.http.HttpVersion.text:()Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 6
5: aload 2
getstatic io.netty.handler.codec.http.HttpVersion.HTTP_1_1:Lio/netty/handler/codec/http/HttpVersion;
invokevirtual io.netty.handler.codec.http.HttpVersion.text:()Ljava/lang/String;
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 7
6: StackMap locals: java.lang.String
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
7: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 8 1 msg Lio/netty/handler/codec/http/HttpResponse;
3 8 2 newProtocol Ljava/lang/String;
MethodParameters:
Name Flags
msg
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield io.netty.handler.codec.http.HttpObjectDecoder.resetRequested:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
private void resetNow();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
astore 1
start local 1 1: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
2: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
3: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
4: aload 0
ldc -9223372036854775808
putfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
5: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.lineParser:Lio/netty/handler/codec/http/HttpObjectDecoder$LineParser;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$LineParser.reset:()V
6: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.reset:()V
7: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
8: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isDecodingRequest:()Z
ifne 13
9: aload 1
checkcast io.netty.handler.codec.http.HttpResponse
astore 2
start local 2 10: aload 2
ifnull 13
aload 0
aload 2
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isSwitchingToNonHttp1Protocol:(Lio/netty/handler/codec/http/HttpResponse;)Z
ifeq 13
11: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.UPGRADED:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
12: return
end local 2 13: StackMap locals: io.netty.handler.codec.http.HttpMessage
StackMap stack:
aload 0
iconst_0
putfield io.netty.handler.codec.http.HttpObjectDecoder.resetRequested:Z
14: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
15: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
1 16 1 message Lio/netty/handler/codec/http/HttpMessage;
10 13 2 res Lio/netty/handler/codec/http/HttpResponse;
private io.netty.handler.codec.http.HttpMessage invalidMessage(io.netty.buffer.ByteBuf, java.lang.Exception);
descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpMessage;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.BAD_MESSAGE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
1: aload 1
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
2: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
ifnonnull 4
3: aload 0
aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.createInvalidMessage:()Lio/netty/handler/codec/http/HttpMessage;
putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
4: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
aload 2
invokestatic io.netty.handler.codec.DecoderResult.failure:(Ljava/lang/Throwable;)Lio/netty/handler/codec/DecoderResult;
invokeinterface io.netty.handler.codec.http.HttpMessage.setDecoderResult:(Lio/netty/handler/codec/DecoderResult;)V
5: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
astore 3
start local 3 6: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 8 1 in Lio/netty/buffer/ByteBuf;
0 8 2 cause Ljava/lang/Exception;
6 8 3 ret Lio/netty/handler/codec/http/HttpMessage;
MethodParameters:
Name Flags
in
cause
private io.netty.handler.codec.http.HttpContent invalidChunk(io.netty.buffer.ByteBuf, java.lang.Exception);
descriptor: (Lio/netty/buffer/ByteBuf;Ljava/lang/Exception;)Lio/netty/handler/codec/http/HttpContent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.BAD_MESSAGE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
putfield io.netty.handler.codec.http.HttpObjectDecoder.currentState:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
1: aload 1
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
2: new io.netty.handler.codec.http.DefaultLastHttpContent
dup
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
invokespecial io.netty.handler.codec.http.DefaultLastHttpContent.<init>:(Lio/netty/buffer/ByteBuf;)V
astore 3
start local 3 3: aload 3
aload 2
invokestatic io.netty.handler.codec.DecoderResult.failure:(Ljava/lang/Throwable;)Lio/netty/handler/codec/DecoderResult;
invokeinterface io.netty.handler.codec.http.HttpContent.setDecoderResult:(Lio/netty/handler/codec/DecoderResult;)V
4: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
5: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 7 1 in Lio/netty/buffer/ByteBuf;
0 7 2 cause Ljava/lang/Exception;
3 7 3 chunk Lio/netty/handler/codec/http/HttpContent;
MethodParameters:
Name Flags
in
cause
private static boolean skipControlCharacters(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
istore 2
start local 2 2: aload 0
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 3
start local 3 3: goto 9
4: StackMap locals: int int int
StackMap stack:
aload 0
iload 3
iinc 3 1
invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
istore 4
start local 4 5: iload 4
invokestatic java.lang.Character.isISOControl:(I)Z
ifne 9
iload 4
invokestatic java.lang.Character.isWhitespace:(I)Z
ifne 9
6: iinc 3 -1
7: iconst_1
istore 1
8: goto 10
end local 4 9: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmpgt 4
10: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual io.netty.buffer.ByteBuf.readerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
11: iload 1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 buffer Lio/netty/buffer/ByteBuf;
1 12 1 skiped Z
2 12 2 wIdx I
3 12 3 rIdx I
5 9 4 c I
MethodParameters:
Name Flags
buffer
private io.netty.handler.codec.http.HttpObjectDecoder$State readHeaders(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/http/HttpObjectDecoder$State;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
astore 2
start local 2 1: aload 2
invokeinterface io.netty.handler.codec.http.HttpMessage.headers:()Lio/netty/handler/codec/http/HttpHeaders;
astore 3
start local 3 2: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
aload 1
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: io.netty.handler.codec.http.HttpMessage io.netty.handler.codec.http.HttpHeaders io.netty.util.internal.AppendableCharSequence
StackMap stack:
aload 4
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
ifle 20
6: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokevirtual io.netty.util.internal.AppendableCharSequence.charAt:(I)C
istore 5
start local 5 7: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
ifnull 12
iload 5
bipush 32
if_icmpeq 8
iload 5
bipush 9
if_icmpne 12
8: StackMap locals: int
StackMap stack:
aload 4
invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 6
start local 6 9: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
astore 7
start local 7 10: aload 0
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 32
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
end local 7 end local 6 11: goto 15
12: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
ifnull 14
13: aload 3
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
14: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.splitHeader:(Lio/netty/util/internal/AppendableCharSequence;)V
15: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
aload 1
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
astore 4
16: aload 4
ifnonnull 18
17: aconst_null
areturn
end local 5 18: StackMap locals:
StackMap stack:
aload 4
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
19: ifgt 6
20: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
ifnull 22
21: aload 3
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
22: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
23: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
24: aload 0
aload 2
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.isContentAlwaysEmpty:(Lio/netty/handler/codec/http/HttpMessage;)Z
ifeq 28
25: aload 2
iconst_0
invokestatic io.netty.handler.codec.http.HttpUtil.setTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;Z)V
26: getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
astore 5
start local 5 27: goto 35
end local 5 StackMap locals:
StackMap stack:
28: aload 2
invokestatic io.netty.handler.codec.http.HttpUtil.isTransferEncodingChunked:(Lio/netty/handler/codec/http/HttpMessage;)Z
ifeq 31
29: getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_SIZE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
astore 5
start local 5 30: goto 35
end local 5 StackMap locals:
StackMap stack:
31: aload 0
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.contentLength:()J
lconst_0
lcmp
iflt 34
32: getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_FIXED_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
astore 5
start local 5 33: goto 35
end local 5 34: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_VARIABLE_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
astore 5
start local 5 35: StackMap locals: io.netty.handler.codec.http.HttpObjectDecoder$State
StackMap stack:
aload 5
areturn
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 36 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 36 1 buffer Lio/netty/buffer/ByteBuf;
1 36 2 message Lio/netty/handler/codec/http/HttpMessage;
2 36 3 headers Lio/netty/handler/codec/http/HttpHeaders;
3 36 4 line Lio/netty/util/internal/AppendableCharSequence;
7 18 5 firstChar C
9 11 6 trimmedLine Ljava/lang/String;
10 11 7 valueStr Ljava/lang/String;
27 28 5 nextState Lio/netty/handler/codec/http/HttpObjectDecoder$State;
30 31 5 nextState Lio/netty/handler/codec/http/HttpObjectDecoder$State;
33 34 5 nextState Lio/netty/handler/codec/http/HttpObjectDecoder$State;
35 36 5 nextState Lio/netty/handler/codec/http/HttpObjectDecoder$State;
MethodParameters:
Name Flags
buffer
private long contentLength();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
ldc -9223372036854775808
lcmp
ifne 2
1: aload 0
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.message:Lio/netty/handler/codec/http/HttpMessage;
ldc -1
invokestatic io.netty.handler.codec.http.HttpUtil.getContentLength:(Lio/netty/handler/codec/http/HttpMessage;J)J
putfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.contentLength:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
private io.netty.handler.codec.http.LastHttpContent readTrailingHeaders(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/handler/codec/http/LastHttpContent;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
aload 1
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: io.netty.util.internal.AppendableCharSequence
StackMap stack:
aconst_null
astore 3
start local 3 4: aload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
ifle 33
5: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
astore 4
start local 4 6: aload 4
ifnonnull 8
7: aload 0
new io.netty.handler.codec.http.DefaultLastHttpContent
dup
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.validateHeaders:Z
invokespecial io.netty.handler.codec.http.DefaultLastHttpContent.<init>:(Lio/netty/buffer/ByteBuf;Z)V
dup_x1
putfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
astore 4
8: StackMap locals: java.lang.CharSequence io.netty.handler.codec.http.LastHttpContent
StackMap stack:
aload 2
iconst_0
invokevirtual io.netty.util.internal.AppendableCharSequence.charAt:(I)C
istore 5
start local 5 9: aload 3
ifnull 17
iload 5
bipush 32
if_icmpeq 10
iload 5
bipush 9
if_icmpne 17
10: StackMap locals: int
StackMap stack:
aload 4
invokeinterface io.netty.handler.codec.http.LastHttpContent.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
aload 3
invokevirtual io.netty.handler.codec.http.HttpHeaders.getAll:(Ljava/lang/CharSequence;)Ljava/util/List;
astore 6
start local 6 11: aload 6
invokeinterface java.util.List.isEmpty:()Z
ifne 26
12: aload 6
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 7
start local 7 13: aload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 8
start local 8 14: aload 6
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 15: aload 6
iload 7
new java.lang.StringBuilder
dup
aload 9
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 end local 7 end local 6 16: goto 26
17: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder.splitHeader:(Lio/netty/util/internal/AppendableCharSequence;)V
18: aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
astore 6
start local 6 19: getstatic io.netty.handler.codec.http.HttpHeaderNames.CONTENT_LENGTH:Lio/netty/util/AsciiString;
aload 6
invokevirtual io.netty.util.AsciiString.contentEqualsIgnoreCase:(Ljava/lang/CharSequence;)Z
ifne 23
20: getstatic io.netty.handler.codec.http.HttpHeaderNames.TRANSFER_ENCODING:Lio/netty/util/AsciiString;
aload 6
invokevirtual io.netty.util.AsciiString.contentEqualsIgnoreCase:(Ljava/lang/CharSequence;)Z
ifne 23
21: getstatic io.netty.handler.codec.http.HttpHeaderNames.TRAILER:Lio/netty/util/AsciiString;
aload 6
invokevirtual io.netty.util.AsciiString.contentEqualsIgnoreCase:(Ljava/lang/CharSequence;)Z
ifne 23
22: aload 4
invokeinterface io.netty.handler.codec.http.LastHttpContent.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
aload 6
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
23: StackMap locals: java.lang.CharSequence
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
astore 3
24: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
25: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
end local 6 26: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.HttpObjectDecoder.headerParser:Lio/netty/handler/codec/http/HttpObjectDecoder$HeaderParser;
aload 1
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser.parse:(Lio/netty/buffer/ByteBuf;)Lio/netty/util/internal/AppendableCharSequence;
astore 2
27: aload 2
ifnonnull 29
28: aconst_null
areturn
end local 5 29: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
30: ifgt 8
31: aload 0
aconst_null
putfield io.netty.handler.codec.http.HttpObjectDecoder.trailer:Lio/netty/handler/codec/http/LastHttpContent;
32: aload 4
areturn
end local 4 33: StackMap locals:
StackMap stack:
getstatic io.netty.handler.codec.http.LastHttpContent.EMPTY_LAST_CONTENT:Lio/netty/handler/codec/http/LastHttpContent;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 34 1 buffer Lio/netty/buffer/ByteBuf;
1 34 2 line Lio/netty/util/internal/AppendableCharSequence;
4 34 3 lastHeader Ljava/lang/CharSequence;
6 33 4 trailer Lio/netty/handler/codec/http/LastHttpContent;
9 29 5 firstChar C
11 16 6 current Ljava/util/List<Ljava/lang/String;>;
13 16 7 lastPos I
14 16 8 lineTrimmed Ljava/lang/String;
15 16 9 currentLastPos Ljava/lang/String;
19 26 6 headerName Ljava/lang/CharSequence;
MethodParameters:
Name Flags
buffer
protected abstract boolean isDecodingRequest();
descriptor: ()Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract io.netty.handler.codec.http.HttpMessage createMessage(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Lio/netty/handler/codec/http/HttpMessage;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
initialLine
protected abstract io.netty.handler.codec.http.HttpMessage createInvalidMessage();
descriptor: ()Lio/netty/handler/codec/http/HttpMessage;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
private static int getChunkSize(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0
1: iconst_0
istore 1
start local 1 2: goto 8
3: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
istore 2
start local 2 4: iload 2
bipush 59
if_icmpeq 5
iload 2
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 5
iload 2
invokestatic java.lang.Character.isISOControl:(C)Z
ifeq 7
5: StackMap locals: int
StackMap stack:
aload 0
iconst_0
iload 1
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
6: goto 9
end local 2 7: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
8: iload 1
aload 0
invokevirtual java.lang.String.length:()I
if_icmplt 3
end local 1 9: StackMap locals:
StackMap stack:
aload 0
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 hex Ljava/lang/String;
2 9 1 i I
4 7 2 c C
MethodParameters:
Name Flags
hex
private static java.lang.String[] splitInitialLine(io.netty.util.internal.AppendableCharSequence);
descriptor: (Lio/netty/util/internal/AppendableCharSequence;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
istore 1
start local 1 1: aload 0
iload 1
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
istore 2
start local 2 2: aload 0
iload 2
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
istore 3
start local 3 3: aload 0
iload 3
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
istore 4
start local 4 4: aload 0
iload 4
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
istore 5
start local 5 5: aload 0
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findEndOfString:(Lio/netty/util/internal/AppendableCharSequence;)I
istore 6
start local 6 6: iconst_3
anewarray java.lang.String
dup
iconst_0
7: aload 0
iload 1
iload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
aastore
dup
iconst_1
8: aload 0
iload 3
iload 4
invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
aastore
dup
iconst_2
9: iload 5
iload 6
if_icmpge 10
aload 0
iload 5
iload 6
invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
goto 11
StackMap locals: io.netty.util.internal.AppendableCharSequence int int int int int int
StackMap stack: java.lang.String[] java.lang.String[] int
10: ldc ""
StackMap locals: io.netty.util.internal.AppendableCharSequence int int int int int int
StackMap stack: java.lang.String[] java.lang.String[] int java.lang.String
11: aastore
12: areturn
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 13 0 sb Lio/netty/util/internal/AppendableCharSequence;
1 13 1 aStart I
2 13 2 aEnd I
3 13 3 bStart I
4 13 4 bEnd I
5 13 5 cStart I
6 13 6 cEnd I
MethodParameters:
Name Flags
sb
private void splitHeader(io.netty.util.internal.AppendableCharSequence);
descriptor: (Lio/netty/util/internal/AppendableCharSequence;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
istore 2
start local 2 1: aload 1
iconst_0
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
istore 3
start local 3 2: iload 3
istore 4
start local 4 3: goto 8
4: StackMap locals: int int int
StackMap stack:
aload 1
iload 4
invokevirtual io.netty.util.internal.AppendableCharSequence.charAt:(I)C
istore 8
start local 8 5: iload 8
bipush 58
if_icmpeq 9
iload 8
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 7
6: goto 9
end local 8 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 2
if_icmplt 4
9: StackMap locals:
StackMap stack:
iload 4
istore 5
start local 5 10: goto 15
11: StackMap locals: int
StackMap stack:
aload 1
iload 5
invokevirtual io.netty.util.internal.AppendableCharSequence.charAt:(I)C
bipush 58
if_icmpne 14
12: iinc 5 1
13: goto 16
14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 2
if_icmplt 11
16: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 3
iload 4
invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
putfield io.netty.handler.codec.http.HttpObjectDecoder.name:Ljava/lang/CharSequence;
17: aload 1
iload 5
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findNonWhitespace:(Lio/netty/util/internal/AppendableCharSequence;I)I
istore 6
start local 6 18: iload 6
iload 2
if_icmpne 21
19: aload 0
ldc ""
putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
20: goto 23
21: StackMap locals: int
StackMap stack:
aload 1
invokestatic io.netty.handler.codec.http.HttpObjectDecoder.findEndOfString:(Lio/netty/util/internal/AppendableCharSequence;)I
istore 7
start local 7 22: aload 0
aload 1
iload 6
iload 7
invokevirtual io.netty.util.internal.AppendableCharSequence.subStringUnsafe:(II)Ljava/lang/String;
putfield io.netty.handler.codec.http.HttpObjectDecoder.value:Ljava/lang/CharSequence;
end local 7 23: StackMap locals:
StackMap stack:
return
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 24 0 this Lio/netty/handler/codec/http/HttpObjectDecoder;
0 24 1 sb Lio/netty/util/internal/AppendableCharSequence;
1 24 2 length I
2 24 3 nameStart I
3 24 4 nameEnd I
10 24 5 colonEnd I
18 24 6 valueStart I
22 23 7 valueEnd I
5 7 8 ch C
MethodParameters:
Name Flags
sb
private static int findNonWhitespace(io.netty.util.internal.AppendableCharSequence, int);
descriptor: (Lio/netty/util/internal/AppendableCharSequence;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.charAtUnsafe:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 4
3: iload 2
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
if_icmplt 2
end local 2 6: aload 0
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 sb Lio/netty/util/internal/AppendableCharSequence;
0 7 1 offset I
1 6 2 result I
MethodParameters:
Name Flags
sb
offset
private static int findWhitespace(io.netty.util.internal.AppendableCharSequence, int);
descriptor: (Lio/netty/util/internal/AppendableCharSequence;I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: iload 1
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokevirtual io.netty.util.internal.AppendableCharSequence.charAtUnsafe:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 4
3: iload 2
ireturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
if_icmplt 2
end local 2 6: aload 0
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 sb Lio/netty/util/internal/AppendableCharSequence;
0 7 1 offset I
1 6 2 result I
MethodParameters:
Name Flags
sb
offset
private static int findEndOfString(io.netty.util.internal.AppendableCharSequence);
descriptor: (Lio/netty/util/internal/AppendableCharSequence;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.util.internal.AppendableCharSequence.length:()I
iconst_1
isub
istore 1
start local 1 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 1
invokevirtual io.netty.util.internal.AppendableCharSequence.charAtUnsafe:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 4
3: iload 1
iconst_1
iadd
ireturn
4: StackMap locals:
StackMap stack:
iinc 1 -1
StackMap locals:
StackMap stack:
5: iload 1
ifgt 2
end local 1 6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 sb Lio/netty/util/internal/AppendableCharSequence;
1 6 1 result I
MethodParameters:
Name Flags
sb
static int[] $SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.http.HttpObjectDecoder$State.values:()[Lio/netty/handler/codec/http/HttpObjectDecoder$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.BAD_MESSAGE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
bipush 10
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNKED_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
bipush 7
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_DELIMITER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
bipush 8
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_FOOTER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
bipush 9
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_CHUNK_SIZE:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_FIXED_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
iconst_5
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_HEADER:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
iconst_3
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_INITIAL:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
iconst_2
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.READ_VARIABLE_LENGTH_CONTENT:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
iconst_4
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.SKIP_CONTROL_CHARS:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
iconst_1
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic io.netty.handler.codec.http.HttpObjectDecoder$State.UPGRADED:Lio/netty/handler/codec/http/HttpObjectDecoder$State;
invokevirtual io.netty.handler.codec.http.HttpObjectDecoder$State.ordinal:()I
bipush 11
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic io.netty.handler.codec.http.HttpObjectDecoder.$SWITCH_TABLE$io$netty$handler$codec$http$HttpObjectDecoder$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "HttpObjectDecoder.java"
NestMembers:
io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser io.netty.handler.codec.http.HttpObjectDecoder$LineParser io.netty.handler.codec.http.HttpObjectDecoder$State
InnerClasses:
private HeaderParser = io.netty.handler.codec.http.HttpObjectDecoder$HeaderParser of io.netty.handler.codec.http.HttpObjectDecoder
private final LineParser = io.netty.handler.codec.http.HttpObjectDecoder$LineParser of io.netty.handler.codec.http.HttpObjectDecoder
private final State = io.netty.handler.codec.http.HttpObjectDecoder$State of io.netty.handler.codec.http.HttpObjectDecoder