public class io.undertow.server.protocol.ajp.AjpRequestParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.server.protocol.ajp.AjpRequestParser
super_class: java.lang.Object
{
private final java.lang.String encoding;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean doDecode;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean allowEncodedSlash;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxParameters;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int ;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.StringBuilder decodeBuffer;
descriptor: Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
private static final io.undertow.util.HttpString[] ;
descriptor: [Lio/undertow/util/HttpString;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int FORWARD_REQUEST;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int CPONG;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9
public static final int CPING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
public static final int SHUTDOWN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final io.undertow.util.HttpString[] HTTP_METHODS;
descriptor: [Lio/undertow/util/HttpString;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String[] ATTRIBUTES;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.lang.String QUERY_STRING;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "query_string"
public static final java.lang.String SSL_CERT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "ssl_cert"
public static final java.lang.String CONTEXT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "context"
public static final java.lang.String SERVLET_PATH;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "servlet_path"
public static final java.lang.String REMOTE_USER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "remote_user"
public static final java.lang.String AUTH_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "auth_type"
public static final java.lang.String ROUTE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "route"
public static final java.lang.String SSL_CIPHER;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "ssl_cipher"
public static final java.lang.String SSL_SESSION;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "ssl_session"
public static final java.lang.String REQ_ATTRIBUTE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "req_attribute"
public static final java.lang.String SSL_KEY_SIZE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "ssl_key_size"
public static final java.lang.String SECRET;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "secret"
public static final java.lang.String STORED_METHOD;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "stored_method"
public static final java.lang.String AJP_REMOTE_PORT;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "AJP_REMOTE_PORT"
public static final int STRING_LENGTH_MASK;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -2147483648
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: bipush 28
anewarray io.undertow.util.HttpString
putstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
1: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
iconst_1
getstatic io.undertow.util.Methods.OPTIONS:Lio/undertow/util/HttpString;
aastore
2: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
iconst_2
getstatic io.undertow.util.Methods.GET:Lio/undertow/util/HttpString;
aastore
3: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
iconst_3
getstatic io.undertow.util.Methods.HEAD:Lio/undertow/util/HttpString;
aastore
4: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
iconst_4
getstatic io.undertow.util.Methods.POST:Lio/undertow/util/HttpString;
aastore
5: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
iconst_5
getstatic io.undertow.util.Methods.PUT:Lio/undertow/util/HttpString;
aastore
6: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 6
getstatic io.undertow.util.Methods.DELETE:Lio/undertow/util/HttpString;
aastore
7: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 7
getstatic io.undertow.util.Methods.TRACE:Lio/undertow/util/HttpString;
aastore
8: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 8
getstatic io.undertow.util.Methods.PROPFIND:Lio/undertow/util/HttpString;
aastore
9: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 9
getstatic io.undertow.util.Methods.PROPPATCH:Lio/undertow/util/HttpString;
aastore
10: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 10
getstatic io.undertow.util.Methods.MKCOL:Lio/undertow/util/HttpString;
aastore
11: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 11
getstatic io.undertow.util.Methods.COPY:Lio/undertow/util/HttpString;
aastore
12: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 12
getstatic io.undertow.util.Methods.MOVE:Lio/undertow/util/HttpString;
aastore
13: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 13
getstatic io.undertow.util.Methods.LOCK:Lio/undertow/util/HttpString;
aastore
14: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 14
getstatic io.undertow.util.Methods.UNLOCK:Lio/undertow/util/HttpString;
aastore
15: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 15
getstatic io.undertow.util.Methods.ACL:Lio/undertow/util/HttpString;
aastore
16: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 16
getstatic io.undertow.util.Methods.REPORT:Lio/undertow/util/HttpString;
aastore
17: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 17
getstatic io.undertow.util.Methods.VERSION_CONTROL:Lio/undertow/util/HttpString;
aastore
18: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 18
getstatic io.undertow.util.Methods.CHECKIN:Lio/undertow/util/HttpString;
aastore
19: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 19
getstatic io.undertow.util.Methods.CHECKOUT:Lio/undertow/util/HttpString;
aastore
20: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 20
getstatic io.undertow.util.Methods.UNCHECKOUT:Lio/undertow/util/HttpString;
aastore
21: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 21
getstatic io.undertow.util.Methods.SEARCH:Lio/undertow/util/HttpString;
aastore
22: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 22
getstatic io.undertow.util.Methods.MKWORKSPACE:Lio/undertow/util/HttpString;
aastore
23: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 23
getstatic io.undertow.util.Methods.UPDATE:Lio/undertow/util/HttpString;
aastore
24: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 24
getstatic io.undertow.util.Methods.LABEL:Lio/undertow/util/HttpString;
aastore
25: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 25
getstatic io.undertow.util.Methods.MERGE:Lio/undertow/util/HttpString;
aastore
26: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 26
getstatic io.undertow.util.Methods.BASELINE_CONTROL:Lio/undertow/util/HttpString;
aastore
27: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
bipush 27
getstatic io.undertow.util.Methods.MKACTIVITY:Lio/undertow/util/HttpString;
aastore
28: bipush 15
anewarray io.undertow.util.HttpString
putstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
29: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
iconst_1
getstatic io.undertow.util.Headers.ACCEPT:Lio/undertow/util/HttpString;
aastore
30: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
iconst_2
getstatic io.undertow.util.Headers.ACCEPT_CHARSET:Lio/undertow/util/HttpString;
aastore
31: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
iconst_3
getstatic io.undertow.util.Headers.ACCEPT_ENCODING:Lio/undertow/util/HttpString;
aastore
32: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
iconst_4
getstatic io.undertow.util.Headers.ACCEPT_LANGUAGE:Lio/undertow/util/HttpString;
aastore
33: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
iconst_5
getstatic io.undertow.util.Headers.AUTHORIZATION:Lio/undertow/util/HttpString;
aastore
34: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 6
getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
aastore
35: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 7
getstatic io.undertow.util.Headers.CONTENT_TYPE:Lio/undertow/util/HttpString;
aastore
36: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 8
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
aastore
37: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 9
getstatic io.undertow.util.Headers.COOKIE:Lio/undertow/util/HttpString;
aastore
38: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 10
getstatic io.undertow.util.Headers.COOKIE2:Lio/undertow/util/HttpString;
aastore
39: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 11
getstatic io.undertow.util.Headers.HOST:Lio/undertow/util/HttpString;
aastore
40: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 12
getstatic io.undertow.util.Headers.PRAGMA:Lio/undertow/util/HttpString;
aastore
41: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 13
getstatic io.undertow.util.Headers.REFERER:Lio/undertow/util/HttpString;
aastore
42: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[Lio/undertow/util/HttpString;
bipush 14
getstatic io.undertow.util.Headers.USER_AGENT:Lio/undertow/util/HttpString;
aastore
43: bipush 14
anewarray java.lang.String
putstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
44: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
iconst_1
ldc "context"
aastore
45: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
iconst_2
ldc "servlet_path"
aastore
46: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
iconst_3
ldc "remote_user"
aastore
47: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
iconst_4
ldc "auth_type"
aastore
48: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
iconst_5
ldc "query_string"
aastore
49: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
bipush 6
ldc "route"
aastore
50: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
bipush 7
ldc "ssl_cert"
aastore
51: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
bipush 8
ldc "ssl_cipher"
aastore
52: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
bipush 9
ldc "ssl_session"
aastore
53: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
bipush 10
ldc "req_attribute"
aastore
54: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
bipush 11
ldc "ssl_key_size"
aastore
55: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
bipush 12
ldc "secret"
aastore
56: getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
bipush 13
ldc "stored_method"
aastore
57: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String, boolean, int, int, boolean);
descriptor: (Ljava/lang/String;ZIIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.undertow.server.protocol.ajp.AjpRequestParser.encoding:Ljava/lang/String;
2: aload 0
iload 2
putfield io.undertow.server.protocol.ajp.AjpRequestParser.doDecode:Z
3: aload 0
iload 3
putfield io.undertow.server.protocol.ajp.AjpRequestParser.maxParameters:I
4: aload 0
iload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParser.maxHeaders:I
5: aload 0
iload 5
putfield io.undertow.server.protocol.ajp.AjpRequestParser.allowEncodedSlash:Z
6: 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 7 0 this Lio/undertow/server/protocol/ajp/AjpRequestParser;
0 7 1 encoding Ljava/lang/String;
0 7 2 doDecode Z
0 7 3 maxParameters I
0 7 4 maxHeaders I
0 7 5 allowEncodedSlash Z
MethodParameters:
Name Flags
encoding
doDecode
maxParameters
maxHeaders
allowEncodedSlash
public void parse(java.nio.ByteBuffer, io.undertow.server.protocol.ajp.AjpRequestParseState, io.undertow.server.HttpServerExchange);
descriptor: (Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/HttpServerExchange;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
tableswitch { // 0 - 14
0: 3
1: 198
2: 8
3: 13
4: 21
5: 30
6: 36
7: 60
8: 66
9: 70
10: 76
11: 82
12: 90
13: 98
14: 121
default: 198
}
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parse16BitInteger:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;)Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
astore 4
start local 4 4: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.readComplete:Z
ifne 6
5: return
6: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder
StackMap stack:
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.value:I
sipush 4660
if_icmpeq 8
7: new io.undertow.util.BadRequestException
dup
getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.value:I
invokeinterface io.undertow.UndertowMessages.wrongMagicNumber:(I)Ljava/io/IOException;
invokespecial io.undertow.util.BadRequestException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 8: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parse16BitInteger:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;)Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
astore 4
start local 4 9: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.readComplete:Z
ifne 12
10: aload 2
iconst_2
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
11: return
12: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder
StackMap stack:
aload 2
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.value:I
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.dataSize:I
end local 4 13: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 16
14: aload 2
iconst_3
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
15: return
16: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 4
start local 4 17: aload 2
iload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.prefix:B
18: iload 4
iconst_2
if_icmpeq 21
19: aload 2
bipush 15
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
20: return
end local 4 21: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 24
22: aload 2
iconst_4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
23: return
24: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 4
start local 4 25: iload 4
ifle 28
iload 4
bipush 28
if_icmpge 28
26: aload 3
getstatic io.undertow.server.protocol.ajp.AjpRequestParser.HTTP_METHODS:[Lio/undertow/util/HttpString;
iload 4
aaload
invokevirtual io.undertow.server.HttpServerExchange.setRequestMethod:(Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
pop
27: goto 30
StackMap locals: int
StackMap stack:
28: iload 4
sipush 255
iand
sipush 255
if_icmpeq 30
29: new io.undertow.util.BadRequestException
dup
new java.lang.StringBuilder
dup
ldc "Unknown method type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.undertow.util.BadRequestException.<init>:(Ljava/lang/String;)V
athrow
end local 4 30: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.OTHER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 4
start local 4 31: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifeq 34
32: aload 3
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
invokestatic io.undertow.util.HttpString.tryFromString:(Ljava/lang/String;)Lio/undertow/util/HttpString;
invokevirtual io.undertow.server.HttpServerExchange.setProtocol:(Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
pop
33: goto 36
34: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
StackMap stack:
aload 2
iconst_5
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
35: return
end local 4 36: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.URL:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 4
start local 4 37: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifeq 58
38: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
istore 5
start local 5 39: iload 5
iconst_m1
if_icmpne 45
40: aload 0
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.containsUrlCharacters:Z
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.decode:(Ljava/lang/String;Z)Ljava/lang/String;
astore 6
start local 6 41: aload 3
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
invokevirtual io.undertow.server.HttpServerExchange.setRequestURI:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
42: aload 3
aload 6
invokevirtual io.undertow.server.HttpServerExchange.setRequestPath:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
43: aload 3
aload 6
invokevirtual io.undertow.server.HttpServerExchange.setRelativePath:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
end local 6 44: goto 60
45: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder int
StackMap stack:
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
iconst_0
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 6
start local 6 46: aload 0
aload 6
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.containsUrlCharacters:Z
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.decode:(Ljava/lang/String;Z)Ljava/lang/String;
astore 7
start local 7 47: aload 3
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
invokevirtual io.undertow.server.HttpServerExchange.setRequestURI:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
48: aload 3
aload 7
invokevirtual io.undertow.server.HttpServerExchange.setRequestPath:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
49: aload 3
aload 7
invokevirtual io.undertow.server.HttpServerExchange.setRelativePath:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
50: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
iload 5
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
aload 3
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.encoding:Ljava/lang/String;
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.doDecode:Z
ifeq 51
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.containsUrlCharacters:Z
ifeq 51
iconst_1
goto 52
StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder int java.lang.String java.lang.String
StackMap stack: java.lang.String io.undertow.server.HttpServerExchange java.lang.String
51: iconst_0
StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder int java.lang.String java.lang.String
StackMap stack: java.lang.String io.undertow.server.HttpServerExchange java.lang.String int
52: aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.maxParameters:I
invokestatic io.undertow.util.URLUtils.parsePathParams:(Ljava/lang/String;Lio/undertow/server/HttpServerExchange;Ljava/lang/String;ZI)V
53: goto 60
StackMap locals:
StackMap stack: io.undertow.util.ParameterLimitException
54: astore 8
start local 8 55: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
aload 8
invokeinterface io.undertow.UndertowLogger.failedToParseRequest:(Ljava/lang/Throwable;)V
56: aload 2
iconst_1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.badRequest:Z
end local 8 end local 7 end local 6 end local 5 57: goto 60
58: StackMap locals:
StackMap stack:
aload 2
bipush 6
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
59: return
end local 4 60: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.OTHER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 4
start local 4 61: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifeq 64
62: aload 2
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.remoteAddress:Ljava/lang/String;
63: goto 66
64: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
StackMap stack:
aload 2
bipush 7
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
65: return
end local 4 66: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.OTHER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 4
start local 4 67: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifne 70
68: aload 2
bipush 8
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
69: return
end local 4 70: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.OTHER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 4
start local 4 71: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifeq 74
72: aload 2
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.serverAddress:Ljava/lang/String;
73: goto 76
74: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
StackMap stack:
aload 2
bipush 9
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
75: return
end local 4 76: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parse16BitInteger:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;)Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
astore 4
start local 4 77: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.readComplete:Z
ifeq 80
78: aload 2
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.value:I
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.serverPort:I
79: goto 82
80: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder
StackMap stack:
aload 2
bipush 10
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
81: return
end local 4 82: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 85
83: aload 2
bipush 11
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
84: return
85: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 4
start local 4 86: iload 4
ifeq 89
87: aload 3
ldc "https"
invokevirtual io.undertow.server.HttpServerExchange.setRequestScheme:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
88: goto 90
89: StackMap locals: int
StackMap stack:
aload 3
ldc "http"
invokevirtual io.undertow.server.HttpServerExchange.setRequestScheme:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
end local 4 90: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parse16BitInteger:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;)Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
astore 4
start local 4 91: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.readComplete:Z
ifne 94
92: aload 2
bipush 12
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
93: return
94: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder
StackMap stack:
aload 2
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.value:I
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.numHeaders:I
95: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.numHeaders:I
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.maxHeaders:I
if_icmple 98
96: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
new io.undertow.util.BadRequestException
dup
getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.maxHeaders:I
invokeinterface io.undertow.UndertowMessages.tooManyHeaders:(I)Ljava/lang/String;
invokespecial io.undertow.util.BadRequestException.<init>:(Ljava/lang/String;)V
invokeinterface io.undertow.UndertowLogger.failedToParseRequest:(Ljava/lang/Throwable;)V
97: aload 2
iconst_1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.badRequest:Z
end local 4 98: StackMap locals:
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.readHeaders:I
istore 4
start local 4 99: goto 120
100: StackMap locals: int
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentHeader:Lio/undertow/util/HttpString;
ifnonnull 111
101: aload 0
aload 1
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.HEADER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 5
start local 5 102: aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifne 106
103: aload 2
bipush 13
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
104: aload 2
iload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.readHeaders:I
105: return
106: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
StackMap stack:
aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.header:Lio/undertow/util/HttpString;
ifnull 109
107: aload 2
aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.header:Lio/undertow/util/HttpString;
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentHeader:Lio/undertow/util/HttpString;
108: goto 111
109: StackMap locals:
StackMap stack:
aload 2
aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
invokestatic io.undertow.util.HttpString.tryFromString:(Ljava/lang/String;)Lio/undertow/util/HttpString;
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentHeader:Lio/undertow/util/HttpString;
110: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentHeader:Lio/undertow/util/HttpString;
invokestatic io.undertow.server.Connectors.verifyToken:(Lio/undertow/util/HttpString;)V
end local 5 111: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.OTHER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 5
start local 5 112: aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifne 116
113: aload 2
bipush 13
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
114: aload 2
iload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.readHeaders:I
115: return
116: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.badRequest:Z
ifne 118
117: aload 3
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentHeader:Lio/undertow/util/HttpString;
aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
invokevirtual io.undertow.util.HeaderMap.add:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
118: StackMap locals:
StackMap stack:
aload 2
aconst_null
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentHeader:Lio/undertow/util/HttpString;
119: iinc 4 1
end local 5 120: StackMap locals:
StackMap stack:
iload 4
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.numHeaders:I
if_icmplt 100
end local 4 121: StackMap locals:
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ifnonnull 135
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentIntegerPart:I
iconst_m1
if_icmpne 135
122: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 125
123: aload 2
bipush 14
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
124: return
125: StackMap locals:
StackMap stack:
sipush 255
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
iand
istore 4
start local 4 126: iload 4
sipush 255
if_icmpne 129
127: aload 2
bipush 15
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
128: return
129: StackMap locals: int
StackMap stack:
iload 4
bipush 10
if_icmpne 132
130: aload 2
iconst_1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentIntegerPart:I
131: goto 135
132: StackMap locals:
StackMap stack:
iload 4
ifeq 121
iload 4
getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
arraylength
if_icmplt 134
133: goto 121
134: StackMap locals:
StackMap stack:
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser.ATTRIBUTES:[Ljava/lang/String;
iload 4
aaload
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
end local 4 135: StackMap locals:
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentIntegerPart:I
iconst_1
if_icmpne 142
136: aload 0
aload 1
aload 2
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.OTHER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 4
start local 4 137: aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifne 140
138: aload 2
bipush 14
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
139: return
140: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
StackMap stack:
aload 2
aload 4
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
141: aload 2
iconst_m1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentIntegerPart:I
end local 4 142: StackMap locals:
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "ssl_key_size"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 149
143: aload 0
aload 1
aload 2
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parse16BitInteger:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;)Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
astore 5
start local 5 144: aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.readComplete:Z
ifne 147
145: aload 2
bipush 14
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
146: return
147: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange top io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder
StackMap stack:
aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.value:I
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
astore 4
end local 5 start local 4 148: goto 156
end local 4 149: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange
StackMap stack:
aload 0
aload 1
aload 2
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "query_string"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 150
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.QUERY_STRING:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
goto 151
StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange
StackMap stack: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState
150: getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.OTHER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange
StackMap stack: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.protocol.ajp.AjpRequestParser$StringType
151: invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.parseString:(Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
astore 5
start local 5 152: aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.readComplete:Z
ifne 155
153: aload 2
bipush 14
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
154: return
155: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange top io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
StackMap stack:
aload 5
getfield io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.value:Ljava/lang/String;
astore 4
end local 5 start local 4 156: StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange java.lang.String
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "query_string"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 167
157: aload 4
ifnonnull 158
ldc ""
goto 159
StackMap locals:
StackMap stack:
158: aload 4
StackMap locals:
StackMap stack: java.lang.String
159: astore 5
start local 5 160: aload 3
aload 5
invokevirtual io.undertow.server.HttpServerExchange.setQueryString:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
161: aload 5
aload 3
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.encoding:Ljava/lang/String;
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.doDecode:Z
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.maxParameters:I
invokestatic io.undertow.util.URLUtils.parseQueryString:(Ljava/lang/String;Lio/undertow/server/HttpServerExchange;Ljava/lang/String;ZI)V
162: goto 196
StackMap locals: io.undertow.server.protocol.ajp.AjpRequestParser java.nio.ByteBuffer io.undertow.server.protocol.ajp.AjpRequestParseState io.undertow.server.HttpServerExchange java.lang.String java.lang.String
StackMap stack: io.undertow.util.ParameterLimitException
163: astore 6
start local 6 164: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
aload 6
invokeinterface io.undertow.UndertowLogger.failedToParseRequest:(Ljava/lang/Throwable;)V
165: aload 2
iconst_1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.badRequest:Z
end local 6 end local 5 166: goto 196
StackMap locals:
StackMap stack:
167: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "remote_user"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 170
168: aload 3
getstatic io.undertow.security.impl.ExternalAuthenticationMechanism.EXTERNAL_PRINCIPAL:Lio/undertow/util/AttachmentKey;
aload 4
invokevirtual io.undertow.server.HttpServerExchange.putAttachment:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
pop
169: goto 196
StackMap locals:
StackMap stack:
170: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "auth_type"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 173
171: aload 3
getstatic io.undertow.security.impl.ExternalAuthenticationMechanism.EXTERNAL_AUTHENTICATION_TYPE:Lio/undertow/util/AttachmentKey;
aload 4
invokevirtual io.undertow.server.HttpServerExchange.putAttachment:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
pop
172: goto 196
StackMap locals:
StackMap stack:
173: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "stored_method"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 178
174: new io.undertow.util.HttpString
dup
aload 4
invokespecial io.undertow.util.HttpString.<init>:(Ljava/lang/String;)V
astore 5
start local 5 175: aload 5
invokestatic io.undertow.server.Connectors.verifyToken:(Lio/undertow/util/HttpString;)V
176: aload 3
aload 5
invokevirtual io.undertow.server.HttpServerExchange.setRequestMethod:(Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
pop
end local 5 177: goto 196
StackMap locals:
StackMap stack:
178: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "AJP_REMOTE_PORT"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 181
179: aload 2
aload 4
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.remotePort:I
180: goto 196
StackMap locals:
StackMap stack:
181: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "ssl_session"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 184
182: aload 2
aload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.sslSessionId:Ljava/lang/String;
183: goto 196
StackMap locals:
StackMap stack:
184: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "ssl_cipher"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 187
185: aload 2
aload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.sslCipher:Ljava/lang/String;
186: goto 196
StackMap locals:
StackMap stack:
187: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "ssl_cert"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 190
188: aload 2
aload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.sslCert:Ljava/lang/String;
189: goto 196
StackMap locals:
StackMap stack:
190: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
ldc "ssl_key_size"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 193
191: aload 2
aload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.sslKeySize:Ljava/lang/String;
192: goto 196
193: StackMap locals:
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.attributes:Ljava/util/Map;
ifnonnull 195
194: aload 2
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.attributes:Ljava/util/Map;
195: StackMap locals:
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.attributes:Ljava/util/Map;
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
196: StackMap locals:
StackMap stack:
aload 2
aconst_null
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentAttribute:Ljava/lang/String;
end local 4 197: goto 121
198: StackMap locals:
StackMap stack:
aload 2
bipush 15
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.state:I
199: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 200 0 this Lio/undertow/server/protocol/ajp/AjpRequestParser;
0 200 1 buf Ljava/nio/ByteBuffer;
0 200 2 state Lio/undertow/server/protocol/ajp/AjpRequestParseState;
0 200 3 exchange Lio/undertow/server/HttpServerExchange;
4 8 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
9 13 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
17 21 4 prefix B
25 30 4 method I
31 36 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
37 60 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
39 57 5 colon I
41 44 6 res Ljava/lang/String;
46 57 6 url Ljava/lang/String;
47 57 7 res Ljava/lang/String;
55 57 8 e Lio/undertow/util/ParameterLimitException;
61 66 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
67 70 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
71 76 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
77 82 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
86 90 4 isSsl B
91 98 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
99 121 4 readHeaders I
102 111 5 result Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
112 120 5 result Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
126 135 4 val I
137 142 4 result Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
148 149 4 result Ljava/lang/String;
156 197 4 result Ljava/lang/String;
144 148 5 resultHolder Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
152 156 5 resultHolder Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
160 166 5 resultAsQueryString Ljava/lang/String;
164 166 6 e Lio/undertow/util/ParameterLimitException;
175 177 5 requestMethod Lio/undertow/util/HttpString;
Exception table:
from to target type
50 53 54 Class io.undertow.util.ParameterLimitException
161 162 163 Class io.undertow.util.ParameterLimitException
Exceptions:
throws java.io.IOException, io.undertow.util.BadRequestException
MethodParameters:
Name Flags
buf final
state final
exchange final
private java.lang.String decode(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.doDecode:Z
ifeq 7
iload 2
ifeq 7
1: aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.decodeBuffer:Ljava/lang/StringBuilder;
ifnonnull 3
2: aload 0
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
putfield io.undertow.server.protocol.ajp.AjpRequestParser.decodeBuffer:Ljava/lang/StringBuilder;
3: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.encoding:Ljava/lang/String;
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.allowEncodedSlash:Z
iconst_0
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.decodeBuffer:Ljava/lang/StringBuilder;
invokestatic io.undertow.util.URLUtils.decode:(Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/StringBuilder;)Ljava/lang/String;
4: areturn
5: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 6: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
aload 1
aload 0
getfield io.undertow.server.protocol.ajp.AjpRequestParser.encoding:Ljava/lang/String;
aload 3
invokeinterface io.undertow.UndertowMessages.failedToDecodeURL:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Exception;)Ljava/lang/IllegalArgumentException;
athrow
end local 3 7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/server/protocol/ajp/AjpRequestParser;
0 8 1 url Ljava/lang/String;
0 8 2 containsUrlCharacters Z
6 7 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 4 5 Class java.lang.Exception
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
url
containsUrlCharacters 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.server.protocol.ajp.AjpRequestParser.HTTP_HEADERS:[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/server/protocol/ajp/AjpRequestParser;
0 1 1 offset I
MethodParameters:
Name Flags
offset
protected io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder parse16BitInteger(java.nio.ByteBuffer, io.undertow.server.protocol.ajp.AjpRequestParseState);
descriptor: (Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;)Lio/undertow/server/protocol/ajp/AjpRequestParser$IntegerHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
1: new io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder
dup
iconst_m1
iconst_0
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.<init>:(IZ)V
areturn
2: StackMap locals:
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentIntegerPart:I
istore 3
start local 3 3: iload 3
iconst_m1
if_icmpne 5
4: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 3
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 4
start local 4 7: sipush 255
iload 3
iand
bipush 8
ishl
iload 4
sipush 255
iand
iadd
istore 5
start local 5 8: aload 2
iconst_m1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentIntegerPart:I
9: new io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder
dup
iload 5
iconst_1
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.<init>:(IZ)V
areturn
end local 5 end local 4 10: StackMap locals:
StackMap stack:
aload 2
iload 3
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.currentIntegerPart:I
11: new io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder
dup
iconst_m1
iconst_0
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder.<init>:(IZ)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/undertow/server/protocol/ajp/AjpRequestParser;
0 12 1 buf Ljava/nio/ByteBuffer;
0 12 2 state Lio/undertow/server/protocol/ajp/AjpRequestParseState;
3 12 3 number I
7 10 4 b B
8 10 5 result I
MethodParameters:
Name Flags
buf
state
protected io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder parseString(java.nio.ByteBuffer, io.undertow.server.protocol.ajp.AjpRequestParseState, io.undertow.server.protocol.ajp.AjpRequestParser$StringType);
descriptor: (Ljava/nio/ByteBuffer;Lio/undertow/server/protocol/ajp/AjpRequestParseState;Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;)Lio/undertow/server/protocol/ajp/AjpRequestParser$StringHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.containsUrlCharacters:Z
istore 4
start local 4 1: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 3
2: new io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
dup
aconst_null
iconst_0
iconst_0
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
3: StackMap locals: int
StackMap stack:
aload 2
getfield io.undertow.server.protocol.ajp.AjpRequestParseState.stringLength:I
istore 5
start local 5 4: iload 5
iconst_m1
if_icmpne 12
5: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
istore 6
start local 6 6: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 10
7: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
start local 7 8: sipush 255
iload 6
iand
bipush 8
ishl
iload 7
sipush 255
iand
iadd
istore 5
end local 7 9: goto 15
10: StackMap locals: int int
StackMap stack:
aload 2
iload 6
ldc -2147483648
ior
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.stringLength:I
11: new io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
dup
aconst_null
iconst_0
iconst_0
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
end local 6 12: StackMap locals:
StackMap stack:
iload 5
ldc -2147483648
iand
ifeq 15
13: iload 5
ldc 2147483647
iand
istore 6
start local 6 14: sipush 255
iload 6
iand
bipush 8
ishl
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
sipush 255
iand
iadd
istore 5
end local 6 15: StackMap locals:
StackMap stack:
aload 3
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.HEADER:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
if_acmpne 18
iload 5
ldc 65280
iand
ifeq 18
16: aload 2
iconst_m1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.stringLength:I
17: new io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
dup
aload 0
iload 5
sipush 255
iand
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParser.headers:(I)Lio/undertow/util/HttpString;
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.<init>:(Lio/undertow/util/HttpString;)V
areturn
18: StackMap locals:
StackMap stack:
iload 5
ldc 65535
if_icmpne 21
19: aload 2
iconst_m1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.stringLength:I
20: new io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
dup
aconst_null
iconst_1
iconst_0
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParseState.getCurrentStringLength:()I
istore 6
start local 6 22: goto 35
23: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 27
24: aload 2
iload 5
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.stringLength:I
25: aload 2
iload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.containsUrlCharacters:Z
26: new io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
dup
aconst_null
iconst_0
iconst_0
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
27: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
start local 7 28: aload 3
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.QUERY_STRING:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
if_acmpne 31
iload 7
bipush 43
if_icmpeq 29
iload 7
bipush 37
if_icmpne 31
29: StackMap locals: int
StackMap stack:
iconst_1
istore 4
30: goto 33
StackMap locals:
StackMap stack:
31: aload 3
getstatic io.undertow.server.protocol.ajp.AjpRequestParser$StringType.URL:Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
if_acmpne 33
iload 7
bipush 37
if_icmpne 33
32: iconst_1
istore 4
33: StackMap locals:
StackMap stack:
aload 2
iload 7
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParseState.addStringByte:(B)V
34: iinc 6 1
end local 7 35: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmplt 23
36: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 42
37: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
pop
38: aload 2
invokevirtual io.undertow.server.protocol.ajp.AjpRequestParseState.getStringAndClear:()Ljava/lang/String;
astore 7
start local 7 39: aload 2
iconst_m1
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.stringLength:I
40: aload 2
iconst_0
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.containsUrlCharacters:Z
41: new io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
dup
aload 7
iconst_1
iload 4
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder.<init>:(Ljava/lang/String;ZZ)V
areturn
end local 7 42: StackMap locals:
StackMap stack:
aload 2
iload 5
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.stringLength:I
43: aload 2
iload 4
putfield io.undertow.server.protocol.ajp.AjpRequestParseState.containsUrlCharacters:Z
44: new io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder
dup
aconst_null
iconst_0
iconst_0
invokespecial io.undertow.server.protocol.ajp.AjpRequestParser$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 45 0 this Lio/undertow/server/protocol/ajp/AjpRequestParser;
0 45 1 buf Ljava/nio/ByteBuffer;
0 45 2 state Lio/undertow/server/protocol/ajp/AjpRequestParseState;
0 45 3 type Lio/undertow/server/protocol/ajp/AjpRequestParser$StringType;
1 45 4 containsUrlCharacters Z
4 45 5 stringLength I
6 12 6 number I
8 9 7 b B
14 15 6 number I
22 45 6 length I
28 35 7 c B
39 42 7 value Ljava/lang/String;
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
buf
state
type
}
SourceFile: "AjpRequestParser.java"
NestMembers:
io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder io.undertow.server.protocol.ajp.AjpRequestParser$StringType
InnerClasses:
protected IntegerHolder = io.undertow.server.protocol.ajp.AjpRequestParser$IntegerHolder of io.undertow.server.protocol.ajp.AjpRequestParser
protected StringHolder = io.undertow.server.protocol.ajp.AjpRequestParser$StringHolder of io.undertow.server.protocol.ajp.AjpRequestParser
final StringType = io.undertow.server.protocol.ajp.AjpRequestParser$StringType of io.undertow.server.protocol.ajp.AjpRequestParser