public class io.vertx.core.http.impl.WebSocketRequestHandler implements io.vertx.core.Handler<io.vertx.core.http.HttpServerRequest>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.http.impl.WebSocketRequestHandler
super_class: java.lang.Object
{
private final io.vertx.core.spi.metrics.HttpServerMetrics metrics;
descriptor: Lio/vertx/core/spi/metrics/HttpServerMetrics;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.http.impl.HttpHandlers handlers;
descriptor: Lio/vertx/core/http/impl/HttpHandlers;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.vertx.core.spi.metrics.HttpServerMetrics, io.vertx.core.http.impl.HttpHandlers);
descriptor: (Lio/vertx/core/spi/metrics/HttpServerMetrics;Lio/vertx/core/http/impl/HttpHandlers;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.core.http.impl.WebSocketRequestHandler.metrics:Lio/vertx/core/spi/metrics/HttpServerMetrics;
2: aload 0
aload 2
putfield io.vertx.core.http.impl.WebSocketRequestHandler.handlers:Lio/vertx/core/http/impl/HttpHandlers;
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/WebSocketRequestHandler;
0 4 1 metrics Lio/vertx/core/spi/metrics/HttpServerMetrics;
0 4 2 handlers Lio/vertx/core/http/impl/HttpHandlers;
MethodParameters:
Name Flags
metrics
handlers
public void handle(io.vertx.core.http.HttpServerRequest);
descriptor: (Lio/vertx/core/http/HttpServerRequest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.core.http.HttpServerRequest.headers:()Lio/vertx/core/MultiMap;
1: getstatic io.vertx.core.http.HttpHeaders.UPGRADE:Ljava/lang/CharSequence;
getstatic io.vertx.core.http.HttpHeaders.WEBSOCKET:Ljava/lang/CharSequence;
iconst_1
invokeinterface io.vertx.core.MultiMap.contains:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Z
ifne 3
2: aload 0
getfield io.vertx.core.http.impl.WebSocketRequestHandler.handlers:Lio/vertx/core/http/impl/HttpHandlers;
getfield io.vertx.core.http.impl.HttpHandlers.requestHandler:Lio/vertx/core/Handler;
ifnonnull 5
3: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast io.vertx.core.http.impl.HttpServerRequestImpl
invokevirtual io.vertx.core.http.impl.WebSocketRequestHandler.handle:(Lio/vertx/core/http/impl/HttpServerRequestImpl;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketRequestHandler.handlers:Lio/vertx/core/http/impl/HttpHandlers;
getfield io.vertx.core.http.impl.HttpHandlers.requestHandler:Lio/vertx/core/Handler;
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/http/impl/WebSocketRequestHandler;
0 7 1 req Lio/vertx/core/http/HttpServerRequest;
MethodParameters:
Name Flags
req
private void handle(io.vertx.core.http.impl.HttpServerRequestImpl);
descriptor: (Lio/vertx/core/http/impl/HttpServerRequestImpl;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: invokestatic io.vertx.core.buffer.Buffer.buffer:()Lio/vertx/core/buffer/Buffer;
astore 2
start local 2 1: iconst_1
newarray 4
astore 3
start local 3 2: aload 1
aload 3
aload 2
aload 1
invokedynamic handle([ZLio/vertx/core/buffer/Buffer;Lio/vertx/core/http/impl/HttpServerRequestImpl;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/core/http/impl/WebSocketRequestHandler.lambda$0([ZLio/vertx/core/buffer/Buffer;Lio/vertx/core/http/impl/HttpServerRequestImpl;Lio/vertx/core/buffer/Buffer;)V (6)
(Lio/vertx/core/buffer/Buffer;)V
invokevirtual io.vertx.core.http.impl.HttpServerRequestImpl.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerRequest;
pop
3: aload 1
aload 0
aload 3
aload 1
aload 2
invokedynamic handle(Lio/vertx/core/http/impl/WebSocketRequestHandler;[ZLio/vertx/core/http/impl/HttpServerRequestImpl;Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/core/http/impl/WebSocketRequestHandler.lambda$1([ZLio/vertx/core/http/impl/HttpServerRequestImpl;Lio/vertx/core/buffer/Buffer;Ljava/lang/Void;)V (7)
(Ljava/lang/Void;)V
invokevirtual io.vertx.core.http.impl.HttpServerRequestImpl.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/HttpServerRequest;
pop
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/http/impl/WebSocketRequestHandler;
0 5 1 req Lio/vertx/core/http/impl/HttpServerRequestImpl;
1 5 2 body Lio/vertx/core/buffer/Buffer;
2 5 3 failed [Z
MethodParameters:
Name Flags
req
private void handle(io.vertx.core.http.impl.HttpServerRequestImpl, io.vertx.core.buffer.Buffer);
descriptor: (Lio/vertx/core/http/impl/HttpServerRequestImpl;Lio/vertx/core/buffer/Buffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.core.http.impl.HttpServerRequestImpl.nettyRequest:()Lio/netty/handler/codec/http/HttpRequest;
astore 3
start local 3 1: new io.netty.handler.codec.http.DefaultFullHttpRequest
dup
2: aload 3
invokeinterface io.netty.handler.codec.http.HttpRequest.protocolVersion:()Lio/netty/handler/codec/http/HttpVersion;
3: aload 3
invokeinterface io.netty.handler.codec.http.HttpRequest.method:()Lio/netty/handler/codec/http/HttpMethod;
4: aload 3
invokeinterface io.netty.handler.codec.http.HttpRequest.uri:()Ljava/lang/String;
5: aload 2
invokeinterface io.vertx.core.buffer.Buffer.getByteBuf:()Lio/netty/buffer/ByteBuf;
6: aload 3
invokeinterface io.netty.handler.codec.http.HttpRequest.headers:()Lio/netty/handler/codec/http/HttpHeaders;
7: getstatic io.netty.handler.codec.http.EmptyHttpHeaders.INSTANCE:Lio/netty/handler/codec/http/EmptyHttpHeaders;
8: invokespecial io.netty.handler.codec.http.DefaultFullHttpRequest.<init>:(Lio/netty/handler/codec/http/HttpVersion;Lio/netty/handler/codec/http/HttpMethod;Ljava/lang/String;Lio/netty/buffer/ByteBuf;Lio/netty/handler/codec/http/HttpHeaders;Lio/netty/handler/codec/http/HttpHeaders;)V
astore 3
9: aload 1
aload 3
invokevirtual io.vertx.core.http.impl.HttpServerRequestImpl.setRequest:(Lio/netty/handler/codec/http/HttpRequest;)V
10: aload 0
getfield io.vertx.core.http.impl.WebSocketRequestHandler.handlers:Lio/vertx/core/http/impl/HttpHandlers;
getfield io.vertx.core.http.impl.HttpHandlers.wsHandler:Lio/vertx/core/Handler;
ifnull 17
11: aload 1
invokevirtual io.vertx.core.http.impl.HttpServerRequestImpl.connection:()Lio/vertx/core/http/HttpConnection;
checkcast io.vertx.core.http.impl.Http1xServerConnection
aload 1
invokevirtual io.vertx.core.http.impl.Http1xServerConnection.createWebSocket:(Lio/vertx/core/http/impl/HttpServerRequestImpl;)Lio/vertx/core/http/impl/ServerWebSocketImpl;
astore 4
start local 4 12: aload 4
ifnonnull 14
13: return
14: StackMap locals: io.netty.handler.codec.http.HttpRequest io.vertx.core.http.impl.ServerWebSocketImpl
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketRequestHandler.handlers:Lio/vertx/core/http/impl/HttpHandlers;
getfield io.vertx.core.http.impl.HttpHandlers.wsHandler:Lio/vertx/core/Handler;
aload 4
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
15: aload 4
bipush 101
invokevirtual io.vertx.core.http.impl.ServerWebSocketImpl.tryHandshake:(I)Ljava/lang/Boolean;
pop
end local 4 16: goto 18
17: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.WebSocketRequestHandler.handlers:Lio/vertx/core/http/impl/HttpHandlers;
getfield io.vertx.core.http.impl.HttpHandlers.requestHandler:Lio/vertx/core/Handler;
aload 1
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/vertx/core/http/impl/WebSocketRequestHandler;
0 19 1 req Lio/vertx/core/http/impl/HttpServerRequestImpl;
0 19 2 body Lio/vertx/core/buffer/Buffer;
1 19 3 nettyReq Lio/netty/handler/codec/http/HttpRequest;
12 16 4 ws Lio/vertx/core/http/impl/ServerWebSocketImpl;
MethodParameters:
Name Flags
req
body
public void handle(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.vertx.core.http.HttpServerRequest
invokevirtual io.vertx.core.http.impl.WebSocketRequestHandler.handle:(Lio/vertx/core/http/HttpServerRequest;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$0(boolean[], io.vertx.core.buffer.Buffer, io.vertx.core.http.impl.HttpServerRequestImpl, io.vertx.core.buffer.Buffer);
descriptor: ([ZLio/vertx/core/buffer/Buffer;Lio/vertx/core/http/impl/HttpServerRequestImpl;Lio/vertx/core/buffer/Buffer;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=4
start local 3 0: aload 0
iconst_0
baload
ifne 7
1: aload 1
aload 3
invokeinterface io.vertx.core.buffer.Buffer.appendBuffer:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/buffer/Buffer;
pop
2: aload 1
invokeinterface io.vertx.core.buffer.Buffer.length:()I
sipush 8192
if_icmple 7
3: aload 0
iconst_0
iconst_1
bastore
4: aload 2
invokevirtual io.vertx.core.http.impl.HttpServerRequestImpl.response:()Lio/vertx/core/http/impl/HttpServerResponseImpl;
astore 4
start local 4 5: aload 4
sipush 413
invokevirtual io.vertx.core.http.impl.HttpServerResponseImpl.setStatusCode:(I)Lio/vertx/core/http/HttpServerResponse;
invokeinterface io.vertx.core.http.HttpServerResponse.end:()V
6: aload 4
invokevirtual io.vertx.core.http.impl.HttpServerResponseImpl.close:()V
end local 4 7: StackMap locals:
StackMap stack:
return
end local 3 LocalVariableTable:
Start End Slot Name Signature
0 8 3 buff Lio/vertx/core/buffer/Buffer;
5 7 4 resp Lio/vertx/core/http/impl/HttpServerResponseImpl;
private void lambda$1(boolean[], io.vertx.core.http.impl.HttpServerRequestImpl, io.vertx.core.buffer.Buffer, java.lang.Void);
descriptor: ([ZLio/vertx/core/http/impl/HttpServerRequestImpl;Lio/vertx/core/buffer/Buffer;Ljava/lang/Void;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 4 0: aload 1
iconst_0
baload
ifne 2
1: aload 0
aload 2
aload 3
invokevirtual io.vertx.core.http.impl.WebSocketRequestHandler.handle:(Lio/vertx/core/http/impl/HttpServerRequestImpl;Lio/vertx/core/buffer/Buffer;)V
2: StackMap locals:
StackMap stack:
return
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/http/impl/WebSocketRequestHandler;
0 3 4 v Ljava/lang/Void;
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/vertx/core/http/HttpServerRequest;>;
SourceFile: "WebSocketRequestHandler.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles