final class io.undertow.conduits.ChunkReader$TrailerParser
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.undertow.conduits.ChunkReader$TrailerParser
super_class: java.lang.Object
{
private io.undertow.util.HeaderMap ;
descriptor: Lio/undertow/util/HeaderMap;
flags: (0x0002) ACC_PRIVATE
private java.lang.StringBuilder builder;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
private io.undertow.util.HttpString httpString;
descriptor: Lio/undertow/util/HttpString;
flags: (0x0002) ACC_PRIVATE
int state;
descriptor: I
flags: (0x0000)
private static final int STATE_TRAILER_NAME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int STATE_TRAILER_VALUE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int STATE_ENDING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
final io.undertow.conduits.ChunkReader this$0;
descriptor: Lio/undertow/conduits/ChunkReader;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(io.undertow.conduits.ChunkReader);
descriptor: (Lio/undertow/conduits/ChunkReader;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield io.undertow.conduits.ChunkReader$TrailerParser.this$0:Lio/undertow/conduits/ChunkReader;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new io.undertow.util.HeaderMap
dup
invokespecial io.undertow.util.HeaderMap.<init>:()V
putfield io.undertow.conduits.ChunkReader$TrailerParser.headerMap:Lio/undertow/util/HeaderMap;
2: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
3: aload 0
iconst_0
putfield io.undertow.conduits.ChunkReader$TrailerParser.state:I
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/ChunkReader$TrailerParser;
MethodParameters:
Name Flags
this$0 final
public int handle(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: goto 37
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 2
start local 2 2: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.state:I
ifne 20
3: iload 2
bipush 13
if_icmpne 8
4: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.length:()I
ifne 7
5: aload 0
iconst_2
putfield io.undertow.conduits.ChunkReader$TrailerParser.state:I
6: goto 37
7: StackMap locals: int
StackMap stack:
getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.couldNotDecodeTrailers:()Ljava/io/IOException;
athrow
8: StackMap locals:
StackMap stack:
iload 2
bipush 10
if_icmpne 13
9: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.length:()I
ifne 12
10: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.this$0:Lio/undertow/conduits/ChunkReader;
getfield io.undertow.conduits.ChunkReader.attachable:Lio/undertow/util/Attachable;
aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.this$0:Lio/undertow/conduits/ChunkReader;
getfield io.undertow.conduits.ChunkReader.trailerAttachmentKey:Lio/undertow/util/AttachmentKey;
aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.headerMap:Lio/undertow/util/HeaderMap;
invokeinterface io.undertow.util.Attachable.putAttachment:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.couldNotDecodeTrailers:()Ljava/io/IOException;
athrow
13: StackMap locals:
StackMap stack:
iload 2
bipush 58
if_icmpne 18
14: aload 0
aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokestatic io.undertow.util.HttpString.tryFromString:(Ljava/lang/String;)Lio/undertow/util/HttpString;
putfield io.undertow.conduits.ChunkReader$TrailerParser.httpString:Lio/undertow/util/HttpString;
15: aload 0
iconst_1
putfield io.undertow.conduits.ChunkReader$TrailerParser.state:I
16: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
17: goto 37
18: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
iload 2
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: goto 37
StackMap locals:
StackMap stack:
20: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.state:I
iconst_1
if_icmpne 30
21: iload 2
bipush 10
if_icmpne 27
22: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.headerMap:Lio/undertow/util/HeaderMap;
aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.httpString:Lio/undertow/util/HttpString;
aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
23: aload 0
aconst_null
putfield io.undertow.conduits.ChunkReader$TrailerParser.httpString:Lio/undertow/util/HttpString;
24: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
iconst_0
invokevirtual java.lang.StringBuilder.setLength:(I)V
25: aload 0
iconst_0
putfield io.undertow.conduits.ChunkReader$TrailerParser.state:I
26: goto 37
StackMap locals:
StackMap stack:
27: iload 2
bipush 13
if_icmpeq 37
28: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.builder:Ljava/lang/StringBuilder;
iload 2
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
29: goto 37
StackMap locals:
StackMap stack:
30: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.state:I
iconst_2
if_icmpne 36
31: iload 2
bipush 10
if_icmpne 35
32: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.this$0:Lio/undertow/conduits/ChunkReader;
getfield io.undertow.conduits.ChunkReader.attachable:Lio/undertow/util/Attachable;
ifnull 34
33: aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.this$0:Lio/undertow/conduits/ChunkReader;
getfield io.undertow.conduits.ChunkReader.attachable:Lio/undertow/util/Attachable;
aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.this$0:Lio/undertow/conduits/ChunkReader;
getfield io.undertow.conduits.ChunkReader.trailerAttachmentKey:Lio/undertow/util/AttachmentKey;
aload 0
getfield io.undertow.conduits.ChunkReader$TrailerParser.headerMap:Lio/undertow/util/HeaderMap;
invokeinterface io.undertow.util.Attachable.putAttachment:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: StackMap locals:
StackMap stack:
iconst_m1
ireturn
35: StackMap locals:
StackMap stack:
getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.couldNotDecodeTrailers:()Ljava/io/IOException;
athrow
36: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 2 37: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 1
38: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lio/undertow/conduits/ChunkReader$TrailerParser;
0 39 1 buf Ljava/nio/ByteBuffer;
2 37 2 b B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
}
SourceFile: "ChunkReader.java"
NestHost: io.undertow.conduits.ChunkReader
InnerClasses:
private final TrailerParser = io.undertow.conduits.ChunkReader$TrailerParser of io.undertow.conduits.ChunkReader