class io.undertow.server.protocol.http2.Http2UpgradeHandler$2 implements io.undertow.io.Receiver$PartialBytesCallback
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.undertow.server.protocol.http2.Http2UpgradeHandler$2
super_class: java.lang.Object
{
final io.undertow.server.protocol.http2.Http2UpgradeHandler this$0;
descriptor: Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.io.ByteArrayOutputStream val$outputStream;
descriptor: Ljava/io/ByteArrayOutputStream;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$upgrade;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$settings;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final int val$maxBufferedSize;
descriptor: I
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(io.undertow.server.protocol.http2.Http2UpgradeHandler, java.io.ByteArrayOutputStream, java.lang.String, java.lang.String, int);
descriptor: (Lio/undertow/server/protocol/http2/Http2UpgradeHandler;Ljava/io/ByteArrayOutputStream;Ljava/lang/String;Ljava/lang/String;I)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 0: aload 0
aload 1
putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.this$0:Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
aload 0
aload 2
putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
aload 0
aload 3
putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$upgrade:Ljava/lang/String;
aload 0
aload 4
putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$settings:Ljava/lang/String;
aload 0
iload 5
putfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$maxBufferedSize:I
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2UpgradeHandler$2;
MethodParameters:
Name Flags
this$0 final
val$outputStream final
val$upgrade final
val$settings final
val$maxBufferedSize final
public void handle(io.undertow.server.HttpServerExchange, byte[], boolean);
descriptor: (Lio/undertow/server/HttpServerExchange;[BZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
aload 2
invokevirtual java.io.ByteArrayOutputStream.write:([B)V
1: iload 3
ifeq 4
2: aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.this$0:Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
aload 1
aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$upgrade:Ljava/lang/String;
aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$settings:Ljava/lang/String;
aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokevirtual io.undertow.server.protocol.http2.Http2UpgradeHandler.handleHttp2Upgrade:(Lio/undertow/server/HttpServerExchange;Ljava/lang/String;Ljava/lang/String;[B)V
3: goto 18
StackMap locals:
StackMap stack:
4: aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.size:()I
aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$maxBufferedSize:I
if_icmplt 18
5: aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestReceiver:()Lio/undertow/io/Receiver;
invokeinterface io.undertow.io.Receiver.pause:()V
6: aload 1
iconst_1
anewarray io.undertow.connector.PooledByteBuffer
dup
iconst_0
new io.undertow.util.ImmediatePooledByteBuffer
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.val$outputStream:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
invokespecial io.undertow.util.ImmediatePooledByteBuffer.<init>:(Ljava/nio/ByteBuffer;)V
aastore
invokestatic io.undertow.server.Connectors.ungetRequestBytes:(Lio/undertow/server/HttpServerExchange;[Lio/undertow/connector/PooledByteBuffer;)V
7: aload 1
invokestatic io.undertow.server.Connectors.resetRequestChannel:(Lio/undertow/server/HttpServerExchange;)V
8: aload 0
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler$2.this$0:Lio/undertow/server/protocol/http2/Http2UpgradeHandler;
getfield io.undertow.server.protocol.http2.Http2UpgradeHandler.next:Lio/undertow/server/HttpHandler;
aload 1
invokeinterface io.undertow.server.HttpHandler.handleRequest:(Lio/undertow/server/HttpServerExchange;)V
9: goto 18
StackMap locals:
StackMap stack: java.io.IOException
10: astore 4
start local 4 11: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
aload 4
invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
12: aload 1
invokevirtual io.undertow.server.HttpServerExchange.endExchange:()Lio/undertow/server/HttpServerExchange;
pop
end local 4 13: goto 18
14: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 4
start local 4 15: aload 4
athrow
end local 4 16: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 17: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 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/undertow/server/protocol/http2/Http2UpgradeHandler$2;
0 19 1 exchange Lio/undertow/server/HttpServerExchange;
0 19 2 message [B
0 19 3 last Z
11 13 4 e Ljava/io/IOException;
15 16 4 e Ljava/lang/RuntimeException;
17 18 4 e Ljava/lang/Exception;
Exception table:
from to target type
0 9 10 Class java.io.IOException
0 9 14 Class java.lang.RuntimeException
0 9 16 Class java.lang.Exception
MethodParameters:
Name Flags
exchange
message
last
}
SourceFile: "Http2UpgradeHandler.java"
EnclosingMethod: io.undertow.server.protocol.http2.Http2UpgradeHandler.handleUpgradeBody:(Lio/undertow/server/HttpServerExchange;Ljava/lang/String;Ljava/lang/String;)V
NestHost: io.undertow.server.protocol.http2.Http2UpgradeHandler
InnerClasses:
public abstract PartialBytesCallback = io.undertow.io.Receiver$PartialBytesCallback of io.undertow.io.Receiver
io.undertow.server.protocol.http2.Http2UpgradeHandler$2