class io.undertow.protocols.ajp.AjpResponseParser
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.undertow.protocols.ajp.AjpResponseParser
super_class: java.lang.Object
{
public static final io.undertow.protocols.ajp.AjpResponseParser INSTANCE;
descriptor: Lio/undertow/protocols/ajp/AjpResponseParser;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int AB;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16706
public static final int BEGIN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int READING_MAGIC_NUMBER;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int READING_DATA_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int READING_PREFIX_CODE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int READING_STATUS_CODE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int READING_REASON_PHRASE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int ;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int ;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int READING_PERSISTENT_BOOLEAN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int READING_BODY_CHUNK_LENGTH;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9
public static final int DONE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
int state;
descriptor: I
flags: (0x0000)
byte prefix;
descriptor: B
flags: (0x0000)
int ;
descriptor: I
flags: (0x0000)
io.undertow.util.HttpString ;
descriptor: Lio/undertow/util/HttpString;
flags: (0x0000)
int statusCode;
descriptor: I
flags: (0x0000)
java.lang.String reasonPhrase;
descriptor: Ljava/lang/String;
flags: (0x0000)
io.undertow.util.HeaderMap ;
descriptor: Lio/undertow/util/HeaderMap;
flags: (0x0000)
int readBodyChunkSize;
descriptor: I
flags: (0x0000)
public static final int STRING_LENGTH_MASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
public int stringLength;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public java.lang.StringBuilder currentString;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0001) ACC_PUBLIC
public int currentIntegerPart;
descriptor: I
flags: (0x0001) ACC_PUBLIC
boolean containsUrlCharacters;
descriptor: Z
flags: (0x0000)
public int ;
descriptor: I
flags: (0x0001) ACC_PUBLIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new io.undertow.protocols.ajp.AjpResponseParser
dup
invokespecial io.undertow.protocols.ajp.AjpResponseParser.<init>:()V
putstatic io.undertow.protocols.ajp.AjpResponseParser.INSTANCE:Lio/undertow/protocols/ajp/AjpResponseParser;
1: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.numHeaders:I
2: aload 0
new io.undertow.util.HeaderMap
dup
invokespecial io.undertow.util.HeaderMap.<init>:()V
putfield io.undertow.protocols.ajp.AjpResponseParser.headers:Lio/undertow/util/HeaderMap;
3: aload 0
iconst_m1
putfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
4: aload 0
iconst_m1
putfield io.undertow.protocols.ajp.AjpResponseParser.currentIntegerPart:I
5: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.containsUrlCharacters:Z
6: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.readHeaders:I
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
public boolean isComplete();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.state:I
bipush 10
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
public void parse(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.state:I
tableswitch { // 0 - 7
0: 3
1: 68
2: 8
3: 12
4: 26
5: 36
6: 42
7: 47
default: 68
}
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.parse16BitInteger:(Ljava/nio/ByteBuffer;)Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
astore 2
start local 2 4: aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.readComplete:Z
ifne 6
5: return
6: StackMap locals: io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder
StackMap stack:
aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.value:I
sipush 16706
if_icmpeq 8
7: new java.io.IOException
dup
ldc "Wrong magic number"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 2 8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.parse16BitInteger:(Ljava/nio/ByteBuffer;)Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
astore 2
start local 2 9: aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.readComplete:Z
ifne 12
10: aload 0
iconst_2
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
11: return
end local 2 12: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 15
13: aload 0
iconst_3
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
14: return
15: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 2
start local 2 16: aload 0
iload 2
putfield io.undertow.protocols.ajp.AjpResponseParser.prefix:B
17: iload 2
iconst_5
if_icmpne 20
18: aload 0
bipush 8
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
19: goto 68
20: StackMap locals: int
StackMap stack:
iload 2
iconst_3
if_icmpne 23
21: aload 0
bipush 9
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
22: goto 68
23: StackMap locals:
StackMap stack:
iload 2
iconst_4
if_icmpeq 26
iload 2
bipush 6
if_icmpeq 26
24: aload 0
bipush 10
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
25: return
end local 2 26: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.parse16BitInteger:(Ljava/nio/ByteBuffer;)Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
astore 2
start local 2 27: aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.readComplete:Z
ifeq 34
28: aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.prefix:B
iconst_4
if_icmpne 31
29: aload 0
aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.value:I
putfield io.undertow.protocols.ajp.AjpResponseParser.statusCode:I
30: goto 36
31: StackMap locals: io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder
StackMap stack:
aload 0
bipush 10
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
32: aload 0
aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.value:I
putfield io.undertow.protocols.ajp.AjpResponseParser.readBodyChunkSize:I
33: return
34: StackMap locals:
StackMap stack:
aload 0
iconst_4
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
35: return
end local 2 36: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.parseString:(Ljava/nio/ByteBuffer;Z)Lio/undertow/protocols/ajp/AjpResponseParser$StringHolder;
astore 2
start local 2 37: aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$StringHolder.readComplete:Z
ifeq 40
38: aload 0
aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$StringHolder.value:Ljava/lang/String;
putfield io.undertow.protocols.ajp.AjpResponseParser.reasonPhrase:Ljava/lang/String;
39: goto 42
40: StackMap locals: io.undertow.protocols.ajp.AjpResponseParser$StringHolder
StackMap stack:
aload 0
iconst_5
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
41: return
end local 2 42: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.parse16BitInteger:(Ljava/nio/ByteBuffer;)Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
astore 2
start local 2 43: aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.readComplete:Z
ifne 46
44: aload 0
bipush 6
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
45: return
46: StackMap locals: io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder
StackMap stack:
aload 0
aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.value:I
putfield io.undertow.protocols.ajp.AjpResponseParser.numHeaders:I
end local 2 47: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.readHeaders:I
istore 2
start local 2 48: goto 67
49: StackMap locals: int
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.currentHeader:Lio/undertow/util/HttpString;
ifnonnull 59
50: aload 0
aload 1
iconst_1
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.parseString:(Ljava/nio/ByteBuffer;Z)Lio/undertow/protocols/ajp/AjpResponseParser$StringHolder;
astore 3
start local 3 51: aload 3
getfield io.undertow.protocols.ajp.AjpResponseParser$StringHolder.readComplete:Z
ifne 55
52: aload 0
bipush 7
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
53: aload 0
iload 2
putfield io.undertow.protocols.ajp.AjpResponseParser.readHeaders:I
54: return
55: StackMap locals: io.undertow.protocols.ajp.AjpResponseParser$StringHolder
StackMap stack:
aload 3
getfield io.undertow.protocols.ajp.AjpResponseParser$StringHolder.header:Lio/undertow/util/HttpString;
ifnull 58
56: aload 0
aload 3
getfield io.undertow.protocols.ajp.AjpResponseParser$StringHolder.header:Lio/undertow/util/HttpString;
putfield io.undertow.protocols.ajp.AjpResponseParser.currentHeader:Lio/undertow/util/HttpString;
57: goto 59
58: StackMap locals:
StackMap stack:
aload 0
aload 3
getfield io.undertow.protocols.ajp.AjpResponseParser$StringHolder.value:Ljava/lang/String;
invokestatic io.undertow.util.HttpString.tryFromString:(Ljava/lang/String;)Lio/undertow/util/HttpString;
putfield io.undertow.protocols.ajp.AjpResponseParser.currentHeader:Lio/undertow/util/HttpString;
end local 3 59: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.parseString:(Ljava/nio/ByteBuffer;Z)Lio/undertow/protocols/ajp/AjpResponseParser$StringHolder;
astore 3
start local 3 60: aload 3
getfield io.undertow.protocols.ajp.AjpResponseParser$StringHolder.readComplete:Z
ifne 64
61: aload 0
bipush 7
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
62: aload 0
iload 2
putfield io.undertow.protocols.ajp.AjpResponseParser.readHeaders:I
63: return
64: StackMap locals: io.undertow.protocols.ajp.AjpResponseParser$StringHolder
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.headers:Lio/undertow/util/HeaderMap;
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.currentHeader:Lio/undertow/util/HttpString;
aload 3
getfield io.undertow.protocols.ajp.AjpResponseParser$StringHolder.value:Ljava/lang/String;
invokevirtual io.undertow.util.HeaderMap.add:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
65: aload 0
aconst_null
putfield io.undertow.protocols.ajp.AjpResponseParser.currentHeader:Lio/undertow/util/HttpString;
66: iinc 2 1
end local 3 67: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.numHeaders:I
if_icmplt 49
end local 2 68: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.state:I
bipush 8
if_icmpne 74
69: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 71
70: return
71: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
putfield io.undertow.protocols.ajp.AjpResponseParser.currentIntegerPart:I
72: aload 0
bipush 10
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
73: return
74: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.state:I
bipush 9
if_icmpne 80
75: aload 0
aload 1
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.parse16BitInteger:(Ljava/nio/ByteBuffer;)Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
astore 2
start local 2 76: aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.readComplete:Z
ifeq 79
77: aload 0
aload 2
getfield io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.value:I
putfield io.undertow.protocols.ajp.AjpResponseParser.currentIntegerPart:I
78: aload 0
bipush 10
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
79: StackMap locals: io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder
StackMap stack:
return
end local 2 80: StackMap locals:
StackMap stack:
aload 0
bipush 10
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
81: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 82 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
0 82 1 buf Ljava/nio/ByteBuffer;
4 8 2 result Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
9 12 2 result Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
16 26 2 prefix B
27 36 2 result Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
37 42 2 result Lio/undertow/protocols/ajp/AjpResponseParser$StringHolder;
43 47 2 result Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
48 68 2 readHeaders I
51 59 3 result Lio/undertow/protocols/ajp/AjpResponseParser$StringHolder;
60 67 3 result Lio/undertow/protocols/ajp/AjpResponseParser$StringHolder;
76 80 2 result Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf final
protected io.undertow.util.HttpString (int);
descriptor: (I)Lio/undertow/util/HttpString;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.undertow.protocols.ajp.AjpConstants.HTTP_HEADERS_ARRAY:[Lio/undertow/util/HttpString;
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
0 1 1 offset I
MethodParameters:
Name Flags
offset
public io.undertow.util.HeaderMap ();
descriptor: ()Lio/undertow/util/HeaderMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.headers:Lio/undertow/util/HeaderMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
public int getStatusCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.statusCode:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
public java.lang.String getReasonPhrase();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.reasonPhrase:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
public int getReadBodyChunkSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.readBodyChunkSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.state:I
1: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.prefix:B
2: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.numHeaders:I
3: aload 0
aconst_null
putfield io.undertow.protocols.ajp.AjpResponseParser.currentHeader:Lio/undertow/util/HttpString;
4: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.statusCode:I
5: aload 0
aconst_null
putfield io.undertow.protocols.ajp.AjpResponseParser.reasonPhrase:Ljava/lang/String;
6: aload 0
new io.undertow.util.HeaderMap
dup
invokespecial io.undertow.util.HeaderMap.<init>:()V
putfield io.undertow.protocols.ajp.AjpResponseParser.headers:Lio/undertow/util/HeaderMap;
7: aload 0
iconst_m1
putfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
8: aload 0
aconst_null
putfield io.undertow.protocols.ajp.AjpResponseParser.currentString:Ljava/lang/StringBuilder;
9: aload 0
iconst_m1
putfield io.undertow.protocols.ajp.AjpResponseParser.currentIntegerPart:I
10: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.readHeaders:I
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
protected io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder parse16BitInteger(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lio/undertow/protocols/ajp/AjpResponseParser$IntegerHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
1: new io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder
dup
iconst_m1
iconst_0
invokespecial io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.<init>:(IZ)V
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.currentIntegerPart:I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpne 5
4: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 2
5: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 10
6: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 3
start local 3 7: sipush 255
iload 2
iand
bipush 8
ishl
iload 3
sipush 255
iand
iadd
istore 4
start local 4 8: aload 0
iconst_m1
putfield io.undertow.protocols.ajp.AjpResponseParser.currentIntegerPart:I
9: new io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder
dup
iload 4
iconst_1
invokespecial io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.<init>:(IZ)V
areturn
end local 4 end local 3 10: StackMap locals:
StackMap stack:
aload 0
iload 2
putfield io.undertow.protocols.ajp.AjpResponseParser.currentIntegerPart:I
11: new io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder
dup
iconst_m1
iconst_0
invokespecial io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder.<init>:(IZ)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
0 12 1 buf Ljava/nio/ByteBuffer;
3 12 2 number I
7 10 3 b B
8 10 4 result I
MethodParameters:
Name Flags
buf
protected io.undertow.protocols.ajp.AjpResponseParser$StringHolder parseString(java.nio.ByteBuffer, boolean);
descriptor: (Ljava/nio/ByteBuffer;Z)Lio/undertow/protocols/ajp/AjpResponseParser$StringHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.containsUrlCharacters:Z
istore 3
start local 3 1: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 3
2: new io.undertow.protocols.ajp.AjpResponseParser$StringHolder
dup
aconst_null
iconst_0
iconst_0
invokespecial io.undertow.protocols.ajp.AjpResponseParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
3: StackMap locals: int
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
istore 4
start local 4 4: iload 4
iconst_m1
if_icmpne 12
5: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 5
start local 5 6: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 10
7: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 6
start local 6 8: sipush 255
iload 5
iand
bipush 8
ishl
iload 6
sipush 255
iand
iadd
istore 4
end local 6 9: goto 15
10: StackMap locals: int int
StackMap stack:
aload 0
iload 5
ldc -2147483648
ior
putfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
11: new io.undertow.protocols.ajp.AjpResponseParser$StringHolder
dup
aconst_null
iconst_0
iconst_0
invokespecial io.undertow.protocols.ajp.AjpResponseParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
end local 5 12: StackMap locals:
StackMap stack:
iload 4
ldc -2147483648
iand
ifeq 15
13: iload 4
ldc 2147483647
iand
istore 5
start local 5 14: sipush 255
iload 5
iand
bipush 8
ishl
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
iadd
istore 4
end local 5 15: StackMap locals:
StackMap stack:
iload 2
ifeq 18
iload 4
ldc 65280
iand
ifeq 18
16: aload 0
iconst_m1
putfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
17: new io.undertow.protocols.ajp.AjpResponseParser$StringHolder
dup
aload 0
iload 4
sipush 255
iand
invokevirtual io.undertow.protocols.ajp.AjpResponseParser.headers:(I)Lio/undertow/util/HttpString;
invokespecial io.undertow.protocols.ajp.AjpResponseParser$StringHolder.<init>:(Lio/undertow/util/HttpString;)V
areturn
18: StackMap locals:
StackMap stack:
iload 4
ldc 65535
if_icmpne 21
19: aload 0
iconst_m1
putfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
20: new io.undertow.protocols.ajp.AjpResponseParser$StringHolder
dup
aconst_null
iconst_1
iconst_0
invokespecial io.undertow.protocols.ajp.AjpResponseParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
21: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ajp.AjpResponseParser.currentString:Ljava/lang/StringBuilder;
astore 5
start local 5 22: aload 5
ifnonnull 25
23: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
24: aload 0
aload 5
putfield io.undertow.protocols.ajp.AjpResponseParser.currentString:Ljava/lang/StringBuilder;
25: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 5
invokevirtual java.lang.StringBuilder.length:()I
istore 6
start local 6 26: goto 36
27: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 31
28: aload 0
iload 4
putfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
29: aload 0
iload 3
putfield io.undertow.protocols.ajp.AjpResponseParser.containsUrlCharacters:Z
30: new io.undertow.protocols.ajp.AjpResponseParser$StringHolder
dup
aconst_null
iconst_0
iconst_0
invokespecial io.undertow.protocols.ajp.AjpResponseParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
31: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
i2c
istore 7
start local 7 32: iload 7
bipush 43
if_icmpeq 33
iload 7
bipush 37
if_icmpne 34
33: StackMap locals: int
StackMap stack:
iconst_1
istore 3
34: StackMap locals:
StackMap stack:
aload 5
iload 7
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
35: iinc 6 1
end local 7 36: StackMap locals:
StackMap stack:
iload 6
iload 4
if_icmplt 27
37: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 43
38: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
pop
39: aload 0
aconst_null
putfield io.undertow.protocols.ajp.AjpResponseParser.currentString:Ljava/lang/StringBuilder;
40: aload 0
iconst_m1
putfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
41: aload 0
iconst_0
putfield io.undertow.protocols.ajp.AjpResponseParser.containsUrlCharacters:Z
42: new io.undertow.protocols.ajp.AjpResponseParser$StringHolder
dup
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
iload 3
invokespecial io.undertow.protocols.ajp.AjpResponseParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
43: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield io.undertow.protocols.ajp.AjpResponseParser.stringLength:I
44: aload 0
iload 3
putfield io.undertow.protocols.ajp.AjpResponseParser.containsUrlCharacters:Z
45: new io.undertow.protocols.ajp.AjpResponseParser$StringHolder
dup
aconst_null
iconst_0
iconst_0
invokespecial io.undertow.protocols.ajp.AjpResponseParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
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 46 0 this Lio/undertow/protocols/ajp/AjpResponseParser;
0 46 1 buf Ljava/nio/ByteBuffer;
0 46 2 header Z
1 46 3 containsUrlCharacters Z
4 46 4 stringLength I
6 12 5 number I
8 9 6 b B
14 15 5 number I
22 46 5 builder Ljava/lang/StringBuilder;
26 46 6 length I
32 36 7 c C
MethodParameters:
Name Flags
buf
header
}
SourceFile: "AjpResponseParser.java"
NestMembers:
io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder io.undertow.protocols.ajp.AjpResponseParser$StringHolder
InnerClasses:
protected IntegerHolder = io.undertow.protocols.ajp.AjpResponseParser$IntegerHolder of io.undertow.protocols.ajp.AjpResponseParser
protected StringHolder = io.undertow.protocols.ajp.AjpResponseParser$StringHolder of io.undertow.protocols.ajp.AjpResponseParser