public abstract class org.glassfish.grizzly.websockets.HandShake
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.glassfish.grizzly.websockets.HandShake
super_class: java.lang.Object
{
private org.glassfish.grizzly.http.HttpRequestPacket$Builder builder;
descriptor: Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
flags: (0x0002) ACC_PRIVATE
private boolean secure;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.String origin;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String serverHostName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int port;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String resourcePath;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String location;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.util.List<java.lang.String> subProtocol;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljava/lang/String;>;
private java.util.List<org.glassfish.grizzly.websockets.Extension> extensions;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
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/websockets/HandShake;
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.websockets.HandShake.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.net.URI);
descriptor: (Ljava/net/URI;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 80
putfield org.glassfish.grizzly.websockets.HandShake.port:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.glassfish.grizzly.websockets.HandShake.subProtocol:Ljava/util/List;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.glassfish.grizzly.websockets.HandShake.extensions:Ljava/util/List;
4: aload 0
invokestatic org.glassfish.grizzly.http.HttpRequestPacket.builder:()Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
getstatic org.glassfish.grizzly.http.Protocol.HTTP_1_1:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.protocol:(Lorg/glassfish/grizzly/http/Protocol;)Lorg/glassfish/grizzly/http/HttpHeader$Builder;
checkcast org.glassfish.grizzly.http.HttpRequestPacket$Builder
getstatic org.glassfish.grizzly.http.Method.GET:Lorg/glassfish/grizzly/http/Method;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.method:(Lorg/glassfish/grizzly/http/Method;)Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
getstatic org.glassfish.grizzly.http.util.Header.Connection:Lorg/glassfish/grizzly/http/util/Header;
ldc "Upgrade"
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.header:(Lorg/glassfish/grizzly/http/util/Header;Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpHeader$Builder;
checkcast org.glassfish.grizzly.http.HttpRequestPacket$Builder
ldc "WebSocket"
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.upgrade:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpHeader$Builder;
checkcast org.glassfish.grizzly.http.HttpRequestPacket$Builder
putfield org.glassfish.grizzly.websockets.HandShake.builder:Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
5: aload 0
aload 1
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
6: ldc ""
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: aload 0
ldc "/"
putfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
8: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.net.URI
StackMap stack:
aload 1
invokevirtual java.net.URI.getQuery:()Ljava/lang/String;
ifnull 10
9: aload 0
dup
getfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.net.URI.getQuery:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.serverHostName:Ljava/lang/String;
11: aload 0
ldc "wss://"
aload 1
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putfield org.glassfish.grizzly.websockets.HandShake.secure:Z
12: aload 0
aload 1
invokevirtual java.net.URI.getPort:()I
putfield org.glassfish.grizzly.websockets.HandShake.port:I
13: new java.lang.StringBuilder
dup
bipush 32
invokespecial java.lang.StringBuilder.<init>:(I)V
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getScheme:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "://"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 2
start local 2 14: aload 0
aload 0
aload 2
invokevirtual org.glassfish.grizzly.websockets.HandShake.appendPort:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.origin:Ljava/lang/String;
15: aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.buildLocation:()V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 17 1 url Ljava/net/URI;
14 17 2 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
url
public void <init>(org.glassfish.grizzly.http.HttpRequestPacket);
descriptor: (Lorg/glassfish/grizzly/http/HttpRequestPacket;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
bipush 80
putfield org.glassfish.grizzly.websockets.HandShake.port:I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.glassfish.grizzly.websockets.HandShake.subProtocol:Ljava/util/List;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.glassfish.grizzly.websockets.HandShake.extensions:Ljava/util/List;
4: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getHeaders:()Lorg/glassfish/grizzly/http/util/MimeHeaders;
astore 2
start local 2 5: aload 0
aload 1
ldc "Upgrade"
ldc "WebSocket"
invokevirtual org.glassfish.grizzly.websockets.HandShake.checkForHeader:(Lorg/glassfish/grizzly/http/HttpHeader;Ljava/lang/String;Ljava/lang/String;)V
6: aload 0
aload 1
ldc "Connection"
ldc "Upgrade"
invokevirtual org.glassfish.grizzly.websockets.HandShake.checkForHeader:(Lorg/glassfish/grizzly/http/HttpHeader;Ljava/lang/String;Ljava/lang/String;)V
7: aload 0
aload 0
aload 2
ldc "Sec-WebSocket-Origin"
invokevirtual org.glassfish.grizzly.websockets.HandShake.readHeader:(Lorg/glassfish/grizzly/http/util/MimeHeaders;Ljava/lang/String;)Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.origin:Ljava/lang/String;
8: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.origin:Ljava/lang/String;
ifnonnull 10
9: aload 0
aload 0
aload 2
ldc "Origin"
invokevirtual org.glassfish.grizzly.websockets.HandShake.readHeader:(Lorg/glassfish/grizzly/http/util/MimeHeaders;Ljava/lang/String;)Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.origin:Ljava/lang/String;
10: StackMap locals: org.glassfish.grizzly.websockets.HandShake org.glassfish.grizzly.http.HttpRequestPacket org.glassfish.grizzly.http.util.MimeHeaders
StackMap stack:
aload 0
aload 2
invokevirtual org.glassfish.grizzly.websockets.HandShake.determineHostAndPort:(Lorg/glassfish/grizzly/http/util/MimeHeaders;)V
11: aload 0
aload 0
aload 2
ldc "Sec-WebSocket-Protocol"
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getHeader:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.websockets.HandShake.split:(Ljava/lang/String;)Ljava/util/List;
putfield org.glassfish.grizzly.websockets.HandShake.subProtocol:Ljava/util/List;
12: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.serverHostName:Ljava/lang/String;
ifnonnull 14
13: new org.glassfish.grizzly.websockets.HandshakeException
dup
ldc "Missing required headers for WebSocket negotiation"
invokespecial org.glassfish.grizzly.websockets.HandshakeException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getRequestURI:()Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
15: aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getQueryString:()Ljava/lang/String;
astore 3
start local 3 16: aload 3
ifnull 19
17: aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifne 19
18: aload 0
dup
getfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
new java.lang.StringBuilder
dup_x1
swap
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "?"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
19: StackMap locals: java.lang.String
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.buildLocation:()V
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 21 1 request Lorg/glassfish/grizzly/http/HttpRequestPacket;
5 21 2 mimeHeaders Lorg/glassfish/grizzly/http/util/MimeHeaders;
16 21 3 queryString Ljava/lang/String;
MethodParameters:
Name Flags
request
protected abstract int getVersion();
descriptor: ()I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected final void buildLocation();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=5, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getScheme:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "://"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.serverHostName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
aload 1
invokevirtual org.glassfish.grizzly.websockets.HandShake.appendPort:(Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
ifnull 3
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 4
ldc ""
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: aload 0
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.location:Ljava/lang/String;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/websockets/HandShake;
1 7 1 sb Ljava/lang/StringBuilder;
public java.lang.String getLocation();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.location:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/websockets/HandShake;
public java.lang.String getOrigin();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.origin:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/websockets/HandShake;
public int getPort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/websockets/HandShake;
public java.lang.String getResourcePath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.resourcePath:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/websockets/HandShake;
public boolean isSecure();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.secure:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/websockets/HandShake;
public java.lang.String getServerHostName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.serverHostName:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/websockets/HandShake;
public java.util.List<java.lang.String> getSubProtocol();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.subProtocol:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/websockets/HandShake;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public void setSubProtocol(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.glassfish.grizzly.websockets.HandShake.subProtocol:Ljava/util/List;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 2 1 subProtocol Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
subProtocol
private void sanitize(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnull 8
1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int
StackMap stack:
aload 1
iload 2
aload 1
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
ifnonnull 4
aconst_null
goto 5
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List int
StackMap stack: java.util.List int
4: aload 1
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.trim:()Ljava/lang/String;
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List int
StackMap stack: java.util.List int java.lang.String
5: invokeinterface java.util.List.set:(ILjava/lang/Object;)Ljava/lang/Object;
pop
6: iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 9 1 strings Ljava/util/List<Ljava/lang/String;>;
2 8 2 i I
Signature: (Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
strings
public java.util.List<org.glassfish.grizzly.websockets.Extension> getExtensions();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.extensions:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/websockets/HandShake;
Signature: ()Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
public void setExtensions(java.util.List<org.glassfish.grizzly.websockets.Extension>);
descriptor: (Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.glassfish.grizzly.websockets.HandShake.extensions:Ljava/util/List;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 2 1 extensions Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
Signature: (Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;)V
MethodParameters:
Name Flags
extensions
protected final java.lang.String joinExtensions(java.util.List<org.glassfish.grizzly.websockets.Extension>);
descriptor: (Ljava/util/List;)Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.websockets.Extension
astore 3
start local 3 3: aload 2
invokevirtual java.lang.StringBuilder.length:()I
ifeq 5
4: aload 2
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.lang.StringBuilder org.glassfish.grizzly.websockets.Extension java.util.Iterator
StackMap stack:
aload 2
aload 3
invokevirtual org.glassfish.grizzly.websockets.Extension.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 6: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 8 1 extensions Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
1 8 2 sb Ljava/lang/StringBuilder;
3 6 3 e Lorg/glassfish/grizzly/websockets/Extension;
Signature: (Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;)Ljava/lang/String;
MethodParameters:
Name Flags
extensions
protected java.lang.String join(java.util.List<java.lang.String>);
descriptor: (Ljava/util/List;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 2
invokevirtual java.lang.StringBuilder.length:()I
ifeq 5
4: aload 2
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
5: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.lang.StringBuilder java.lang.String java.util.Iterator
StackMap stack:
aload 2
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 6: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 8 1 values Ljava/util/List<Ljava/lang/String;>;
1 8 2 builder Ljava/lang/StringBuilder;
3 6 3 s Ljava/lang/String;
Signature: (Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;
MethodParameters:
Name Flags
values
private void checkForHeader(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: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
aload 1
aload 2
invokevirtual org.glassfish.grizzly.http.HttpHeader.getHeader:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.websockets.HandShake.validate:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 2 1 headers Lorg/glassfish/grizzly/http/HttpHeader;
0 2 2 header Ljava/lang/String;
0 2 3 validValue Ljava/lang/String;
MethodParameters:
Name Flags
headers
header
validValue
private void checkForSubProtocol(org.glassfish.grizzly.http.HttpResponsePacket);
descriptor: (Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getSubProtocol:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 23
1: aload 1
ldc "Sec-WebSocket-Protocol"
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: aload 2
ifnull 21
4: new java.util.TreeSet
dup
getstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
astore 4
start local 4 5: new java.util.ArrayList
dup
aload 4
invokeinterface java.util.Set.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 5
start local 5 6: aload 4
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getSubProtocol:()Ljava/util/List;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
7: aload 2
ldc ","
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 16
8: aload 2
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 14
StackMap locals: org.glassfish.grizzly.websockets.HandShake org.glassfish.grizzly.http.HttpResponsePacket java.lang.String int java.util.Set java.util.List top int int java.lang.String[]
StackMap stack:
9: aload 9
iload 7
aaload
astore 6
start local 6 10: aload 6
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 10
start local 10 11: aload 4
aload 10
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 13
12: aload 5
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 6 13: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
iload 8
if_icmplt 9
15: goto 18
StackMap locals: org.glassfish.grizzly.websockets.HandShake org.glassfish.grizzly.http.HttpResponsePacket java.lang.String int java.util.Set java.util.List
StackMap stack:
16: aload 4
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 18
17: aload 5
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.List.isEmpty:()Z
ifne 21
19: iconst_1
istore 3
20: aload 0
aload 5
invokevirtual org.glassfish.grizzly.websockets.HandShake.setSubProtocol:(Ljava/util/List;)V
end local 5 end local 4 21: StackMap locals:
StackMap stack:
iload 3
ifne 23
22: new org.glassfish.grizzly.websockets.HandshakeException
dup
ldc "Invalid Sec-WebSocket-Protocol header returned: '%s'"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.glassfish.grizzly.websockets.HandshakeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 23: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 24 1 headers Lorg/glassfish/grizzly/http/HttpResponsePacket;
2 23 2 value Ljava/lang/String;
3 23 3 found Z
5 21 4 validValues Ljava/util/Set<Ljava/lang/String;>;
6 21 5 acceptedSubProtocol Ljava/util/List<Ljava/lang/String;>;
10 13 6 part Ljava/lang/String;
11 13 10 protocol Ljava/lang/String;
MethodParameters:
Name Flags
headers final
private void validate(java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 4
start local 4 1: aload 3
ifnull 12
2: aload 3
ldc ","
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 11
3: aload 3
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 9
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.lang.String java.lang.String java.lang.String int top int int java.lang.String[]
StackMap stack:
4: aload 8
iload 6
aaload
astore 5
start local 5 5: aload 5
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
6: iconst_1
istore 4
7: goto 12
end local 5 8: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 7
if_icmplt 4
10: goto 12
11: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.lang.String java.lang.String java.lang.String int
StackMap stack:
aload 3
aload 2
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
istore 4
12: StackMap locals:
StackMap stack:
iload 4
ifne 14
13: new org.glassfish.grizzly.websockets.HandshakeException
dup
ldc "Invalid %s header returned: '%s'"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.glassfish.grizzly.websockets.HandshakeException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 15 1 header Ljava/lang/String;
0 15 2 validValue Ljava/lang/String;
0 15 3 value Ljava/lang/String;
1 15 4 found Z
5 8 5 part Ljava/lang/String;
MethodParameters:
Name Flags
header final
validValue final
value final
private java.lang.String readHeader(org.glassfish.grizzly.http.util.MimeHeaders, java.lang.String);
descriptor: (Lorg/glassfish/grizzly/http/util/MimeHeaders;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual org.glassfish.grizzly.http.util.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/util/DataChunk;
astore 3
start local 3 1: aload 3
ifnull 2
aload 3
invokevirtual org.glassfish.grizzly.http.util.DataChunk.isNull:()Z
ifeq 3
StackMap locals: org.glassfish.grizzly.http.util.DataChunk
StackMap stack:
2: aconst_null
goto 4
StackMap locals:
StackMap stack:
3: aload 3
invokevirtual org.glassfish.grizzly.http.util.DataChunk.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
4: areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 5 1 headers Lorg/glassfish/grizzly/http/util/MimeHeaders;
0 5 2 name Ljava/lang/String;
1 5 3 value Lorg/glassfish/grizzly/http/util/DataChunk;
MethodParameters:
Name Flags
headers
name final
private void determineHostAndPort(org.glassfish.grizzly.http.util.MimeHeaders);
descriptor: (Lorg/glassfish/grizzly/http/util/MimeHeaders;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "host"
invokevirtual org.glassfish.grizzly.websockets.HandShake.readHeader:(Lorg/glassfish/grizzly/http/util/MimeHeaders;Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 2
iconst_m1
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: aload 2
ldc ":"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 3
iconst_m1
if_icmpne 8
5: aload 0
aload 2
putfield org.glassfish.grizzly.websockets.HandShake.serverHostName:Ljava/lang/String;
6: aload 0
bipush 80
putfield org.glassfish.grizzly.websockets.HandShake.port:I
7: goto 11
8: StackMap locals: int
StackMap stack:
getstatic org.glassfish.grizzly.websockets.HandShake.$assertionsDisabled:Z
ifne 9
aload 2
ifnonnull 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 2
iconst_0
iload 3
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
putfield org.glassfish.grizzly.websockets.HandShake.serverHostName:Ljava/lang/String;
10: aload 0
aload 2
iload 3
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield org.glassfish.grizzly.websockets.HandShake.port:I
11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 12 1 headers Lorg/glassfish/grizzly/http/util/MimeHeaders;
1 12 2 header Ljava/lang/String;
4 12 3 i I
MethodParameters:
Name Flags
headers
public org.glassfish.grizzly.http.HttpContent composeHeaders();
descriptor: ()Lorg/glassfish/grizzly/http/HttpContent;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getServerHostName:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
iconst_m1
if_icmpeq 3
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
bipush 80
if_icmpeq 3
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
sipush 443
if_icmpeq 3
2: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getPort:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.builder:Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getResourcePath:()Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.uri:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
getstatic org.glassfish.grizzly.http.util.Header.Host:Lorg/glassfish/grizzly/http/util/Header;
aload 1
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.header:(Lorg/glassfish/grizzly/http/util/Header;Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpHeader$Builder;
pop
4: aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getSubProtocol:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 7
5: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.builder:Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
ldc "Sec-WebSocket-Protocol"
aload 0
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getSubProtocol:()Ljava/util/List;
invokevirtual org.glassfish.grizzly.websockets.HandShake.join:(Ljava/util/List;)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.header:(Ljava/lang/String;Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpHeader$Builder;
pop
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.builder:Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
ldc "Sec-WebSocket-Extensions"
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.removeHeader:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpHeader$Builder;
pop
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getSubProtocol:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 10
9: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.builder:Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
ldc "Sec-WebSocket-Protocol"
aload 0
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getSubProtocol:()Ljava/util/List;
invokevirtual org.glassfish.grizzly.websockets.HandShake.join:(Ljava/util/List;)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.header:(Ljava/lang/String;Ljava/lang/String;)Lorg/glassfish/grizzly/http/HttpHeader$Builder;
pop
10: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.builder:Lorg/glassfish/grizzly/http/HttpRequestPacket$Builder;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket$Builder.build:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
invokestatic org.glassfish.grizzly.http.HttpContent.builder:(Lorg/glassfish/grizzly/http/HttpHeader;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.build:()Lorg/glassfish/grizzly/http/HttpContent;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/websockets/HandShake;
1 11 1 host Ljava/lang/String;
public void validateServerResponse(org.glassfish.grizzly.http.HttpResponsePacket);
descriptor: (Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: bipush 101
aload 1
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getStatus:()I
if_icmpeq 4
1: new org.glassfish.grizzly.websockets.HandshakeException
dup
2: ldc "Response code was not %s: %s %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
bipush 101
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 1
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getStatus:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 1
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.getReasonPhrase:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
3: invokespecial org.glassfish.grizzly.websockets.HandshakeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 1
ldc "upgrade"
ldc "websocket"
invokevirtual org.glassfish.grizzly.websockets.HandShake.checkForHeader:(Lorg/glassfish/grizzly/http/HttpHeader;Ljava/lang/String;Ljava/lang/String;)V
5: aload 0
aload 1
ldc "connection"
ldc "upgrade"
invokevirtual org.glassfish.grizzly.websockets.HandShake.checkForHeader:(Lorg/glassfish/grizzly/http/HttpHeader;Ljava/lang/String;Ljava/lang/String;)V
6: aload 0
aload 1
invokevirtual org.glassfish.grizzly.websockets.HandShake.checkForSubProtocol:(Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 8 1 headers Lorg/glassfish/grizzly/http/HttpResponsePacket;
MethodParameters:
Name Flags
headers
public void respond(org.glassfish.grizzly.filterchain.FilterChainContext, org.glassfish.grizzly.websockets.WebSocketApplication, org.glassfish.grizzly.http.HttpResponsePacket);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;Lorg/glassfish/grizzly/websockets/WebSocketApplication;Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getstatic org.glassfish.grizzly.http.Protocol.HTTP_1_1:Lorg/glassfish/grizzly/http/Protocol;
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setProtocol:(Lorg/glassfish/grizzly/http/Protocol;)V
1: aload 3
getstatic org.glassfish.grizzly.http.util.HttpStatus.SWITCHING_PROTOCOLS_101:Lorg/glassfish/grizzly/http/util/HttpStatus;
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setStatus:(Lorg/glassfish/grizzly/http/util/HttpStatus;)V
2: aload 3
ldc "Upgrade"
ldc "websocket"
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
3: aload 3
ldc "Connection"
ldc "Upgrade"
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
4: aload 0
aload 3
invokevirtual org.glassfish.grizzly.websockets.HandShake.setHeaders:(Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
5: aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getSubProtocol:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 7
6: aload 3
ldc "Sec-WebSocket-Protocol"
aload 0
aload 2
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getSubProtocol:()Ljava/util/List;
invokevirtual org.glassfish.grizzly.websockets.WebSocketApplication.getSupportedProtocols:(Ljava/util/List;)Ljava/util/List;
invokevirtual org.glassfish.grizzly.websockets.HandShake.join:(Ljava/util/List;)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.glassfish.grizzly.websockets.WebSocketApplication.getSupportedExtensions:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 12
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getExtensions:()Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 12
8: aload 0
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.getExtensions:()Ljava/util/List;
aload 2
invokevirtual org.glassfish.grizzly.websockets.WebSocketApplication.getSupportedExtensions:()Ljava/util/List;
invokevirtual org.glassfish.grizzly.websockets.HandShake.intersection:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
astore 4
start local 4 9: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifne 12
10: aload 2
aload 4
invokevirtual org.glassfish.grizzly.websockets.WebSocketApplication.onExtensionNegotiation:(Ljava/util/List;)V
11: aload 3
ldc "Sec-WebSocket-Extensions"
aload 0
aload 4
invokevirtual org.glassfish.grizzly.websockets.HandShake.joinExtensions:(Ljava/util/List;)Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.HttpResponsePacket.setHeader:(Ljava/lang/String;Ljava/lang/String;)V
end local 4 12: StackMap locals:
StackMap stack:
aload 1
aload 3
invokestatic org.glassfish.grizzly.http.HttpContent.builder:(Lorg/glassfish/grizzly/http/HttpHeader;)Lorg/glassfish/grizzly/http/HttpContent$Builder;
invokevirtual org.glassfish.grizzly.http.HttpContent$Builder.build:()Lorg/glassfish/grizzly/http/HttpContent;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 14 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
0 14 2 application Lorg/glassfish/grizzly/websockets/WebSocketApplication;
0 14 3 response Lorg/glassfish/grizzly/http/HttpResponsePacket;
9 12 4 intersection Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
MethodParameters:
Name Flags
ctx final
application final
response final
protected abstract void setHeaders(org.glassfish.grizzly.http.HttpResponsePacket);
descriptor: (Lorg/glassfish/grizzly/http/HttpResponsePacket;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
response
protected final java.util.List<java.lang.String> split(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
aload 1
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 2
start local 2 3: aload 0
aload 2
invokevirtual org.glassfish.grizzly.websockets.HandShake.sanitize:(Ljava/util/List;)V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 5 1 header Ljava/lang/String;
3 5 2 list Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
MethodParameters:
Name Flags
header final
protected java.util.List<org.glassfish.grizzly.websockets.Extension> intersection(java.util.List<org.glassfish.grizzly.websockets.Extension>, java.util.List<org.glassfish.grizzly.websockets.Extension>);
descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
aload 2
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 1: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 9
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.websockets.Extension
astore 4
start local 4 3: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 8
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.util.List java.util.List org.glassfish.grizzly.websockets.Extension java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.websockets.Extension
astore 6
start local 6 5: aload 4
invokevirtual org.glassfish.grizzly.websockets.Extension.getName:()Ljava/lang/String;
aload 6
invokevirtual org.glassfish.grizzly.websockets.Extension.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
6: aload 3
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: goto 9
end local 6 8: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 4 9: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.util.List java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 11 1 requested Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
0 11 2 supported Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
1 11 3 intersection Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
3 9 4 e Lorg/glassfish/grizzly/websockets/Extension;
5 8 6 s Lorg/glassfish/grizzly/websockets/Extension;
Signature: (Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;)Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
MethodParameters:
Name Flags
requested
supported
protected final java.util.List<org.glassfish.grizzly.websockets.Extension> parseExtensionsHeader(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=11, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 2: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.lang.String java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 4
bipush 59
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 5: iload 8
ifge 8
6: aload 2
new org.glassfish.grizzly.websockets.Extension
dup
aload 4
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokespecial org.glassfish.grizzly.websockets.Extension.<init>:(Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
7: goto 12
8: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.lang.String java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int
StackMap stack:
aload 4
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 9
start local 9 9: new org.glassfish.grizzly.websockets.Extension
dup
aload 9
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokespecial org.glassfish.grizzly.websockets.Extension.<init>:(Ljava/lang/String;)V
astore 10
start local 10 10: aload 2
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
11: aload 0
aload 4
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aload 10
invokevirtual org.glassfish.grizzly.websockets.Extension.getParameters:()Ljava/util/List;
invokevirtual org.glassfish.grizzly.websockets.HandShake.parseParameters:(Ljava/lang/String;Ljava/util/List;)V
end local 10 end local 9 end local 8 end local 4 12: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.lang.String java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 3
14: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 15 1 headerValue Ljava/lang/String;
1 15 2 resolved Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
2 15 3 parts [Ljava/lang/String;
4 12 4 part Ljava/lang/String;
5 12 8 idx I
9 12 9 name Ljava/lang/String;
10 12 10 e Lorg/glassfish/grizzly/websockets/Extension;
Signature: (Ljava/lang/String;)Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension;>;
MethodParameters:
Name Flags
headerValue final
protected final void parseParameters(java.lang.String, java.util.List<org.glassfish.grizzly.websockets.Extension$Parameter>);
descriptor: (Ljava/lang/String;Ljava/util/List;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc ";"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 3
start local 3 1: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: org.glassfish.grizzly.websockets.HandShake java.lang.String java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
2: aload 7
iload 5
aaload
astore 4
start local 4 3: aload 4
bipush 61
invokevirtual java.lang.String.indexOf:(I)I
istore 8
start local 8 4: iload 8
ifge 7
5: aload 2
new org.glassfish.grizzly.websockets.Extension$Parameter
dup
aload 4
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aconst_null
invokespecial org.glassfish.grizzly.websockets.Extension$Parameter.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: goto 8
7: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.lang.String java.util.List java.lang.String[] java.lang.String int int java.lang.String[] int
StackMap stack:
aload 2
new org.glassfish.grizzly.websockets.Extension$Parameter
dup
aload 4
iconst_0
iload 8
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
aload 4
iload 8
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokespecial org.glassfish.grizzly.websockets.Extension$Parameter.<init>:(Ljava/lang/String;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 4 8: StackMap locals: org.glassfish.grizzly.websockets.HandShake java.lang.String java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 6
if_icmplt 2
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 11 1 parameterString Ljava/lang/String;
0 11 2 parameters Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension$Parameter;>;
1 11 3 parts [Ljava/lang/String;
3 8 4 part Ljava/lang/String;
4 8 8 idx I
Signature: (Ljava/lang/String;Ljava/util/List<Lorg/glassfish/grizzly/websockets/Extension$Parameter;>;)V
MethodParameters:
Name Flags
parameterString
parameters
public void initiate(org.glassfish.grizzly.filterchain.FilterChainContext);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChainContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.composeHeaders:()Lorg/glassfish/grizzly/http/HttpContent;
invokevirtual org.glassfish.grizzly.filterchain.FilterChainContext.write:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 2 1 ctx Lorg/glassfish/grizzly/filterchain/FilterChainContext;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
ctx
private java.lang.StringBuilder appendPort(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.isSecure:()Z
ifeq 4
1: aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
sipush 443
if_icmpeq 6
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
iconst_m1
if_icmpeq 6
2: aload 1
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
3: goto 6
4: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
bipush 80
if_icmpeq 6
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
iconst_m1
if_icmpeq 6
5: aload 1
bipush 58
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 0
getfield org.glassfish.grizzly.websockets.HandShake.port:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/websockets/HandShake;
0 7 1 builder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
builder
private java.lang.String getScheme();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.glassfish.grizzly.websockets.HandShake.isSecure:()Z
ifeq 1
ldc "ws"
goto 2
StackMap locals:
StackMap stack:
1: ldc "wss"
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/websockets/HandShake;
}
SourceFile: "HandShake.java"
InnerClasses:
public Builder = org.glassfish.grizzly.http.HttpContent$Builder of org.glassfish.grizzly.http.HttpContent
public abstract Builder = org.glassfish.grizzly.http.HttpHeader$Builder of org.glassfish.grizzly.http.HttpHeader
public Builder = org.glassfish.grizzly.http.HttpRequestPacket$Builder of org.glassfish.grizzly.http.HttpRequestPacket
public final Parameter = org.glassfish.grizzly.websockets.Extension$Parameter of org.glassfish.grizzly.websockets.Extension