public class io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08 extends io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08
super_class: io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker
{
public static final java.lang.String WEBSOCKET_08_ACCEPT_GUID;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
private final boolean allowExtensions;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean allowMaskMismatch;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String, java.lang.String, boolean, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iload 3
iload 4
iconst_0
invokespecial io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.<init>:(Ljava/lang/String;Ljava/lang/String;ZIZ)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/http/websocketx/WebSocketServerHandshaker08;
0 2 1 webSocketURL Ljava/lang/String;
0 2 2 subprotocols Ljava/lang/String;
0 2 3 allowExtensions Z
0 2 4 maxFramePayloadLength I
MethodParameters:
Name Flags
webSocketURL
subprotocols
allowExtensions
maxFramePayloadLength
public void <init>(java.lang.String, java.lang.String, boolean, int, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZIZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, 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
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V08:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
aload 1
aload 2
iload 4
invokespecial io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker.<init>:(Lio/netty/handler/codec/http/websocketx/WebSocketVersion;Ljava/lang/String;Ljava/lang/String;I)V
1: aload 0
iload 3
putfield io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.allowExtensions:Z
2: aload 0
iload 5
putfield io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.allowMaskMismatch:Z
3: 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 4 0 this Lio/netty/handler/codec/http/websocketx/WebSocketServerHandshaker08;
0 4 1 webSocketURL Ljava/lang/String;
0 4 2 subprotocols Ljava/lang/String;
0 4 3 allowExtensions Z
0 4 4 maxFramePayloadLength I
0 4 5 allowMaskMismatch Z
MethodParameters:
Name Flags
webSocketURL
subprotocols
allowExtensions
maxFramePayloadLength
allowMaskMismatch
protected io.netty.handler.codec.http.FullHttpResponse newHandshakeResponse(io.netty.handler.codec.http.FullHttpRequest, io.netty.handler.codec.http.HttpHeaders);
descriptor: (Lio/netty/handler/codec/http/FullHttpRequest;Lio/netty/handler/codec/http/HttpHeaders;)Lio/netty/handler/codec/http/FullHttpResponse;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: new io.netty.handler.codec.http.DefaultFullHttpResponse
dup
getstatic io.netty.handler.codec.http.HttpVersion.HTTP_1_1:Lio/netty/handler/codec/http/HttpVersion;
getstatic io.netty.handler.codec.http.HttpResponseStatus.SWITCHING_PROTOCOLS:Lio/netty/handler/codec/http/HttpResponseStatus;
invokespecial io.netty.handler.codec.http.DefaultFullHttpResponse.<init>:(Lio/netty/handler/codec/http/HttpVersion;Lio/netty/handler/codec/http/HttpResponseStatus;)V
astore 3
start local 3 1: aload 2
ifnull 3
2: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
aload 2
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Lio/netty/handler/codec/http/HttpHeaders;)Lio/netty/handler/codec/http/HttpHeaders;
pop
3: StackMap locals: io.netty.handler.codec.http.FullHttpResponse
StackMap stack:
aload 1
invokeinterface io.netty.handler.codec.http.FullHttpRequest.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.SEC_WEBSOCKET_KEY:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.get:(Ljava/lang/CharSequence;)Ljava/lang/String;
astore 4
start local 4 4: aload 4
ifnonnull 6
5: new io.netty.handler.codec.http.websocketx.WebSocketHandshakeException
dup
ldc "not a WebSocket request: missing key"
invokespecial io.netty.handler.codec.http.websocketx.WebSocketHandshakeException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.CharSequence
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 7: aload 5
getstatic io.netty.util.CharsetUtil.US_ASCII:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokestatic io.netty.handler.codec.http.websocketx.WebSocketUtil.sha1:([B)[B
astore 6
start local 6 8: aload 6
invokestatic io.netty.handler.codec.http.websocketx.WebSocketUtil.base64:([B)Ljava/lang/String;
astore 7
start local 7 9: getstatic io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 11
10: getstatic io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "WebSocket version 08 server handshake key: {}, response: {}"
aload 4
aload 7
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
11: StackMap locals: java.lang.String byte[] java.lang.String
StackMap stack:
aload 3
invokeinterface io.netty.handler.codec.http.FullHttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.UPGRADE:Lio/netty/util/AsciiString;
getstatic io.netty.handler.codec.http.HttpHeaderValues.WEBSOCKET:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
12: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.CONNECTION:Lio/netty/util/AsciiString;
getstatic io.netty.handler.codec.http.HttpHeaderValues.UPGRADE:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
13: aload 3
invokeinterface io.netty.handler.codec.http.FullHttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.SEC_WEBSOCKET_ACCEPT:Lio/netty/util/AsciiString;
aload 7
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
14: aload 1
invokeinterface io.netty.handler.codec.http.FullHttpRequest.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.SEC_WEBSOCKET_PROTOCOL:Lio/netty/util/AsciiString;
invokevirtual io.netty.handler.codec.http.HttpHeaders.get:(Ljava/lang/CharSequence;)Ljava/lang/String;
astore 8
start local 8 15: aload 8
ifnull 22
16: aload 0
aload 8
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.selectSubprotocol:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 17: aload 9
ifnonnull 21
18: getstatic io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 22
19: getstatic io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Requested subprotocol(s) not supported: {}"
aload 8
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
20: goto 22
21: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 3
invokeinterface io.netty.handler.codec.http.FullHttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
getstatic io.netty.handler.codec.http.HttpHeaderNames.SEC_WEBSOCKET_PROTOCOL:Lio/netty/util/AsciiString;
aload 9
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Ljava/lang/CharSequence;Ljava/lang/Object;)Lio/netty/handler/codec/http/HttpHeaders;
pop
end local 9 22: StackMap locals:
StackMap stack:
aload 3
areturn
end local 8 end local 7 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 23 0 this Lio/netty/handler/codec/http/websocketx/WebSocketServerHandshaker08;
0 23 1 req Lio/netty/handler/codec/http/FullHttpRequest;
0 23 2 headers Lio/netty/handler/codec/http/HttpHeaders;
1 23 3 res Lio/netty/handler/codec/http/FullHttpResponse;
4 23 4 key Ljava/lang/CharSequence;
7 23 5 acceptSeed Ljava/lang/String;
8 23 6 sha1 [B
9 23 7 accept Ljava/lang/String;
15 23 8 subprotocols Ljava/lang/String;
17 22 9 selectedSubprotocol Ljava/lang/String;
MethodParameters:
Name Flags
req
headers
protected io.netty.handler.codec.http.websocketx.WebSocketFrameDecoder newWebsocketDecoder();
descriptor: ()Lio/netty/handler/codec/http/websocketx/WebSocketFrameDecoder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=1, args_size=1
start local 0 0: new io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder
dup
iconst_1
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.allowExtensions:Z
aload 0
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.maxFramePayloadLength:()I
aload 0
getfield io.netty.handler.codec.http.websocketx.WebSocketServerHandshaker08.allowMaskMismatch:Z
invokespecial io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.<init>:(ZZIZ)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http/websocketx/WebSocketServerHandshaker08;
protected io.netty.handler.codec.http.websocketx.WebSocketFrameEncoder newWebSocketEncoder();
descriptor: ()Lio/netty/handler/codec/http/websocketx/WebSocketFrameEncoder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.netty.handler.codec.http.websocketx.WebSocket08FrameEncoder
dup
iconst_0
invokespecial io.netty.handler.codec.http.websocketx.WebSocket08FrameEncoder.<init>:(Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/http/websocketx/WebSocketServerHandshaker08;
}
SourceFile: "WebSocketServerHandshaker08.java"