class io.undertow.server.protocol.http2.Http2ServerConnection$1 implements io.undertow.server.ConduitWrapper<org.xnio.conduits.StreamSinkConduit>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.undertow.server.protocol.http2.Http2ServerConnection$1
super_class: java.lang.Object
{
final io.undertow.server.protocol.http2.Http2ServerConnection this$0;
descriptor: Lio/undertow/server/protocol/http2/Http2ServerConnection;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final io.undertow.server.HttpServerExchange val$newExchange;
descriptor: Lio/undertow/server/HttpServerExchange;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(io.undertow.server.protocol.http2.Http2ServerConnection, io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/protocol/http2/Http2ServerConnection;Lio/undertow/server/HttpServerExchange;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield io.undertow.server.protocol.http2.Http2ServerConnection$1.this$0:Lio/undertow/server/protocol/http2/Http2ServerConnection;
aload 0
aload 2
putfield io.undertow.server.protocol.http2.Http2ServerConnection$1.val$newExchange:Lio/undertow/server/HttpServerExchange;
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/Http2ServerConnection$1;
MethodParameters:
Name Flags
this$0 final
val$newExchange final
public org.xnio.conduits.StreamSinkConduit wrap(io.undertow.util.ConduitFactory<org.xnio.conduits.StreamSinkConduit>, io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection$1.val$newExchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
astore 3
start local 3 1: aload 2
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 2
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 2
invokestatic io.undertow.server.Connectors.flattenCookies:(Lio/undertow/server/HttpServerExchange;)V
4: new io.undertow.protocols.http2.Http2HeadersStreamSinkChannel
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection$1.this$0:Lio/undertow/server/protocol/http2/Http2ServerConnection;
getfield io.undertow.server.protocol.http2.Http2ServerConnection.channel:Lio/undertow/protocols/http2/Http2Channel;
aload 0
getfield io.undertow.server.protocol.http2.Http2ServerConnection$1.this$0:Lio/undertow/server/protocol/http2/Http2ServerConnection;
getfield io.undertow.server.protocol.http2.Http2ServerConnection.requestChannel:Lio/undertow/protocols/http2/Http2StreamSourceChannel;
invokevirtual io.undertow.protocols.http2.Http2StreamSourceChannel.getStreamId:()I
aload 3
invokespecial io.undertow.protocols.http2.Http2HeadersStreamSinkChannel.<init>:(Lio/undertow/protocols/http2/Http2Channel;ILio/undertow/util/HeaderMap;)V
astore 4
start local 4 5: new org.xnio.conduits.StreamSinkChannelWrappingConduit
dup
aload 4
invokespecial org.xnio.conduits.StreamSinkChannelWrappingConduit.<init>:(Lorg/xnio/channels/StreamSinkChannel;)V
astore 5
start local 5 6: aload 5
new org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler
dup
aload 2
invokestatic io.undertow.server.Connectors.getConduitSinkChannel:(Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokespecial org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler.<init>:(Lorg/xnio/channels/SuspendableWriteChannel;)V
invokevirtual org.xnio.conduits.StreamSinkChannelWrappingConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
7: aload 5
areturn
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 8 0 this Lio/undertow/server/protocol/http2/Http2ServerConnection$1;
0 8 1 factory Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;
0 8 2 exchange Lio/undertow/server/HttpServerExchange;
1 8 3 headers Lio/undertow/util/HeaderMap;
5 8 4 sink Lio/undertow/protocols/http2/Http2HeadersStreamSinkChannel;
6 8 5 ret Lorg/xnio/conduits/StreamSinkChannelWrappingConduit;
Signature: (Lio/undertow/util/ConduitFactory<Lorg/xnio/conduits/StreamSinkConduit;>;Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/StreamSinkConduit;
MethodParameters:
Name Flags
factory
exchange
public org.xnio.conduits.Conduit wrap(io.undertow.util.ConduitFactory, io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/Conduit;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast io.undertow.util.ConduitFactory
aload 2
invokevirtual io.undertow.server.protocol.http2.Http2ServerConnection$1.wrap:(Lio/undertow/util/ConduitFactory;Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/StreamSinkConduit;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lio/undertow/server/ConduitWrapper<Lorg/xnio/conduits/StreamSinkConduit;>;
SourceFile: "Http2ServerConnection.java"
EnclosingMethod: io.undertow.server.protocol.http2.Http2ServerConnection.sendOutOfBandResponse:(Lio/undertow/server/HttpServerExchange;)Lio/undertow/server/HttpServerExchange;
NestHost: io.undertow.server.protocol.http2.Http2ServerConnection
InnerClasses:
io.undertow.server.protocol.http2.Http2ServerConnection$1
public ChannelListenerHandler = org.xnio.conduits.WriteReadyHandler$ChannelListenerHandler of org.xnio.conduits.WriteReadyHandler