class io.vertx.core.http.impl.WebSocketHandshakeInboundHandler extends io.netty.channel.ChannelInboundHandlerAdapter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.core.http.impl.WebSocketHandshakeInboundHandler
super_class: io.netty.channel.ChannelInboundHandlerAdapter
{
private final io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.http.impl.headers.HeadersAdaptor>> wsHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/headers/HeadersAdaptor;>;>;
private final io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker handshaker;
descriptor: Lio/netty/handler/codec/http/websocketx/WebSocketClientHandshaker;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.channel.ChannelHandlerContext chctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.codec.http.FullHttpResponse response;
descriptor: Lio/netty/handler/codec/http/FullHttpResponse;
flags: (0x0002) ACC_PRIVATE
void <init>(io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.http.impl.headers.HeadersAdaptor>>);
descriptor: (Lio/netty/handler/codec/http/websocketx/WebSocketClientHandshaker;Lio/vertx/core/Handler;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.<init>:()V
1: aload 0
aload 1
putfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.handshaker:Lio/netty/handler/codec/http/websocketx/WebSocketClientHandshaker;
2: aload 0
aload 2
putfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.wsHandler:Lio/vertx/core/Handler;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/http/impl/WebSocketHandshakeInboundHandler;
0 4 1 handshaker Lio/netty/handler/codec/http/websocketx/WebSocketClientHandshaker;
0 4 2 wsHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/headers/HeadersAdaptor;>;>;
Signature: (Lio/netty/handler/codec/http/websocketx/WebSocketClientHandshaker;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/headers/HeadersAdaptor;>;>;)V
MethodParameters:
Name Flags
handshaker
wsHandler
public void handlerAdded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.handlerAdded:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 0
aload 1
putfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.chctx:Lio/netty/channel/ChannelHandlerContext;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/http/impl/WebSocketHandshakeInboundHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelInactive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.channelInactive:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.wsHandler:Lio/vertx/core/Handler;
new io.netty.handler.codec.http.websocketx.WebSocketHandshakeException
dup
ldc "Connection closed while handshake in process"
invokespecial io.netty.handler.codec.http.websocketx.WebSocketHandshakeException.<init>:(Ljava/lang/String;)V
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/http/impl/WebSocketHandshakeInboundHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof io.netty.handler.codec.http.HttpResponse
ifeq 4
1: aload 2
checkcast io.netty.handler.codec.http.HttpResponse
astore 3
start local 3 2: aload 0
new io.netty.handler.codec.http.DefaultFullHttpResponse
dup
aload 3
invokeinterface io.netty.handler.codec.http.HttpResponse.protocolVersion:()Lio/netty/handler/codec/http/HttpVersion;
aload 3
invokeinterface io.netty.handler.codec.http.HttpResponse.status:()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
putfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.response:Lio/netty/handler/codec/http/FullHttpResponse;
3: aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.response:Lio/netty/handler/codec/http/FullHttpResponse;
invokeinterface io.netty.handler.codec.http.FullHttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
aload 3
invokeinterface io.netty.handler.codec.http.HttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Lio/netty/handler/codec/http/HttpHeaders;)Lio/netty/handler/codec/http/HttpHeaders;
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.handler.codec.http.HttpContent
ifeq 16
5: aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.response:Lio/netty/handler/codec/http/FullHttpResponse;
ifnull 16
6: aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.response:Lio/netty/handler/codec/http/FullHttpResponse;
invokeinterface io.netty.handler.codec.http.FullHttpResponse.content:()Lio/netty/buffer/ByteBuf;
aload 2
checkcast io.netty.handler.codec.http.HttpContent
invokeinterface io.netty.handler.codec.http.HttpContent.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
pop
7: aload 2
instanceof io.netty.handler.codec.http.LastHttpContent
ifeq 16
8: aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.response:Lio/netty/handler/codec/http/FullHttpResponse;
invokeinterface io.netty.handler.codec.http.FullHttpResponse.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
aload 2
checkcast io.netty.handler.codec.http.LastHttpContent
invokeinterface io.netty.handler.codec.http.LastHttpContent.trailingHeaders:()Lio/netty/handler/codec/http/HttpHeaders;
invokevirtual io.netty.handler.codec.http.HttpHeaders.add:(Lio/netty/handler/codec/http/HttpHeaders;)Lio/netty/handler/codec/http/HttpHeaders;
pop
9: aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.chctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 3
start local 3 10: aload 3
aload 0
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
11: aload 3
ldc Lio/netty/handler/codec/http/HttpContentDecompressor;
invokeinterface io.netty.channel.ChannelPipeline.get:(Ljava/lang/Class;)Lio/netty/channel/ChannelHandler;
astore 4
start local 4 12: aload 4
ifnull 14
13: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
aload 4
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
14: StackMap locals: io.netty.channel.ChannelPipeline io.netty.channel.ChannelHandler
StackMap stack:
aload 0
aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.response:Lio/netty/handler/codec/http/FullHttpResponse;
invokevirtual io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.handshakeComplete:(Lio/netty/handler/codec/http/FullHttpResponse;)Lio/vertx/core/Future;
astore 5
start local 5 15: aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.wsHandler:Lio/vertx/core/Handler;
aload 5
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 5 end local 4 end local 3 16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/vertx/core/http/impl/WebSocketHandshakeInboundHandler;
0 17 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 17 2 msg Ljava/lang/Object;
2 4 3 resp Lio/netty/handler/codec/http/HttpResponse;
10 16 3 pipeline Lio/netty/channel/ChannelPipeline;
12 16 4 handler Lio/netty/channel/ChannelHandler;
15 16 5 fut Lio/vertx/core/Future<Lio/vertx/core/http/impl/headers/HeadersAdaptor;>;
MethodParameters:
Name Flags
ctx
msg
private io.vertx.core.Future<io.vertx.core.http.impl.headers.HeadersAdaptor> handshakeComplete(io.netty.handler.codec.http.FullHttpResponse);
descriptor: (Lio/netty/handler/codec/http/FullHttpResponse;)Lio/vertx/core/Future;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.handler.codec.http.FullHttpResponse.status:()Lio/netty/handler/codec/http/HttpResponseStatus;
invokevirtual io.netty.handler.codec.http.HttpResponseStatus.code:()I
istore 2
start local 2 1: iload 2
bipush 101
if_icmpeq 4
2: new io.vertx.core.http.UpgradeRejectedException
dup
new java.lang.StringBuilder
dup
ldc "WebSocket connection attempt returned HTTP status code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iload 2
invokespecial io.vertx.core.http.UpgradeRejectedException.<init>:(Ljava/lang/String;I)V
astore 3
start local 3 3: aload 3
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
areturn
end local 3 4: StackMap locals: int
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.handshaker:Lio/netty/handler/codec/http/websocketx/WebSocketClientHandshaker;
aload 0
getfield io.vertx.core.http.impl.WebSocketHandshakeInboundHandler.chctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 1
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker.finishHandshake:(Lio/netty/channel/Channel;Lio/netty/handler/codec/http/FullHttpResponse;)V
5: new io.vertx.core.http.impl.headers.HeadersAdaptor
dup
aload 1
invokeinterface io.netty.handler.codec.http.FullHttpResponse.headers:()Lio/netty/handler/codec/http/HttpHeaders;
invokespecial io.vertx.core.http.impl.headers.HeadersAdaptor.<init>:(Lio/netty/handler/codec/http/HttpHeaders;)V
invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
6: areturn
7: StackMap locals:
StackMap stack: io.netty.handler.codec.http.websocketx.WebSocketHandshakeException
astore 3
start local 3 8: aload 3
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/core/http/impl/WebSocketHandshakeInboundHandler;
0 9 1 response Lio/netty/handler/codec/http/FullHttpResponse;
1 9 2 sc I
3 4 3 failure Lio/vertx/core/http/UpgradeRejectedException;
8 9 3 e Lio/netty/handler/codec/http/websocketx/WebSocketHandshakeException;
Exception table:
from to target type
4 6 7 Class io.netty.handler.codec.http.websocketx.WebSocketHandshakeException
Signature: (Lio/netty/handler/codec/http/FullHttpResponse;)Lio/vertx/core/Future<Lio/vertx/core/http/impl/headers/HeadersAdaptor;>;
MethodParameters:
Name Flags
response
static io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker newHandshaker(java.net.URI, io.netty.handler.codec.http.websocketx.WebSocketVersion, java.lang.String, boolean, io.netty.handler.codec.http.HttpHeaders, int, boolean);
descriptor: (Ljava/net/URI;Lio/netty/handler/codec/http/websocketx/WebSocketVersion;Ljava/lang/String;ZLio/netty/handler/codec/http/HttpHeaders;IZ)Lio/netty/handler/codec/http/websocketx/WebSocketClientHandshaker;
flags: (0x0008) ACC_STATIC
Code:
stack=13, locals=8, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: invokestatic io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig.newBuilder:()Lio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig$Builder;
1: iconst_0
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder.expectMaskedFrames:(Z)Lio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig$Builder;
2: iload 3
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder.allowExtensions:(Z)Lio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig$Builder;
3: iload 5
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder.maxFramePayloadLength:(I)Lio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig$Builder;
4: iconst_0
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder.allowMaskMismatch:(Z)Lio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig$Builder;
5: iconst_0
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder.closeOnProtocolViolation:(Z)Lio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig$Builder;
6: invokevirtual io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder.build:()Lio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig;
7: astore 7
start local 7 8: aload 1
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V13:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
if_acmpne 13
9: new io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$1
dup
10: aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V13:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
aload 2
iload 3
aload 4
11: iload 5
iload 6
iconst_0
ldc -1
12: aload 7
invokespecial io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$1.<init>:(Ljava/net/URI;Lio/netty/handler/codec/http/websocketx/WebSocketVersion;Ljava/lang/String;ZLio/netty/handler/codec/http/HttpHeaders;IZZJLio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig;)V
areturn
13: StackMap locals: io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig
StackMap stack:
aload 1
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V08:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
if_acmpne 18
14: new io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$2
dup
15: aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V08:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
aload 2
iload 3
aload 4
16: iload 5
iload 6
iconst_0
ldc -1
17: aload 7
invokespecial io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$2.<init>:(Ljava/net/URI;Lio/netty/handler/codec/http/websocketx/WebSocketVersion;Ljava/lang/String;ZLio/netty/handler/codec/http/HttpHeaders;IZZJLio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig;)V
areturn
18: StackMap locals:
StackMap stack:
aload 1
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V07:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
if_acmpne 23
19: new io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$3
dup
20: aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V07:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
aload 2
iload 3
aload 4
21: iload 5
iload 6
iconst_0
ldc -1
22: aload 7
invokespecial io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$3.<init>:(Ljava/net/URI;Lio/netty/handler/codec/http/websocketx/WebSocketVersion;Ljava/lang/String;ZLio/netty/handler/codec/http/HttpHeaders;IZZJLio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig;)V
areturn
23: StackMap locals:
StackMap stack:
aload 1
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V00:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
if_acmpne 27
24: new io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker00
dup
25: aload 0
getstatic io.netty.handler.codec.http.websocketx.WebSocketVersion.V00:Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
aload 2
aload 4
iload 5
ldc -1
26: invokespecial io.netty.handler.codec.http.websocketx.WebSocketClientHandshaker00.<init>:(Ljava/net/URI;Lio/netty/handler/codec/http/websocketx/WebSocketVersion;Ljava/lang/String;Lio/netty/handler/codec/http/HttpHeaders;IJ)V
areturn
27: StackMap locals:
StackMap stack:
new io.netty.handler.codec.http.websocketx.WebSocketHandshakeException
dup
new java.lang.StringBuilder
dup
ldc "Protocol version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " not supported."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.netty.handler.codec.http.websocketx.WebSocketHandshakeException.<init>:(Ljava/lang/String;)V
athrow
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 28 0 webSocketURL Ljava/net/URI;
0 28 1 version Lio/netty/handler/codec/http/websocketx/WebSocketVersion;
0 28 2 subprotocol Ljava/lang/String;
0 28 3 allowExtensions Z
0 28 4 customHeaders Lio/netty/handler/codec/http/HttpHeaders;
0 28 5 maxFramePayloadLength I
0 28 6 performMasking Z
8 28 7 config Lio/netty/handler/codec/http/websocketx/WebSocketDecoderConfig;
MethodParameters:
Name Flags
webSocketURL
version
subprotocol
allowExtensions
customHeaders
maxFramePayloadLength
performMasking
}
SourceFile: "WebSocketHandshakeInboundHandler.java"
NestMembers:
io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$1 io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$2 io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$3
InnerClasses:
public final Builder = io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig$Builder of io.netty.handler.codec.http.websocketx.WebSocketDecoderConfig
io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$1
io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$2
io.vertx.core.http.impl.WebSocketHandshakeInboundHandler$3