public class io.undertow.server.protocol.http2.Http2ServerConnection extends io.undertow.server.ServerConnection
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.server.protocol.http2.Http2ServerConnection
super_class: io.undertow.server.ServerConnection
{
private static final io.undertow.util.HttpString STATUS;
descriptor: Lio/undertow/util/HttpString;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.undertow.protocols.http2.Http2Channel channel;
descriptor: Lio/undertow/protocols/http2/Http2Channel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.undertow.protocols.http2.Http2StreamSourceChannel requestChannel;
descriptor: Lio/undertow/protocols/http2/Http2StreamSourceChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.undertow.protocols.http2.Http2DataStreamSinkChannel responseChannel;
descriptor: Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.conduits.ConduitStreamSinkChannel conduitStreamSinkChannel;
descriptor: Lorg/xnio/conduits/ConduitStreamSinkChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.conduits.ConduitStreamSourceChannel conduitStreamSourceChannel;
descriptor: Lorg/xnio/conduits/ConduitStreamSourceChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.conduits.StreamSinkConduit originalSinkConduit;
descriptor: Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.conduits.StreamSourceConduit originalSourceConduit;
descriptor: Lorg/xnio/conduits/StreamSourceConduit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.OptionMap undertowOptions;
descriptor: Lorg/xnio/OptionMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int bufferSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.undertow.server.SSLSessionInfo sessionInfo;
descriptor: Lio/undertow/server/SSLSessionInfo;
flags: (0x0002) ACC_PRIVATE
private final io.undertow.server.HttpHandler rootHandler;
descriptor: Lio/undertow/server/HttpHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.undertow.server.HttpServerExchange exchange;
descriptor: Lio/undertow/server/HttpServerExchange;
flags: (0x0002) ACC_PRIVATE
private boolean continueSent;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private io.undertow.server.XnioBufferPoolAdaptor poolAdaptor;
descriptor: Lio/undertow/server/XnioBufferPoolAdaptor;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new io.undertow.util.HttpString
dup
ldc ":status"
invokespecial io.undertow.util.HttpString.<init>:(Ljava/lang/String;)V
putstatic io.undertow.server.protocol.http2.Http2ServerConnection.STATUS:Lio/undertow/util/HttpString;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.undertow.protocols.http2.Http2Channel, io.undertow.protocols.http2.Http2StreamSourceChannel, org.xnio.OptionMap, int, io.undertow.server.HttpHandler);
descriptor: (Lio/undertow/protocols/http2/Http2Channel;Lio/undertow/protocols/http2/Http2StreamSourceChannel;Lorg/xnio/OptionMap;ILio/undertow/server/HttpHandler;)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
invokespecial io.undertow.server.ServerConnection.<init>:()V
1: aload 0
iconst_0
putfield io.undertow.server.protocol.http2.Http2ServerConnection.continueSent:Z
2: aload 0
aload 1
putfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
3: aload 0
aload 2
putfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
4: aload 0
aload 3
putfield io.undertow.server.protocol.http2.Http2ServerConnection.undertowOptions:Lorg/xnio/OptionMap;
5: aload 0
iload 4
putfield io.undertow.server.protocol.http2.Http2ServerConnection.bufferSize:I
6: aload 0
aload 5
putfield io.undertow.server.protocol.http2.Http2ServerConnection.rootHandler:Lio/undertow/server/HttpHandler;
7: aload 0
aload 2
invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.getResponseChannel:()Lio/undertow/protocols/http2/Http2HeadersStreamSinkChannel;
putfield io.undertow.server.protocol.http2.Http2ServerConnection.responseChannel:Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
8: aload 0
new org.xnio.conduits.StreamSinkChannelWrappingConduit
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.responseChannel:Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
invokespecial org.xnio.conduits.StreamSinkChannelWrappingConduit.<init>:(Lorg/xnio/channels/StreamSinkChannel;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.originalSinkConduit:Lorg/xnio/conduits/StreamSinkConduit;
9: aload 0
new org.xnio.conduits.StreamSourceChannelWrappingConduit
dup
aload 2
invokespecial org.xnio.conduits.StreamSourceChannelWrappingConduit.<init>:(Lorg/xnio/channels/StreamSourceChannel;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.originalSourceConduit:Lorg/xnio/conduits/StreamSourceConduit;
10: aload 0
new org.xnio.conduits.ConduitStreamSinkChannel
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.responseChannel:Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.originalSinkConduit:Lorg/xnio/conduits/StreamSinkConduit;
invokespecial org.xnio.conduits.ConduitStreamSinkChannel.<init>:(Lorg/xnio/channels/Configurable;Lorg/xnio/conduits/StreamSinkConduit;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.conduitStreamSinkChannel:Lorg/xnio/conduits/ConduitStreamSinkChannel;
11: aload 0
new org.xnio.conduits.ConduitStreamSourceChannel
dup
aload 1
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.originalSourceConduit:Lorg/xnio/conduits/StreamSourceConduit;
invokespecial org.xnio.conduits.ConduitStreamSourceChannel.<init>:(Lorg/xnio/channels/Configurable;Lorg/xnio/conduits/StreamSourceConduit;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.conduitStreamSourceChannel:Lorg/xnio/conduits/ConduitStreamSourceChannel;
12: 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 13 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 13 1 channel Lio/undertow/protocols/http2/Http2Channel;
0 13 2 requestChannel Lio/undertow/protocols/http2/Http2StreamSourceChannel;
0 13 3 undertowOptions Lorg/xnio/OptionMap;
0 13 4 bufferSize I
0 13 5 rootHandler Lio/undertow/server/HttpHandler;
MethodParameters:
Name Flags
channel
requestChannel
undertowOptions
bufferSize
rootHandler
void setExchange(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.undertow.server.protocol.http2.Http2ServerConnection.exchange:Lio/undertow/server/HttpServerExchange;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 2 1 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
exchange
public void <init>(io.undertow.protocols.http2.Http2Channel, io.undertow.protocols.http2.Http2DataStreamSinkChannel, org.xnio.OptionMap, int, io.undertow.server.HttpHandler);
descriptor: (Lio/undertow/protocols/http2/Http2Channel;Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;Lorg/xnio/OptionMap;ILio/undertow/server/HttpHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, 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
invokespecial io.undertow.server.ServerConnection.<init>:()V
1: aload 0
iconst_0
putfield io.undertow.server.protocol.http2.Http2ServerConnection.continueSent:Z
2: aload 0
aload 1
putfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
3: aload 0
aload 5
putfield io.undertow.server.protocol.http2.Http2ServerConnection.rootHandler:Lio/undertow/server/HttpHandler;
4: aload 0
aconst_null
putfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
5: aload 0
aload 3
putfield io.undertow.server.protocol.http2.Http2ServerConnection.undertowOptions:Lorg/xnio/OptionMap;
6: aload 0
iload 4
putfield io.undertow.server.protocol.http2.Http2ServerConnection.bufferSize:I
7: aload 0
aload 2
putfield io.undertow.server.protocol.http2.Http2ServerConnection.responseChannel:Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
8: aload 0
new org.xnio.conduits.StreamSinkChannelWrappingConduit
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.responseChannel:Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
invokespecial org.xnio.conduits.StreamSinkChannelWrappingConduit.<init>:(Lorg/xnio/channels/StreamSinkChannel;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.originalSinkConduit:Lorg/xnio/conduits/StreamSinkConduit;
9: aload 0
new org.xnio.conduits.StreamSourceChannelWrappingConduit
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
invokespecial org.xnio.conduits.StreamSourceChannelWrappingConduit.<init>:(Lorg/xnio/channels/StreamSourceChannel;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.originalSourceConduit:Lorg/xnio/conduits/StreamSourceConduit;
10: aload 0
new org.xnio.conduits.ConduitStreamSinkChannel
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.responseChannel:Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.originalSinkConduit:Lorg/xnio/conduits/StreamSinkConduit;
invokespecial org.xnio.conduits.ConduitStreamSinkChannel.<init>:(Lorg/xnio/channels/Configurable;Lorg/xnio/conduits/StreamSinkConduit;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.conduitStreamSinkChannel:Lorg/xnio/conduits/ConduitStreamSinkChannel;
11: aload 0
new org.xnio.conduits.ConduitStreamSourceChannel
dup
getstatic org.xnio.channels.Configurable.EMPTY:Lorg/xnio/channels/Configurable;
new org.xnio.conduits.EmptyStreamSourceConduit
dup
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getIoThread:()Lorg/xnio/XnioIoThread;
invokespecial org.xnio.conduits.EmptyStreamSourceConduit.<init>:(Lorg/xnio/XnioIoThread;)V
invokespecial org.xnio.conduits.ConduitStreamSourceChannel.<init>:(Lorg/xnio/channels/Configurable;Lorg/xnio/conduits/StreamSourceConduit;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.conduitStreamSourceChannel:Lorg/xnio/conduits/ConduitStreamSourceChannel;
12: 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 13 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 13 1 channel Lio/undertow/protocols/http2/Http2Channel;
0 13 2 sinkChannel Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
0 13 3 undertowOptions Lorg/xnio/OptionMap;
0 13 4 bufferSize I
0 13 5 rootHandler Lio/undertow/server/HttpHandler;
MethodParameters:
Name Flags
channel
sinkChannel
undertowOptions
bufferSize
rootHandler
public org.xnio.Pool<java.nio.ByteBuffer> getBufferPool();
descriptor: ()Lorg/xnio/Pool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.poolAdaptor:Lio/undertow/server/XnioBufferPoolAdaptor;
ifnonnull 2
1: aload 0
new io.undertow.server.XnioBufferPoolAdaptor
dup
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokespecial io.undertow.server.XnioBufferPoolAdaptor.<init>:(Lio/undertow/connector/ByteBufferPool;)V
putfield io.undertow.server.protocol.http2.Http2ServerConnection.poolAdaptor:Lio/undertow/server/XnioBufferPoolAdaptor;
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.poolAdaptor:Lio/undertow/server/XnioBufferPoolAdaptor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
Signature: ()Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;
public javax.net.ssl.SSLSession getSslSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.getSslSession:()Ljavax/net/ssl/SSLSession;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public io.undertow.connector.ByteBufferPool getByteBufferPool();
descriptor: ()Lio/undertow/connector/ByteBufferPool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.getBufferPool:()Lio/undertow/connector/ByteBufferPool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public org.xnio.XnioWorker getWorker();
descriptor: ()Lorg/xnio/XnioWorker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.getWorker:()Lorg/xnio/XnioWorker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public org.xnio.XnioIoThread getIoThread();
descriptor: ()Lorg/xnio/XnioIoThread;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.getIoThread:()Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public io.undertow.server.HttpServerExchange sendOutOfBandResponse(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)Lio/undertow/server/HttpServerExchange;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
invokestatic io.undertow.server.protocol.http.HttpContinue.requiresContinueResponse:(Lio/undertow/server/HttpServerExchange;)Z
ifne 2
1: StackMap locals:
StackMap stack:
getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.outOfBandResponseOnlyAllowedFor100Continue:()Ljava/lang/IllegalArgumentException;
athrow
2: StackMap locals:
StackMap stack:
new io.undertow.server.HttpServerExchange
dup
aload 0
invokespecial io.undertow.server.HttpServerExchange.<init>:(Lio/undertow/server/ServerConnection;)V
astore 2
start local 2 3: aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
invokevirtual io.undertow.util.HeaderMap.getHeaderNames:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: io.undertow.server.protocol.http2.Http2ServerConnection io.undertow.server.HttpServerExchange io.undertow.server.HttpServerExchange top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.util.HttpString
astore 3
start local 3 5: aload 2
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
aload 3
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
aload 3
invokevirtual io.undertow.util.HeaderMap.get:(Lio/undertow/util/HttpString;)Lio/undertow/util/HeaderValues;
invokevirtual io.undertow.util.HeaderMap.putAll:(Lio/undertow/util/HttpString;Ljava/util/Collection;)Lio/undertow/util/HeaderMap;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 2
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getProtocol:()Lio/undertow/util/HttpString;
invokevirtual io.undertow.server.HttpServerExchange.setProtocol:(Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
pop
8: aload 2
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
invokevirtual io.undertow.server.HttpServerExchange.setRequestMethod:(Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
pop
9: aload 1
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestURI:()Ljava/lang/String;
aload 1
invokevirtual io.undertow.server.HttpServerExchange.isHostIncludedInRequestURI:()Z
invokevirtual io.undertow.server.HttpServerExchange.setRequestURI:(Ljava/lang/String;Z)Lio/undertow/server/HttpServerExchange;
pop
10: aload 1
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestPath:()Ljava/lang/String;
invokevirtual io.undertow.server.HttpServerExchange.setRequestPath:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
11: aload 1
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRelativePath:()Ljava/lang/String;
invokevirtual io.undertow.server.HttpServerExchange.setRelativePath:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
12: aload 2
iconst_1
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
13: aload 2
invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
14: aload 2
new io.undertow.server.protocol.http2.Http2ServerConnection$1
dup
aload 0
aload 2
invokespecial io.undertow.server.protocol.http2.Http2ServerConnection$1.<init>:(Lio/undertow/server/protocol/http2/Http2ServerConnection;Lio/undertow/server/HttpServerExchange;)V
invokevirtual io.undertow.server.HttpServerExchange.addResponseWrapper:(Lio/undertow/server/ConduitWrapper;)Lio/undertow/server/HttpServerExchange;
pop
15: aload 0
iconst_1
putfield io.undertow.server.protocol.http2.Http2ServerConnection.continueSent:Z
16: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 17 1 exchange Lio/undertow/server/HttpServerExchange;
3 17 2 newExchange Lio/undertow/server/HttpServerExchange;
5 6 3 header Lio/undertow/util/HttpString;
MethodParameters:
Name Flags
exchange
public boolean isContinueResponseSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public void terminateRequestChannel(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
invokestatic io.undertow.server.protocol.http.HttpContinue.requiresContinueResponse:(Lio/undertow/util/HeaderMap;)Z
ifeq 5
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.continueSent:Z
ifne 5
1: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
ifnull 5
2: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
iconst_1
invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.setIgnoreForceClose:(Z)V
3: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.close:()V
4: aload 1
new io.undertow.server.protocol.http2.Http2ServerConnection$2
dup
aload 0
invokespecial io.undertow.server.protocol.http2.Http2ServerConnection$2.<init>:(Lio/undertow/server/protocol/http2/Http2ServerConnection;)V
invokevirtual io.undertow.server.HttpServerExchange.addExchangeCompleteListener:(Lio/undertow/server/ExchangeCompletionListener;)Lio/undertow/server/HttpServerExchange;
pop
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 6 1 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
exchange
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.isOpen:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public boolean supportsOption(org.xnio.Option<?>);
descriptor: (Lorg/xnio/Option;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 option Lorg/xnio/Option<*>;
Signature: (Lorg/xnio/Option<*>;)Z
MethodParameters:
Name Flags
option
public <T> T getOption(org.xnio.Option<T>);
descriptor: (Lorg/xnio/Option;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 option Lorg/xnio/Option<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;)TT;
MethodParameters:
Name Flags
option
public <T> T setOption(org.xnio.Option<T>, );
descriptor: (Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 option Lorg/xnio/Option<TT;>;
0 1 2 value TT;
Exceptions:
throws java.lang.IllegalArgumentException, java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;TT;)TT;
MethodParameters:
Name Flags
option
value
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.getStreamId:()I
bipush 8
invokevirtual io.undertow.protocols.http2.Http2Channel.sendRstStream:(II)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
Exceptions:
throws java.io.IOException
public java.net.SocketAddress getPeerAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.getPeerAddress:()Ljava/net/SocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public <A extends java.net.SocketAddress> A getPeerAddress(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 1
invokevirtual io.undertow.protocols.http2.Http2Channel.getPeerAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 type Ljava/lang/Class<TA;>;
Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
type
public org.xnio.ChannelListener$Setter<? extends org.xnio.channels.ConnectedChannel> getCloseSetter();
descriptor: ()Lorg/xnio/ChannelListener$Setter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
Signature: ()Lorg/xnio/ChannelListener$Setter<+Lorg/xnio/channels/ConnectedChannel;>;
public java.net.SocketAddress getLocalAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.getLocalAddress:()Ljava/net/SocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public <A extends java.net.SocketAddress> A getLocalAddress(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 1
invokevirtual io.undertow.protocols.http2.Http2Channel.getLocalAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 type Ljava/lang/Class<TA;>;
Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
type
public org.xnio.OptionMap getUndertowOptions();
descriptor: ()Lorg/xnio/OptionMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.undertowOptions:Lorg/xnio/OptionMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public int getBufferSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.bufferSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public io.undertow.server.SSLSessionInfo getSslSessionInfo();
descriptor: ()Lio/undertow/server/SSLSessionInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.sessionInfo:Lio/undertow/server/SSLSessionInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public void setSslSessionInfo(io.undertow.server.SSLSessionInfo);
descriptor: (Lio/undertow/server/SSLSessionInfo;)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 io.undertow.server.protocol.http2.Http2ServerConnection.sessionInfo:Lio/undertow/server/SSLSessionInfo;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 2 1 sessionInfo Lio/undertow/server/SSLSessionInfo;
MethodParameters:
Name Flags
sessionInfo
public void addCloseListener(io.undertow.server.ServerConnection$CloseListener);
descriptor: (Lio/undertow/server/ServerConnection$CloseListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
new io.undertow.server.protocol.http2.Http2ServerConnection$3
dup
aload 0
aload 1
invokespecial io.undertow.server.protocol.http2.Http2ServerConnection$3.<init>:(Lio/undertow/server/protocol/http2/Http2ServerConnection;Lio/undertow/server/ServerConnection$CloseListener;)V
invokevirtual io.undertow.protocols.http2.Http2Channel.addCloseTask:(Lorg/xnio/ChannelListener;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 2 1 listener Lio/undertow/server/ServerConnection$CloseListener;
MethodParameters:
Name Flags
listener final
protected org.xnio.StreamConnection upgradeChannel();
descriptor: ()Lorg/xnio/StreamConnection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.upgradeNotSupported:()Ljava/lang/IllegalStateException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
protected org.xnio.conduits.ConduitStreamSinkChannel getSinkChannel();
descriptor: ()Lorg/xnio/conduits/ConduitStreamSinkChannel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.conduitStreamSinkChannel:Lorg/xnio/conduits/ConduitStreamSinkChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
protected org.xnio.conduits.ConduitStreamSourceChannel getSourceChannel();
descriptor: ()Lorg/xnio/conduits/ConduitStreamSourceChannel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.conduitStreamSourceChannel:Lorg/xnio/conduits/ConduitStreamSourceChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
protected org.xnio.conduits.StreamSinkConduit getSinkConduit(io.undertow.server.HttpServerExchange, org.xnio.conduits.StreamSinkConduit);
descriptor: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSinkConduit;)Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.responseChannel:Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
invokevirtual io.undertow.protocols.http2.Http2DataStreamSinkChannel.getHeaders:()Lio/undertow/util/HeaderMap;
astore 3
start local 3 1: aload 1
invokestatic io.undertow.util.DateUtils.addDateHeaderIfRequired:(Lio/undertow/server/HttpServerExchange;)V
2: aload 3
getstatic io.undertow.server.protocol.http2.Http2ServerConnection.STATUS:Lio/undertow/util/HttpString;
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getStatusCode:()I
i2l
invokevirtual io.undertow.util.HeaderMap.add:(Lio/undertow/util/HttpString;J)Lio/undertow/util/HeaderMap;
pop
3: aload 1
invokestatic io.undertow.server.Connectors.flattenCookies:(Lio/undertow/server/HttpServerExchange;)V
4: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.originalSinkConduit:Lorg/xnio/conduits/StreamSinkConduit;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 5 1 exchange Lio/undertow/server/HttpServerExchange;
0 5 2 conduit Lorg/xnio/conduits/StreamSinkConduit;
1 5 3 headers Lio/undertow/util/HeaderMap;
MethodParameters:
Name Flags
exchange
conduit
protected boolean isUpgradeSupported();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
protected boolean isConnectSupported();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
protected void exchangeComplete(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
exchange
protected void setUpgradeListener(io.undertow.server.HttpUpgradeListener);
descriptor: (Lio/undertow/server/HttpUpgradeListener;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.upgradeNotSupported:()Ljava/lang/IllegalStateException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 upgradeListener Lio/undertow/server/HttpUpgradeListener;
MethodParameters:
Name Flags
upgradeListener
protected void setConnectListener(io.undertow.server.HttpUpgradeListener);
descriptor: (Lio/undertow/server/HttpUpgradeListener;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 connectListener Lio/undertow/server/HttpUpgradeListener;
MethodParameters:
Name Flags
connectListener
protected void maxEntitySizeUpdated(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
ifnull 2
1: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getMaxEntitySize:()J
invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.setMaxStreamSize:(J)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 3 1 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
exchange
public <T> void addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>, );
descriptor: (Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 1
aload 2
invokevirtual io.undertow.protocols.http2.Http2Channel.addToAttachmentList:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 2 1 key Lio/undertow/util/AttachmentKey<Lio/undertow/util/AttachmentList<TT;>;>;
0 2 2 value TT;
Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<Lio/undertow/util/AttachmentList<TT;>;>;TT;)V
MethodParameters:
Name Flags
key
value
public <T> T removeAttachment(io.undertow.util.AttachmentKey<T>);
descriptor: (Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 1
invokevirtual io.undertow.protocols.http2.Http2Channel.removeAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 key Lio/undertow/util/AttachmentKey<TT;>;
Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<TT;>;)TT;
MethodParameters:
Name Flags
key
public <T> T putAttachment(io.undertow.util.AttachmentKey<T>, );
descriptor: (Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 1
aload 2
invokevirtual io.undertow.protocols.http2.Http2Channel.putAttachment:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 key Lio/undertow/util/AttachmentKey<TT;>;
0 1 2 value TT;
Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<TT;>;TT;)TT;
MethodParameters:
Name Flags
key
value
public <T> java.util.List<T> getAttachmentList(io.undertow.util.AttachmentKey<? extends java.util.List<T>>);
descriptor: (Lio/undertow/util/AttachmentKey;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 1
invokevirtual io.undertow.protocols.http2.Http2Channel.getAttachmentList:(Lio/undertow/util/AttachmentKey;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 key Lio/undertow/util/AttachmentKey<+Ljava/util/List<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<+Ljava/util/List<TT;>;>;)Ljava/util/List<TT;>;
MethodParameters:
Name Flags
key
public <T> T getAttachment(io.undertow.util.AttachmentKey<T>);
descriptor: (Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 1
invokevirtual io.undertow.protocols.http2.Http2Channel.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 key Lio/undertow/util/AttachmentKey<TT;>;
Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<TT;>;)TT;
MethodParameters:
Name Flags
key
public boolean isPushSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.isPushEnabled:()Z
ifeq 1
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.X_DISABLE_PUSH:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.contains:(Lio/undertow/util/HttpString;)Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public boolean isRequestTrailerFieldsSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
public boolean (java.lang.String, io.undertow.util.HttpString, io.undertow.util.HeaderMap);
descriptor: (Ljava/lang/String;Lio/undertow/util/HttpString;Lio/undertow/util/HeaderMap;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.rootHandler:Lio/undertow/server/HttpHandler;
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.pushResource:(Ljava/lang/String;Lio/undertow/util/HttpString;Lio/undertow/util/HeaderMap;Lio/undertow/server/HttpHandler;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 1 1 path Ljava/lang/String;
0 1 2 method Lio/undertow/util/HttpString;
0 1 3 requestHeaders Lio/undertow/util/HeaderMap;
MethodParameters:
Name Flags
path
method
requestHeaders
public boolean pushResource(java.lang.String, io.undertow.util.HttpString, io.undertow.util.HeaderMap, io.undertow.server.HttpHandler);
descriptor: (Ljava/lang/String;Lio/undertow/util/HttpString;Lio/undertow/util/HeaderMap;Lio/undertow/server/HttpHandler;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new io.undertow.util.HeaderMap
dup
invokespecial io.undertow.util.HeaderMap.<init>:()V
astore 5
start local 5 1: aload 3
getstatic io.undertow.server.protocol.http2.Http2ReceiveListener.METHOD:Lio/undertow/util/HttpString;
aload 2
invokevirtual io.undertow.util.HttpString.toString:()Ljava/lang/String;
invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
2: aload 3
getstatic io.undertow.server.protocol.http2.Http2ReceiveListener.PATH:Lio/undertow/util/HttpString;
aload 1
invokevirtual java.lang.String.toString:()Ljava/lang/String;
invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
3: aload 3
getstatic io.undertow.server.protocol.http2.Http2ReceiveListener.AUTHORITY:Lio/undertow/util/HttpString;
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getHostAndPort:()Ljava/lang/String;
invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
4: aload 3
getstatic io.undertow.server.protocol.http2.Http2ReceiveListener.SCHEME:Lio/undertow/util/HttpString;
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getRequestScheme:()Ljava/lang/String;
invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
5: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.responseChannel:Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;
invokevirtual io.undertow.protocols.http2.Http2DataStreamSinkChannel.getStreamId:()I
aload 3
aload 5
invokevirtual io.undertow.protocols.http2.Http2Channel.sendPushPromise:(ILio/undertow/util/HeaderMap;Lio/undertow/util/HeaderMap;)Lio/undertow/protocols/http2/Http2HeadersStreamSinkChannel;
astore 6
start local 6 6: new io.undertow.server.protocol.http2.Http2ServerConnection
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 6
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getBufferSize:()I
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.rootHandler:Lio/undertow/server/HttpHandler;
invokespecial io.undertow.server.protocol.http2.Http2ServerConnection.<init>:(Lio/undertow/protocols/http2/Http2Channel;Lio/undertow/protocols/http2/Http2DataStreamSinkChannel;Lorg/xnio/OptionMap;ILio/undertow/server/HttpHandler;)V
astore 7
start local 7 7: new io.undertow.server.HttpServerExchange
dup
aload 7
aload 3
aload 5
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.MAX_ENTITY_SIZE:Lorg/xnio/Option;
ldc -1
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;J)J
invokespecial io.undertow.server.HttpServerExchange.<init>:(Lio/undertow/server/ServerConnection;Lio/undertow/util/HeaderMap;Lio/undertow/util/HeaderMap;J)V
astore 8
start local 8 8: aload 7
aload 8
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.setExchange:(Lio/undertow/server/HttpServerExchange;)V
9: aload 8
aload 2
invokevirtual io.undertow.server.HttpServerExchange.setRequestMethod:(Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
pop
10: aload 8
getstatic io.undertow.util.Protocols.HTTP_1_1:Lio/undertow/util/HttpString;
invokevirtual io.undertow.server.HttpServerExchange.setProtocol:(Lio/undertow/util/HttpString;)Lio/undertow/server/HttpServerExchange;
pop
11: aload 8
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getRequestScheme:()Ljava/lang/String;
invokevirtual io.undertow.server.HttpServerExchange.setRequestScheme:(Ljava/lang/String;)Lio/undertow/server/HttpServerExchange;
pop
12: aload 8
aload 1
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.URL_CHARSET:Lorg/xnio/Option;
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.name:()Ljava/lang/String;
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.DECODE_URL:Lorg/xnio/Option;
iconst_1
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.ALLOW_ENCODED_SLASH:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.MAX_PARAMETERS:Lorg/xnio/Option;
sipush 200
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
invokestatic io.undertow.server.Connectors.setExchangeRequestPath:(Lio/undertow/server/HttpServerExchange;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/StringBuilder;I)V
13: goto 19
StackMap locals: io.undertow.server.protocol.http2.Http2ServerConnection java.lang.String io.undertow.util.HttpString io.undertow.util.HeaderMap io.undertow.server.HttpHandler io.undertow.util.HeaderMap io.undertow.protocols.http2.Http2HeadersStreamSinkChannel io.undertow.server.protocol.http2.Http2ServerConnection io.undertow.server.HttpServerExchange
StackMap stack: io.undertow.util.ParameterLimitException
14: astore 9
start local 9 15: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Too many parameters in HTTP/2 request"
aload 9
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
16: aload 8
sipush 400
invokevirtual io.undertow.server.HttpServerExchange.setStatusCode:(I)Lio/undertow/server/HttpServerExchange;
pop
17: aload 8
invokevirtual io.undertow.server.HttpServerExchange.endExchange:()Lio/undertow/server/HttpServerExchange;
pop
18: iconst_0
ireturn
end local 9 19: StackMap locals:
StackMap stack:
aload 8
invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
20: aload 0
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection.getIoThread:()Lorg/xnio/XnioIoThread;
new io.undertow.server.protocol.http2.Http2ServerConnection$4
dup
aload 0
aload 4
aload 8
invokespecial io.undertow.server.protocol.http2.Http2ServerConnection$4.<init>:(Lio/undertow/server/protocol/http2/Http2ServerConnection;Lio/undertow/server/HttpHandler;Lio/undertow/server/HttpServerExchange;)V
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
21: iconst_1
ireturn
end local 8 end local 7 end local 6 22: StackMap locals: io.undertow.server.protocol.http2.Http2ServerConnection java.lang.String io.undertow.util.HttpString io.undertow.util.HeaderMap io.undertow.server.HttpHandler io.undertow.util.HeaderMap
StackMap stack: java.io.IOException
astore 6
start local 6 23: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
aload 6
invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
24: iconst_0
ireturn
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 25 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
0 25 1 path Ljava/lang/String;
0 25 2 method Lio/undertow/util/HttpString;
0 25 3 requestHeaders Lio/undertow/util/HeaderMap;
0 25 4 handler Lio/undertow/server/HttpHandler;
1 25 5 responseHeaders Lio/undertow/util/HeaderMap;
6 22 6 sink Lio/undertow/protocols/http2/Http2HeadersStreamSinkChannel;
7 22 7 newConnection Lio/undertow/server/protocol/http2/Http2ServerConnection;
8 22 8 exchange Lio/undertow/server/HttpServerExchange;
15 19 9 e Lio/undertow/util/ParameterLimitException;
23 25 6 e Ljava/io/IOException;
Exception table:
from to target type
12 13 14 Class io.undertow.util.ParameterLimitException
1 18 22 Class java.io.IOException
19 21 22 Class java.io.IOException
MethodParameters:
Name Flags
path
method
requestHeaders
handler final
public java.lang.String getTransportProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
invokevirtual io.undertow.protocols.http2.Http2Channel.getProtocol:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection;
}
SourceFile: "Http2ServerConnection.java"
NestMembers:
io.undertow.server.protocol.http2.Http2ServerConnection$1 io.undertow.server.protocol.http2.Http2ServerConnection$2 io.undertow.server.protocol.http2.Http2ServerConnection$3 io.undertow.server.protocol.http2.Http2ServerConnection$4
InnerClasses:
public abstract CloseListener = io.undertow.server.ServerConnection$CloseListener of io.undertow.server.ServerConnection
io.undertow.server.protocol.http2.Http2ServerConnection$1
io.undertow.server.protocol.http2.Http2ServerConnection$2
io.undertow.server.protocol.http2.Http2ServerConnection$3
io.undertow.server.protocol.http2.Http2ServerConnection$4
public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener