public final class io.undertow.server.protocol.http.HttpServerConnection extends io.undertow.server.AbstractServerConnection
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.undertow.server.protocol.http.HttpServerConnection
super_class: io.undertow.server.AbstractServerConnection
{
private io.undertow.server.SSLSessionInfo sslSessionInfo;
descriptor: Lio/undertow/server/SSLSessionInfo;
flags: (0x0002) ACC_PRIVATE
private io.undertow.server.protocol.http.HttpReadListener readListener;
descriptor: Lio/undertow/server/protocol/http/HttpReadListener;
flags: (0x0002) ACC_PRIVATE
private io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit pipelineBuffer;
descriptor: Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
flags: (0x0002) ACC_PRIVATE
private io.undertow.server.protocol.http.HttpResponseConduit responseConduit;
descriptor: Lio/undertow/server/protocol/http/HttpResponseConduit;
flags: (0x0002) ACC_PRIVATE
private io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit fixedLengthStreamSinkConduit;
descriptor: Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
flags: (0x0002) ACC_PRIVATE
private io.undertow.conduits.ReadDataStreamSourceConduit readDataStreamSourceConduit;
descriptor: Lio/undertow/conduits/ReadDataStreamSourceConduit;
flags: (0x0002) ACC_PRIVATE
private io.undertow.server.HttpUpgradeListener upgradeListener;
descriptor: Lio/undertow/server/HttpUpgradeListener;
flags: (0x0002) ACC_PRIVATE
private boolean connectHandled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>(org.xnio.StreamConnection, io.undertow.connector.ByteBufferPool, io.undertow.server.HttpHandler, org.xnio.OptionMap, int, io.undertow.server.ConnectorStatisticsImpl);
descriptor: (Lorg/xnio/StreamConnection;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/HttpHandler;Lorg/xnio/OptionMap;ILio/undertow/server/ConnectorStatisticsImpl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, 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: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
invokespecial io.undertow.server.AbstractServerConnection.<init>:(Lorg/xnio/StreamConnection;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/HttpHandler;Lorg/xnio/OptionMap;I)V
1: aload 1
instanceof org.xnio.channels.SslChannel
ifeq 3
2: aload 0
new io.undertow.server.ConnectionSSLSessionInfo
dup
aload 1
checkcast org.xnio.channels.SslChannel
aload 0
invokespecial io.undertow.server.ConnectionSSLSessionInfo.<init>:(Lorg/xnio/channels/SslChannel;Lio/undertow/server/protocol/http/HttpServerConnection;)V
putfield io.undertow.server.protocol.http.HttpServerConnection.sslSessionInfo:Lio/undertow/server/SSLSessionInfo;
3: StackMap locals: io.undertow.server.protocol.http.HttpServerConnection org.xnio.StreamConnection io.undertow.connector.ByteBufferPool io.undertow.server.HttpHandler org.xnio.OptionMap int io.undertow.server.ConnectorStatisticsImpl
StackMap stack:
aload 0
new io.undertow.server.protocol.http.HttpResponseConduit
dup
aload 1
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
aload 2
aload 0
invokespecial io.undertow.server.protocol.http.HttpResponseConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/http/HttpServerConnection;)V
putfield io.undertow.server.protocol.http.HttpServerConnection.responseConduit:Lio/undertow/server/protocol/http/HttpResponseConduit;
4: aload 0
new io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
dup
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.responseConduit:Lio/undertow/server/protocol/http/HttpResponseConduit;
iconst_0
iconst_0
invokespecial io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;ZZ)V
putfield io.undertow.server.protocol.http.HttpServerConnection.fixedLengthStreamSinkConduit:Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
5: aload 0
new io.undertow.conduits.ReadDataStreamSourceConduit
dup
aload 1
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
aload 0
invokespecial io.undertow.conduits.ReadDataStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/server/AbstractServerConnection;)V
putfield io.undertow.server.protocol.http.HttpServerConnection.readDataStreamSourceConduit:Lio/undertow/conduits/ReadDataStreamSourceConduit;
6: aload 0
new io.undertow.server.protocol.http.HttpServerConnection$1
dup
aload 0
aload 6
invokespecial io.undertow.server.protocol.http.HttpServerConnection$1.<init>:(Lio/undertow/server/protocol/http/HttpServerConnection;Lio/undertow/server/ConnectorStatisticsImpl;)V
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.addCloseListener:(Lio/undertow/server/ServerConnection$CloseListener;)V
7: return
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 8 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 8 1 channel Lorg/xnio/StreamConnection;
0 8 2 bufferPool Lio/undertow/connector/ByteBufferPool;
0 8 3 rootHandler Lio/undertow/server/HttpHandler;
0 8 4 undertowOptions Lorg/xnio/OptionMap;
0 8 5 bufferSize I
0 8 6 connectorStatistics Lio/undertow/server/ConnectorStatisticsImpl;
MethodParameters:
Name Flags
channel
bufferPool final
rootHandler final
undertowOptions final
bufferSize final
connectorStatistics final
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=6, 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:
aload 0
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.resetChannel:()Lio/undertow/server/AbstractServerConnection$ConduitState;
astore 2
start local 2 3: new io.undertow.server.HttpServerExchange
dup
aload 0
invokespecial io.undertow.server.HttpServerExchange.<init>:(Lio/undertow/server/ServerConnection;)V
astore 3
start local 3 4: 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 5
goto 7
StackMap locals: io.undertow.server.protocol.http.HttpServerConnection io.undertow.server.HttpServerExchange io.undertow.server.AbstractServerConnection$ConduitState io.undertow.server.HttpServerExchange top java.util.Iterator
StackMap stack:
5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.util.HttpString
astore 4
start local 4 6: aload 3
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
aload 4
aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
aload 4
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 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 3
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
9: aload 3
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
10: 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
11: 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
12: 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
13: aload 3
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
getstatic io.undertow.util.Headers.KEEP_ALIVE:Lio/undertow/util/HttpString;
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
14: aload 3
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
lconst_0
invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;J)Lio/undertow/util/HeaderMap;
pop
15: aload 3
iconst_1
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
16: aload 3
invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
17: aload 3
new io.undertow.server.protocol.http.HttpServerConnection$2
dup
aload 0
invokespecial io.undertow.server.protocol.http.HttpServerConnection$2.<init>:(Lio/undertow/server/protocol/http/HttpServerConnection;)V
invokevirtual io.undertow.server.HttpServerExchange.addResponseWrapper:(Lio/undertow/server/ConduitWrapper;)Lio/undertow/server/HttpServerExchange;
pop
18: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
aload 2
invokestatic io.undertow.server.protocol.http.HttpServerConnection.source:(Lio/undertow/server/AbstractServerConnection$ConduitState;)Lorg/xnio/conduits/StreamSourceConduit;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
19: aload 3
new io.undertow.server.protocol.http.HttpServerConnection$3
dup
aload 0
aload 2
invokespecial io.undertow.server.protocol.http.HttpServerConnection$3.<init>:(Lio/undertow/server/protocol/http/HttpServerConnection;Lio/undertow/server/AbstractServerConnection$ConduitState;)V
invokevirtual io.undertow.server.HttpServerExchange.addExchangeCompleteListener:(Lio/undertow/server/ExchangeCompletionListener;)Lio/undertow/server/HttpServerExchange;
pop
20: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 21 1 exchange Lio/undertow/server/HttpServerExchange;
3 21 2 state Lio/undertow/server/AbstractServerConnection$ConduitState;
4 21 3 newExchange Lio/undertow/server/HttpServerExchange;
6 7 4 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/http/HttpServerConnection;
public void terminateRequestChannel(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.undertow.server.HttpServerExchange.isPersistent:()Z
ifne 2
1: aload 0
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)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/http/HttpServerConnection;
0 3 1 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
exchange
public void ungetRequestBytes(io.undertow.connector.PooledByteBuffer);
descriptor: (Lio/undertow/connector/PooledByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getExtraBytes:()Lio/undertow/connector/PooledByteBuffer;
ifnonnull 3
1: aload 0
aload 1
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.setExtraBytes:(Lio/undertow/connector/PooledByteBuffer;)V
2: goto 21
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getExtraBytes:()Lio/undertow/connector/PooledByteBuffer;
astore 2
start local 2 4: aload 2
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 3
start local 3 5: aload 1
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 4
start local 4 6: aload 4
invokevirtual java.nio.ByteBuffer.limit:()I
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 13
7: aload 4
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
8: aload 4
aload 3
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
9: aload 4
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
10: aload 2
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
11: aload 0
aload 1
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.setExtraBytes:(Lio/undertow/connector/PooledByteBuffer;)V
12: goto 21
13: StackMap locals: io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
newarray 8
astore 5
start local 5 14: aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 6
start local 6 15: aload 4
aload 5
iconst_0
aload 4
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
16: aload 3
aload 5
iload 6
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
17: aload 2
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
18: aload 1
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
19: aload 5
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 7
start local 7 20: aload 0
new io.undertow.util.ImmediatePooledByteBuffer
dup
aload 7
invokespecial io.undertow.util.ImmediatePooledByteBuffer.<init>:(Ljava/nio/ByteBuffer;)V
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.setExtraBytes:(Lio/undertow/connector/PooledByteBuffer;)V
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 22 1 unget Lio/undertow/connector/PooledByteBuffer;
4 21 2 eb Lio/undertow/connector/PooledByteBuffer;
5 21 3 buf Ljava/nio/ByteBuffer;
6 21 4 ugBuffer Ljava/nio/ByteBuffer;
14 21 5 data [B
15 21 6 first I
20 21 7 newBuffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
unget final
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.http.HttpServerConnection.sslSessionInfo:Lio/undertow/server/SSLSessionInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
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.http.HttpServerConnection.sslSessionInfo: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/http/HttpServerConnection;
0 2 1 sessionInfo Lio/undertow/server/SSLSessionInfo;
MethodParameters:
Name Flags
sessionInfo
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.http.HttpServerConnection.channel:Lorg/xnio/StreamConnection;
instanceof org.xnio.channels.SslChannel
ifeq 2
1: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.channel:Lorg/xnio/StreamConnection;
checkcast org.xnio.channels.SslChannel
invokeinterface org.xnio.channels.SslChannel.getSslSession:()Ljavax/net/ssl/SSLSession;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
protected org.xnio.StreamConnection upgradeChannel();
descriptor: ()Lorg/xnio/StreamConnection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.clearChannel:()V
1: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
ifnull 3
2: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
new io.undertow.conduits.ReadDataStreamSourceConduit
dup
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
aload 0
invokespecial io.undertow.conduits.ReadDataStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/server/AbstractServerConnection;)V
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.channel:Lorg/xnio/StreamConnection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
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=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
getstatic io.undertow.util.Methods.CONNECT:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
ifeq 3
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.connectHandled:Z
ifne 3
1: aload 1
iconst_0
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
2: aload 1
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
ldc "close"
invokevirtual io.undertow.util.HeaderMap.put:(Lio/undertow/util/HttpString;Ljava/lang/String;)Lio/undertow/util/HeaderMap;
pop
3: StackMap locals:
StackMap stack:
aload 1
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.createSinkConduit:(Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/StreamSinkConduit;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 4 1 exchange Lio/undertow/server/HttpServerExchange;
0 4 2 conduit Lorg/xnio/conduits/StreamSinkConduit;
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_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
protected boolean isConnectSupported();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
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/http/HttpServerConnection;
void setReadListener(io.undertow.server.protocol.http.HttpReadListener);
descriptor: (Lio/undertow/server/protocol/http/HttpReadListener;)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.http.HttpServerConnection.readListener:Lio/undertow/server/protocol/http/HttpReadListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 2 1 readListener Lio/undertow/server/protocol/http/HttpReadListener;
MethodParameters:
Name Flags
readListener
protected void exchangeComplete(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.fixedLengthStreamSinkConduit:Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
ifnull 2
1: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.fixedLengthStreamSinkConduit:Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
invokevirtual io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit.clearExchange:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.pipelineBuffer:Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
ifnonnull 5
3: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.readListener:Lio/undertow/server/protocol/http/HttpReadListener;
aload 1
invokevirtual io.undertow.server.protocol.http.HttpReadListener.exchangeComplete:(Lio/undertow/server/HttpServerExchange;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.pipelineBuffer:Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
aload 1
invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.exchangeComplete:(Lio/undertow/server/HttpServerExchange;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 7 1 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
exchange
io.undertow.server.protocol.http.HttpReadListener getReadListener();
descriptor: ()Lio/undertow/server/protocol/http/HttpReadListener;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.readListener:Lio/undertow/server/protocol/http/HttpReadListener;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
io.undertow.conduits.ReadDataStreamSourceConduit getReadDataStreamSourceConduit();
descriptor: ()Lio/undertow/conduits/ReadDataStreamSourceConduit;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.readDataStreamSourceConduit:Lio/undertow/conduits/ReadDataStreamSourceConduit;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
public io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit getPipelineBuffer();
descriptor: ()Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.pipelineBuffer:Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
public io.undertow.server.protocol.http.HttpResponseConduit getResponseConduit();
descriptor: ()Lio/undertow/server/protocol/http/HttpResponseConduit;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.responseConduit:Lio/undertow/server/protocol/http/HttpResponseConduit;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit getFixedLengthStreamSinkConduit();
descriptor: ()Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.fixedLengthStreamSinkConduit:Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
protected io.undertow.server.HttpUpgradeListener getUpgradeListener();
descriptor: ()Lio/undertow/server/HttpUpgradeListener;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.upgradeListener:Lio/undertow/server/HttpUpgradeListener;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
protected void setUpgradeListener(io.undertow.server.HttpUpgradeListener);
descriptor: (Lio/undertow/server/HttpUpgradeListener;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.undertow.server.protocol.http.HttpServerConnection.upgradeListener:Lio/undertow/server/HttpUpgradeListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 2 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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.undertow.server.protocol.http.HttpServerConnection.upgradeListener:Lio/undertow/server/HttpUpgradeListener;
1: aload 0
iconst_1
putfield io.undertow.server.protocol.http.HttpServerConnection.connectHandled:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 3 1 connectListener Lio/undertow/server/HttpUpgradeListener;
MethodParameters:
Name Flags
connectListener
void setCurrentExchange(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.http.HttpServerConnection.current: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/http/HttpServerConnection;
0 2 1 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
exchange
public void setPipelineBuffer(io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit);
descriptor: (Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.undertow.server.protocol.http.HttpServerConnection.pipelineBuffer:Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
1: aload 0
new io.undertow.server.protocol.http.HttpResponseConduit
dup
aload 1
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.bufferPool:Lio/undertow/connector/ByteBufferPool;
aload 0
invokespecial io.undertow.server.protocol.http.HttpResponseConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/http/HttpServerConnection;)V
putfield io.undertow.server.protocol.http.HttpServerConnection.responseConduit:Lio/undertow/server/protocol/http/HttpResponseConduit;
2: aload 0
new io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit
dup
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.responseConduit:Lio/undertow/server/protocol/http/HttpResponseConduit;
iconst_0
iconst_0
invokespecial io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;ZZ)V
putfield io.undertow.server.protocol.http.HttpServerConnection.fixedLengthStreamSinkConduit:Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
0 4 1 pipelineBuffer Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
MethodParameters:
Name Flags
pipelineBuffer
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: ldc "http/1.1"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
public boolean isRequestTrailerFieldsSupported();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.current:Lio/undertow/server/HttpServerExchange;
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.current:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
astore 1
start local 1 3: aload 1
ifnonnull 5
4: iconst_0
ireturn
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
getstatic io.undertow.util.Headers.CHUNKED:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HttpString.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
3 6 1 te Ljava/lang/String;
boolean isConnectHandled();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpServerConnection.connectHandled:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpServerConnection;
static org.xnio.conduits.ConduitStreamSinkChannel access$0(io.undertow.server.protocol.http.HttpServerConnection);
descriptor: (Lio/undertow/server/protocol/http/HttpServerConnection;)Lorg/xnio/conduits/ConduitStreamSinkChannel;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "HttpServerConnection.java"
NestMembers:
io.undertow.server.protocol.http.HttpServerConnection$1 io.undertow.server.protocol.http.HttpServerConnection$2 io.undertow.server.protocol.http.HttpServerConnection$2$1 io.undertow.server.protocol.http.HttpServerConnection$3
InnerClasses:
public ConduitState = io.undertow.server.AbstractServerConnection$ConduitState of io.undertow.server.AbstractServerConnection
public abstract CloseListener = io.undertow.server.ServerConnection$CloseListener of io.undertow.server.ServerConnection
io.undertow.server.protocol.http.HttpServerConnection$1
io.undertow.server.protocol.http.HttpServerConnection$2
io.undertow.server.protocol.http.HttpServerConnection$3