class org.glassfish.grizzly.http2.DecoderUtils extends org.glassfish.grizzly.http2.EncoderDecoderUtilsBase
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.glassfish.grizzly.http2.DecoderUtils
super_class: org.glassfish.grizzly.http2.EncoderDecoderUtilsBase
{
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String INVALID_CHARACTER_MESSAGE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "Invalid character 0x%02x at index '%s' found in header %s [%s: %s]"
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/http2/DecoderUtils;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.glassfish.grizzly.http2.DecoderUtils.$assertionsDisabled:Z
3: ldc Lorg/glassfish/grizzly/http2/DecoderUtils;
invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.http2.DecoderUtils.LOGGER:Ljava/util/logging/Logger;
4: return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.glassfish.grizzly.http2.EncoderDecoderUtilsBase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http2/DecoderUtils;
static void decodeRequestHeaders(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http.HttpRequestPacket, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpRequestPacket;Ljava/util/Map;)V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 1: new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
astore 4
start local 4 2: aload 0
invokevirtual org.glassfish.grizzly.http2.Http2Session.getHeadersDecoder:()Lorg/glassfish/grizzly/http2/HeadersDecoder;
new org.glassfish.grizzly.http2.DecoderUtils$1
dup
aload 2
aload 4
aload 1
aload 3
invokespecial org.glassfish.grizzly.http2.DecoderUtils$1.<init>:(Ljava/util/Map;Ljava/util/concurrent/atomic/AtomicBoolean;Lorg/glassfish/grizzly/http/HttpRequestPacket;Ljava/util/Set;)V
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.decode:(Lorg/glassfish/grizzly/http2/hpack/DecodingCallback;)V
3: aload 3
invokeinterface java.util.Set.size:()I
iconst_3
if_icmpeq 13
4: new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;)V
athrow
5: StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http.HttpRequestPacket java.util.Map java.util.Set java.util.concurrent.atomic.AtomicBoolean
StackMap stack: java.lang.RuntimeException
astore 5
start local 5 6: aload 5
instanceof org.glassfish.grizzly.http2.HeaderDecodingException
ifeq 8
7: aload 5
athrow
8: StackMap locals: java.lang.RuntimeException
StackMap stack:
new java.io.IOException
dup
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 9: StackMap locals: org.glassfish.grizzly.http2.Http2Session org.glassfish.grizzly.http.HttpRequestPacket java.util.Map java.util.Set java.util.concurrent.atomic.AtomicBoolean
StackMap stack: java.lang.Throwable
astore 6
10: aload 1
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
11: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getResponse:()Lorg/glassfish/grizzly/http/HttpResponsePacket;
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
12: aload 6
athrow
13: StackMap locals:
StackMap stack:
aload 1
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
14: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getResponse:()Lorg/glassfish/grizzly/http/HttpResponsePacket;
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 16 1 request Lorg/glassfish/grizzly/http/HttpRequestPacket;
0 16 2 capture Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 16 3 serviceHeaders Ljava/util/Set<Ljava/lang/String;>;
2 16 4 noMoreServiceHeaders Ljava/util/concurrent/atomic/AtomicBoolean;
6 9 5 re Ljava/lang/RuntimeException;
Exception table:
from to target type
2 5 5 Class java.lang.RuntimeException
2 9 9 any
Exceptions:
throws java.io.IOException, org.glassfish.grizzly.http2.HeaderDecodingException
Signature: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpRequestPacket;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
http2Session final
request final
capture final
static void decodeResponseHeaders(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http.HttpResponsePacket, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpResponsePacket;Ljava/util/Map;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.glassfish.grizzly.http2.Http2Session.getHeadersDecoder:()Lorg/glassfish/grizzly/http2/HeadersDecoder;
new org.glassfish.grizzly.http2.DecoderUtils$2
dup
aload 2
aload 1
invokespecial org.glassfish.grizzly.http2.DecoderUtils$2.<init>:(Ljava/util/Map;Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.decode:(Lorg/glassfish/grizzly/http2/hpack/DecodingCallback;)V
1: goto 8
StackMap locals:
StackMap stack: java.lang.RuntimeException
2: astore 3
start local 3 3: new java.io.IOException
dup
aload 3
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
5: aload 1
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
6: aload 1
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
7: aload 4
athrow
8: StackMap locals:
StackMap stack:
aload 1
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
9: aload 1
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
getstatic org.glassfish.grizzly.http.Protocol.HTTP_2_0:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 11 1 response Lorg/glassfish/grizzly/http/HttpResponsePacket;
0 11 2 capture Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
3 4 3 re Ljava/lang/RuntimeException;
Exception table:
from to target type
0 1 2 Class java.lang.RuntimeException
0 4 4 any
Exceptions:
throws java.io.IOException
Signature: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpResponsePacket;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
http2Session final
response final
capture final
static void decodeTrailerHeaders(org.glassfish.grizzly.http2.Http2Session, org.glassfish.grizzly.http.HttpHeader, java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpHeader;Ljava/util/Map;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.glassfish.grizzly.http.HttpHeader.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
astore 3
start local 3 1: aload 0
invokevirtual org.glassfish.grizzly.http2.Http2Session.getHeadersDecoder:()Lorg/glassfish/grizzly/http2/HeadersDecoder;
new org.glassfish.grizzly.http2.DecoderUtils$3
dup
aload 2
aload 3
invokespecial org.glassfish.grizzly.http2.DecoderUtils$3.<init>:(Ljava/util/Map;Lorg/glassfish/grizzly/http/util/MimeHeaders;)V
invokevirtual org.glassfish.grizzly.http2.HeadersDecoder.decode:(Lorg/glassfish/grizzly/http2/hpack/DecodingCallback;)V
end local 3 2: goto 5
StackMap locals:
StackMap stack: java.lang.RuntimeException
3: astore 3
start local 3 4: new java.io.IOException
dup
aload 3
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 http2Session Lorg/glassfish/grizzly/http2/Http2Session;
0 6 1 header Lorg/glassfish/grizzly/http/HttpHeader;
0 6 2 capture Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 2 3 headers Lorg/glassfish/grizzly/http/util/MimeHeaders;
4 5 3 re Ljava/lang/RuntimeException;
Exception table:
from to target type
0 2 3 Class java.lang.RuntimeException
Exceptions:
throws java.io.IOException
Signature: (Lorg/glassfish/grizzly/http2/Http2Session;Lorg/glassfish/grizzly/http/HttpHeader;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)V
MethodParameters:
Name Flags
http2Session final
header final
capture final
private static void processServiceRequestHeader(org.glassfish.grizzly.http.HttpRequestPacket, java.util.Set<java.lang.String>, java.lang.String, java.lang.String);
descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual java.lang.String.length:()I
istore 4
start local 4 1: aload 2
dup
astore 5
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 4
-1332238263: 2
-1141949029: 3
-972381601: 4
56997727: 5
default: 43
}
StackMap locals: int java.lang.String
StackMap stack:
2: aload 5
ldc ":authority"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 40
goto 43
StackMap locals:
StackMap stack:
3: aload 5
ldc ":method"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
goto 43
StackMap locals:
StackMap stack:
4: aload 5
ldc ":scheme"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 31
goto 43
StackMap locals:
StackMap stack:
5: aload 5
ldc ":path"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 43
6: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 11
7: new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
8: getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
9: ldc "Duplicate :path"
10: invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifeq 16
12: new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
13: getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
14: ldc "Empty :path"
15: invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 3
bipush 63
invokevirtual java.lang.String.indexOf:(I)I
istore 6
start local 6 17: iload 6
iconst_m1
if_icmpne 20
18: aload 0
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getRequestURIRef:()Lorg/glassfish/grizzly/http/util/RequestURIRef;
aload 3
invokevirtual org.glassfish.grizzly.http.util.RequestURIRef.init:(Ljava/lang/String;)V
19: goto 23
20: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getRequestURIRef:()Lorg/glassfish/grizzly/http/util/RequestURIRef;
aload 3
iconst_0
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.util.RequestURIRef.init:(Ljava/lang/String;)V
21: iload 6
iload 4
iconst_1
isub
if_icmpge 23
22: aload 0
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getQueryStringDC:()Lorg/glassfish/grizzly/http/util/DataChunk;
aload 3
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
23: StackMap locals:
StackMap stack:
return
end local 6 24: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 29
25: new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
26: getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
27: ldc "Duplicate :method"
28: invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
29: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getMethodDC:()Lorg/glassfish/grizzly/http/util/DataChunk;
aload 3
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
30: return
31: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifne 36
32: new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
33: getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
34: ldc "Duplicate :scheme"
35: invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
aload 0
iload 4
iconst_5
if_icmpne 37
iconst_1
goto 38
StackMap locals:
StackMap stack: org.glassfish.grizzly.http.HttpRequestPacket
37: iconst_0
StackMap locals: org.glassfish.grizzly.http.HttpRequestPacket java.util.Set java.lang.String java.lang.String int java.lang.String
StackMap stack: org.glassfish.grizzly.http.HttpRequestPacket int
38: invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.setSecure:(Z)V
39: return
40: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
getstatic org.glassfish.grizzly.http.util.Header.Host:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.setValue:(Lorg/glassfish/grizzly/http/util/Header;)Lorg/glassfish/grizzly/http/util/DataChunk;
41: aload 3
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
42: return
43: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
44: getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
45: new java.lang.StringBuilder
dup
ldc "Unknown service header: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
46: invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 request Lorg/glassfish/grizzly/http/HttpRequestPacket;
0 47 1 serviceHeaders Ljava/util/Set<Ljava/lang/String;>;
0 47 2 name Ljava/lang/String;
0 47 3 value Ljava/lang/String;
1 47 4 valueLen I
17 24 6 questionIdx I
Signature: (Lorg/glassfish/grizzly/http/HttpRequestPacket;Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;)V
MethodParameters:
Name Flags
request final
serviceHeaders final
name final
value final
private static void (org.glassfish.grizzly.http.HttpResponsePacket, java.lang.String, java.lang.String);
descriptor: (Lorg/glassfish/grizzly/http/HttpResponsePacket;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic org.glassfish.grizzly.http2.DecoderUtils.validateHeaderCharacters:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
1: aload 2
invokevirtual java.lang.String.length:()I
istore 3
start local 3 2: aload 1
dup
astore 4
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 1
-956875604: 3
default: 7
}
StackMap locals: int java.lang.String
StackMap stack:
3: aload 4
ldc ":status"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
goto 7
4: StackMap locals:
StackMap stack:
iload 3
iconst_3
if_icmpeq 6
5: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unexpected status code: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setStatus:(I)V
7: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.http2.DecoderUtils.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Skipping unknown service header[{0}={1}"
8: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
9: invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 response Lorg/glassfish/grizzly/http/HttpResponsePacket;
0 11 1 name Ljava/lang/String;
0 11 2 value Ljava/lang/String;
2 11 3 valueLen I
MethodParameters:
Name Flags
response final
name final
value final
private static void (org.glassfish.grizzly.http.HttpHeader, java.lang.String, java.lang.String);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic org.glassfish.grizzly.http.util.Header.Host:Lorg/glassfish/grizzly/http/util/Header;
invokevirtual org.glassfish.grizzly.http.util.Header.getLowerCase:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.HttpHeader.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
astore 3
start local 3 3: aload 3
aload 1
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.addValue:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/util/DataChunk;
4: astore 4
start local 4 5: aload 1
aload 2
invokestatic org.glassfish.grizzly.http2.DecoderUtils.validateHeaderCharacters:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
6: aload 4
aload 2
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
7: aload 0
aload 1
aload 2
invokestatic org.glassfish.grizzly.http2.DecoderUtils.finalizeKnownHeader:(Lorg/glassfish/grizzly/http/HttpHeader;Ljava/lang/String;Ljava/lang/String;)V
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 9 1 name Ljava/lang/String;
0 9 2 value Ljava/lang/String;
3 9 3 mimeHeaders Lorg/glassfish/grizzly/http/util/MimeHeaders;
5 9 4 valueChunk Lorg/glassfish/grizzly/http/util/DataChunk;
MethodParameters:
Name Flags
httpHeader final
name final
value final
private static void (org.glassfish.grizzly.http.HttpHeader, java.lang.String, java.lang.String);
descriptor: (Lorg/glassfish/grizzly/http/HttpHeader;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
dup
astore 3
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 5
-1289163687: 1
-1132779846: 2
-775651618: 3
-231171556: 4
3697: 5
default: 14
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 3
ldc "expect"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 14
StackMap locals:
StackMap stack:
2: aload 3
ldc "content-length"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 14
StackMap locals:
StackMap stack:
3: aload 3
ldc "connection"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
goto 14
StackMap locals:
StackMap stack:
4: aload 3
ldc "upgrade"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 14
StackMap locals:
StackMap stack:
5: aload 3
ldc "te"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 12
goto 14
6: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
invokevirtual org.glassfish.grizzly.http.HttpHeader.setContentLengthLong:(J)V
7: return
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.http.HttpHeader.getUpgradeDC:()Lorg/glassfish/grizzly/http/util/DataChunk;
aload 2
invokevirtual org.glassfish.grizzly.http.util.DataChunk.setString:(Ljava/lang/String;)V
9: return
10: StackMap locals:
StackMap stack:
aload 0
checkcast org.glassfish.grizzly.http2.Http2Request
iconst_1
invokevirtual org.glassfish.grizzly.http2.Http2Request.requiresAcknowledgement:(Z)V
11: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
ldc "Invalid use of connection header."
invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
ldc "trailers"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
13: new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
ldc "TE header only allowed a value of trailers."
invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 httpHeader Lorg/glassfish/grizzly/http/HttpHeader;
0 15 1 name Ljava/lang/String;
0 15 2 value Ljava/lang/String;
MethodParameters:
Name Flags
httpHeader final
name final
value final
private static void (java.lang.CharSequence, java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: getstatic org.glassfish.grizzly.http2.DecoderUtils.$assertionsDisabled:Z
ifne 1
aload 0
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.http2.DecoderUtils.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokestatic org.glassfish.grizzly.http2.DecoderUtils.ensureRange:(Ljava/lang/CharSequence;)I
istore 2
start local 2 3: iload 2
iconst_m1
if_icmpeq 6
4: ldc "Invalid character 0x%02x at index '%s' found in header %s [%s: %s]"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
iload 2
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
ldc "name"
aastore
dup
iconst_3
aload 0
aastore
dup
iconst_4
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 5: new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
aload 3
invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
end local 3 6: StackMap locals: int
StackMap stack:
aload 1
invokestatic org.glassfish.grizzly.http2.DecoderUtils.ensureRange:(Ljava/lang/CharSequence;)I
istore 2
7: iload 2
iconst_m1
if_icmpeq 10
8: ldc "Invalid character 0x%02x at index '%s' found in header %s [%s: %s]"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
iload 2
invokeinterface java.lang.CharSequence.charAt:(I)C
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
ldc "value"
aastore
dup
iconst_3
aload 0
aastore
dup
iconst_4
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 3
start local 3 9: new org.glassfish.grizzly.http2.HeaderDecodingException
dup
getstatic org.glassfish.grizzly.http2.frames.ErrorCode.PROTOCOL_ERROR:Lorg/glassfish/grizzly/http2/frames/ErrorCode;
getstatic org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType.STREAM:Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;
aload 3
invokespecial org.glassfish.grizzly.http2.HeaderDecodingException.<init>:(Lorg/glassfish/grizzly/http2/frames/ErrorCode;Lorg/glassfish/grizzly/http2/HeaderDecodingException$ErrorType;Ljava/lang/String;)V
athrow
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 name Ljava/lang/CharSequence;
0 11 1 value Ljava/lang/CharSequence;
3 11 2 idx I
5 6 3 msg Ljava/lang/String;
9 10 3 msg Ljava/lang/String;
MethodParameters:
Name Flags
name final
value final
private static int ensureRange(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokeinterface java.lang.CharSequence.length:()I
istore 2
start local 2 2: goto 7
3: StackMap locals: int int
StackMap stack:
aload 0
iload 1
invokeinterface java.lang.CharSequence.charAt:(I)C
istore 3
start local 3 4: iload 3
bipush 32
if_icmplt 5
iload 3
sipush 255
if_icmple 6
5: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 3 6: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
iload 2
if_icmplt 3
end local 2 end local 1 8: iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 cs Ljava/lang/CharSequence;
1 8 1 i I
2 8 2 len I
4 6 3 c C
MethodParameters:
Name Flags
cs final
}
SourceFile: "DecoderUtils.java"
NestMembers:
org.glassfish.grizzly.http2.DecoderUtils$1 org.glassfish.grizzly.http2.DecoderUtils$2 org.glassfish.grizzly.http2.DecoderUtils$3
InnerClasses:
org.glassfish.grizzly.http2.DecoderUtils$1
org.glassfish.grizzly.http2.DecoderUtils$2
org.glassfish.grizzly.http2.DecoderUtils$3
final ErrorType = org.glassfish.grizzly.http2.HeaderDecodingException$ErrorType of org.glassfish.grizzly.http2.HeaderDecodingException