class io.undertow.server.protocol.http.HttpTransferEncoding
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.undertow.server.protocol.http.HttpTransferEncoding
super_class: java.lang.Object
{
private static final org.jboss.logging.Logger log;
descriptor: Lorg/jboss/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "io.undertow.server.handler.transfer-encoding"
invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/String;)Lorg/jboss/logging/Logger;
putstatic io.undertow.server.protocol.http.HttpTransferEncoding.log:Lorg/jboss/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http/HttpTransferEncoding;
public static void setupRequest(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
astore 1
start local 1 1: aload 1
getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
astore 2
start local 2 2: aload 1
getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.getLast:(Lio/undertow/util/HttpString;)Ljava/lang/String;
astore 3
start local 3 3: aload 1
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
astore 4
start local 4 4: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
checkcast io.undertow.server.protocol.http.HttpServerConnection
astore 5
start local 5 5: aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getPipelineBuffer:()Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
astore 6
start local 6 6: aload 6
ifnull 8
7: aload 6
aload 0
invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.setupPipelineBuffer:(Lio/undertow/server/HttpServerExchange;)V
8: StackMap locals: io.undertow.server.HttpServerExchange io.undertow.util.HeaderMap java.lang.String java.lang.String java.lang.String io.undertow.server.protocol.http.HttpServerConnection io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
StackMap stack:
aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
astore 7
start local 7 9: aload 7
aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getReadDataStreamSourceConduit:()Lio/undertow/conduits/ReadDataStreamSourceConduit;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
10: aload 0
aload 2
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.persistentConnection:(Lio/undertow/server/HttpServerExchange;Ljava/lang/String;)Z
istore 8
start local 8 11: aload 3
ifnonnull 21
aload 4
ifnonnull 21
12: iload 8
ifeq 19
13: aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getExtraBytes:()Lio/undertow/connector/PooledByteBuffer;
ifnull 19
14: aload 6
ifnonnull 19
15: aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.BUFFER_PIPELINED_DATA:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
ifeq 19
16: new io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
dup
aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getOriginalSinkConduit:()Lorg/xnio/conduits/StreamSinkConduit;
aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokespecial io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;)V
astore 6
17: aload 5
aload 6
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.setPipelineBuffer:(Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;)V
18: aload 6
aload 0
invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.setupPipelineBuffer:(Lio/undertow/server/HttpServerExchange;)V
19: StackMap locals: org.xnio.conduits.ConduitStreamSourceChannel int
StackMap stack:
aload 0
invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
20: goto 22
21: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 4
aload 5
aload 6
iload 8
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.handleRequestEncoding:(Lio/undertow/server/HttpServerExchange;Ljava/lang/String;Ljava/lang/String;Lio/undertow/server/protocol/http/HttpServerConnection;Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;Z)Z
istore 8
22: StackMap locals:
StackMap stack:
aload 0
iload 8
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
23: aload 0
invokevirtual io.undertow.server.HttpServerExchange.isRequestComplete:()Z
ifeq 24
aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getExtraBytes:()Lio/undertow/connector/PooledByteBuffer;
ifnull 26
24: StackMap locals:
StackMap stack:
aload 7
aconst_null
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setReadListener:(Lorg/xnio/ChannelListener;)V
25: aload 7
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
26: StackMap locals:
StackMap stack:
return
end local 8 end local 7 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 27 0 exchange Lio/undertow/server/HttpServerExchange;
1 27 1 requestHeaders Lio/undertow/util/HeaderMap;
2 27 2 connectionHeader Ljava/lang/String;
3 27 3 transferEncodingHeader Ljava/lang/String;
4 27 4 contentLengthHeader Ljava/lang/String;
5 27 5 connection Lio/undertow/server/protocol/http/HttpServerConnection;
6 27 6 pipeliningBuffer Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
9 27 7 sourceChannel Lorg/xnio/conduits/ConduitStreamSourceChannel;
11 27 8 persistentConnection Z
MethodParameters:
Name Flags
exchange final
private static boolean handleRequestEncoding(io.undertow.server.HttpServerExchange, java.lang.String, java.lang.String, io.undertow.server.protocol.http.HttpServerConnection, io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit, boolean);
descriptor: (Lio/undertow/server/HttpServerExchange;Ljava/lang/String;Ljava/lang/String;Lio/undertow/server/protocol/http/HttpServerConnection;Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;Z)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic io.undertow.util.Headers.IDENTITY:Lio/undertow/util/HttpString;
astore 6
start local 6 1: aload 1
ifnull 3
2: new io.undertow.util.HttpString
dup
aload 1
invokespecial io.undertow.util.HttpString.<init>:(Ljava/lang/String;)V
astore 6
3: StackMap locals: io.undertow.util.HttpString
StackMap stack:
aload 1
ifnull 7
aload 6
getstatic io.undertow.util.Headers.IDENTITY:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
ifne 7
4: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
checkcast io.undertow.server.protocol.http.HttpServerConnection
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
astore 7
start local 7 5: aload 7
new io.undertow.conduits.ChunkedStreamSourceConduit
dup
aload 7
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
aload 0
aload 0
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.chunkedDrainListener:(Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
invokespecial io.undertow.conduits.ChunkedStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/server/HttpServerExchange;Lio/undertow/conduits/ConduitListener;)V
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
end local 7 6: goto 30
StackMap locals:
StackMap stack:
7: aload 2
ifnull 16
8: aload 2
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.parsePositiveLong:(Ljava/lang/String;)J
lstore 7
start local 7 9: lload 7
lconst_0
lcmp
ifne 13
10: getstatic io.undertow.server.protocol.http.HttpTransferEncoding.log:Lorg/jboss/logging/Logger;
ldc "No content, starting next request"
invokevirtual org.jboss.logging.Logger.trace:(Ljava/lang/Object;)V
11: aload 0
invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
12: goto 30
13: StackMap locals: long
StackMap stack:
aload 0
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
checkcast io.undertow.server.protocol.http.HttpServerConnection
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getChannel:()Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
astore 9
start local 9 14: aload 9
lload 7
aload 9
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
aload 0
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.fixedLengthStreamSourceConduitWrapper:(JLorg/xnio/conduits/StreamSourceConduit;Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/StreamSourceConduit;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
end local 9 end local 7 15: goto 30
StackMap locals:
StackMap stack:
16: aload 1
ifnull 20
17: getstatic io.undertow.server.protocol.http.HttpTransferEncoding.log:Lorg/jboss/logging/Logger;
ldc "Connection not persistent (no content length and identity transfer encoding)"
invokevirtual org.jboss.logging.Logger.trace:(Ljava/lang/Object;)V
18: iconst_0
istore 5
19: goto 30
StackMap locals:
StackMap stack:
20: iload 5
ifeq 29
21: aload 3
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getExtraBytes:()Lio/undertow/connector/PooledByteBuffer;
ifnull 27
22: aload 4
ifnonnull 27
23: aload 3
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.BUFFER_PIPELINED_DATA:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
ifeq 27
24: new io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit
dup
aload 3
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getOriginalSinkConduit:()Lorg/xnio/conduits/StreamSinkConduit;
aload 3
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokespecial io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;)V
astore 4
25: aload 3
aload 4
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.setPipelineBuffer:(Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;)V
26: aload 4
aload 0
invokevirtual io.undertow.server.protocol.http.PipeliningBufferingStreamSinkConduit.setupPipelineBuffer:(Lio/undertow/server/HttpServerExchange;)V
27: StackMap locals:
StackMap stack:
aload 0
invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 0
invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
30: StackMap locals:
StackMap stack:
iload 5
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 31 0 exchange Lio/undertow/server/HttpServerExchange;
0 31 1 transferEncodingHeader Ljava/lang/String;
0 31 2 contentLengthHeader Ljava/lang/String;
0 31 3 connection Lio/undertow/server/protocol/http/HttpServerConnection;
0 31 4 pipeliningBuffer Lio/undertow/server/protocol/http/PipeliningBufferingStreamSinkConduit;
0 31 5 persistentConnection Z
1 31 6 transferEncoding Lio/undertow/util/HttpString;
5 6 7 sourceChannel Lorg/xnio/conduits/ConduitStreamSourceChannel;
9 15 7 contentLength J
14 15 9 sourceChannel Lorg/xnio/conduits/ConduitStreamSourceChannel;
MethodParameters:
Name Flags
exchange final
transferEncodingHeader
contentLengthHeader
connection
pipeliningBuffer
persistentConnection
private static boolean persistentConnection(io.undertow.server.HttpServerExchange, java.lang.String);
descriptor: (Lio/undertow/server/HttpServerExchange;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.undertow.server.HttpServerExchange.isHttp11:()Z
ifeq 4
1: aload 1
ifnull 2
getstatic io.undertow.util.Headers.CLOSE:Lio/undertow/util/HttpString;
aload 1
invokevirtual io.undertow.util.HttpString.equalToString:(Ljava/lang/String;)Z
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.HttpServerExchange.isHttp10:()Z
ifeq 8
5: aload 1
ifnull 8
6: getstatic io.undertow.util.Headers.KEEP_ALIVE:Lio/undertow/util/HttpString;
new io.undertow.util.HttpString
dup
aload 1
invokespecial io.undertow.util.HttpString.<init>:(Ljava/lang/String;)V
invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
ifeq 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
getstatic io.undertow.server.protocol.http.HttpTransferEncoding.log:Lorg/jboss/logging/Logger;
ldc "Connection not persistent"
invokevirtual org.jboss.logging.Logger.trace:(Ljava/lang/Object;)V
9: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 exchange Lio/undertow/server/HttpServerExchange;
0 10 1 connectionHeader Ljava/lang/String;
MethodParameters:
Name Flags
exchange
connectionHeader
private static org.xnio.conduits.StreamSourceConduit fixedLengthStreamSourceConduitWrapper(long, org.xnio.conduits.StreamSourceConduit, io.undertow.server.HttpServerExchange);
descriptor: (JLorg/xnio/conduits/StreamSourceConduit;Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/StreamSourceConduit;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 2 start local 3 0: new io.undertow.conduits.FixedLengthStreamSourceConduit
dup
aload 2
lload 0
aload 3
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.fixedLengthDrainListener:(Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
aload 3
invokespecial io.undertow.conduits.FixedLengthStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;JLio/undertow/conduits/ConduitListener;Lio/undertow/server/HttpServerExchange;)V
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 contentLength J
0 1 2 conduit Lorg/xnio/conduits/StreamSourceConduit;
0 1 3 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
contentLength final
conduit final
exchange final
private static io.undertow.conduits.ConduitListener<io.undertow.conduits.FixedLengthStreamSourceConduit> fixedLengthDrainListener(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.undertow.server.protocol.http.HttpTransferEncoding$1
dup
aload 0
invokespecial io.undertow.server.protocol.http.HttpTransferEncoding$1.<init>:(Lio/undertow/server/HttpServerExchange;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 exchange Lio/undertow/server/HttpServerExchange;
Signature: (Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener<Lio/undertow/conduits/FixedLengthStreamSourceConduit;>;
MethodParameters:
Name Flags
exchange final
private static io.undertow.conduits.ConduitListener<io.undertow.conduits.ChunkedStreamSourceConduit> chunkedDrainListener(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.undertow.server.protocol.http.HttpTransferEncoding$2
dup
aload 0
invokespecial io.undertow.server.protocol.http.HttpTransferEncoding$2.<init>:(Lio/undertow/server/HttpServerExchange;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 exchange Lio/undertow/server/HttpServerExchange;
Signature: (Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener<Lio/undertow/conduits/ChunkedStreamSourceConduit;>;
MethodParameters:
Name Flags
exchange final
private static io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit> terminateResponseListener(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.undertow.server.protocol.http.HttpTransferEncoding$3
dup
aload 0
invokespecial io.undertow.server.protocol.http.HttpTransferEncoding$3.<init>:(Lio/undertow/server/HttpServerExchange;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 exchange Lio/undertow/server/HttpServerExchange;
Signature: (Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener<Lorg/xnio/conduits/StreamSinkConduit;>;
MethodParameters:
Name Flags
exchange final
static org.xnio.conduits.StreamSinkConduit createSinkConduit(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, args_size=1
start local 0 0: aload 0
invokestatic io.undertow.util.DateUtils.addDateHeaderIfRequired:(Lio/undertow/server/HttpServerExchange;)V
1: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getRequestMethod:()Lio/undertow/util/HttpString;
getstatic io.undertow.util.Methods.HEAD:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
istore 1
start local 1 2: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
checkcast io.undertow.server.protocol.http.HttpServerConnection
astore 2
start local 2 3: aload 2
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getResponseConduit:()Lio/undertow/server/protocol/http/HttpResponseConduit;
astore 3
start local 3 4: aload 3
aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.reset:(Lio/undertow/server/HttpServerExchange;)V
5: aload 3
astore 4
start local 4 6: iload 1
ifeq 9
7: new io.undertow.conduits.HeadStreamSinkConduit
dup
aload 4
aload 0
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.terminateResponseListener:(Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
invokespecial io.undertow.conduits.HeadStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;)V
astore 4
8: goto 14
StackMap locals: io.undertow.server.HttpServerExchange int io.undertow.server.protocol.http.HttpServerConnection io.undertow.server.protocol.http.HttpResponseConduit org.xnio.conduits.StreamSinkConduit
StackMap stack:
9: aload 0
invokestatic io.undertow.server.Connectors.isEntityBodyAllowed:(Lio/undertow/server/HttpServerExchange;)Z
ifne 14
10: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.remove:(Lio/undertow/util/HttpString;)Ljava/util/Collection;
pop
11: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.remove:(Lio/undertow/util/HttpString;)Ljava/util/Collection;
pop
12: new io.undertow.conduits.HeadStreamSinkConduit
dup
aload 4
aload 0
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.terminateResponseListener:(Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
invokespecial io.undertow.conduits.HeadStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;)V
astore 4
13: aload 4
areturn
14: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
astore 5
start local 5 15: aload 5
getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
astore 6
start local 6 16: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getStatusCode:()I
sipush 417
if_icmpne 18
17: aload 0
iconst_0
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
18: StackMap locals: io.undertow.util.HeaderMap java.lang.String
StackMap stack:
aload 0
invokevirtual io.undertow.server.HttpServerExchange.isPersistent:()Z
ifne 21
19: aload 5
getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
getstatic io.undertow.util.Headers.CLOSE: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
20: goto 27
StackMap locals:
StackMap stack:
21: aload 0
invokevirtual io.undertow.server.HttpServerExchange.isPersistent:()Z
ifeq 25
aload 6
ifnull 25
22: aload 6
invokestatic io.undertow.util.HttpString.tryFromString:(Ljava/lang/String;)Lio/undertow/util/HttpString;
getstatic io.undertow.util.Headers.CLOSE:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
ifeq 27
23: aload 0
iconst_0
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
24: goto 27
StackMap locals:
StackMap stack:
25: aload 0
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getUndertowOptions:()Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.ALWAYS_SET_KEEP_ALIVE:Lorg/xnio/Option;
iconst_1
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
ifeq 27
26: aload 5
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
27: StackMap locals:
StackMap stack:
aload 5
getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.getLast:(Lio/undertow/util/HttpString;)Ljava/lang/String;
astore 7
start local 7 28: aload 7
ifnonnull 34
29: aload 5
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.getFirst:(Lio/undertow/util/HttpString;)Ljava/lang/String;
astore 8
start local 8 30: aload 8
ifnull 35
31: aload 0
iload 1
aload 4
aload 5
aload 8
aload 2
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.handleFixedLength:(Lio/undertow/server/HttpServerExchange;ZLorg/xnio/conduits/StreamSinkConduit;Lio/undertow/util/HeaderMap;Ljava/lang/String;Lio/undertow/server/protocol/http/HttpServerConnection;)Lorg/xnio/conduits/StreamSinkConduit;
astore 9
start local 9 32: aload 9
ifnull 35
33: aload 9
areturn
end local 9 end local 8 34: StackMap locals: java.lang.String
StackMap stack:
aload 5
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.remove:(Lio/undertow/util/HttpString;)Ljava/util/Collection;
pop
35: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 4
aload 5
aload 0
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.terminateResponseListener:(Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
aload 7
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.handleResponseConduit:(Lio/undertow/server/HttpServerExchange;ZLorg/xnio/conduits/StreamSinkConduit;Lio/undertow/util/HeaderMap;Lio/undertow/conduits/ConduitListener;Ljava/lang/String;)Lorg/xnio/conduits/StreamSinkConduit;
areturn
end local 7 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 36 0 exchange Lio/undertow/server/HttpServerExchange;
2 36 1 headRequest Z
3 36 2 serverConnection Lio/undertow/server/protocol/http/HttpServerConnection;
4 36 3 responseConduit Lio/undertow/server/protocol/http/HttpResponseConduit;
6 36 4 channel Lorg/xnio/conduits/StreamSinkConduit;
15 36 5 responseHeaders Lio/undertow/util/HeaderMap;
16 36 6 connection Ljava/lang/String;
28 36 7 transferEncodingHeader Ljava/lang/String;
30 34 8 contentLengthHeader Ljava/lang/String;
32 34 9 res Lorg/xnio/conduits/StreamSinkConduit;
MethodParameters:
Name Flags
exchange final
private static org.xnio.conduits.StreamSinkConduit handleFixedLength(io.undertow.server.HttpServerExchange, boolean, org.xnio.conduits.StreamSinkConduit, io.undertow.util.HeaderMap, java.lang.String, io.undertow.server.protocol.http.HttpServerConnection);
descriptor: (Lio/undertow/server/HttpServerExchange;ZLorg/xnio/conduits/StreamSinkConduit;Lio/undertow/util/HeaderMap;Ljava/lang/String;Lio/undertow/server/protocol/http/HttpServerConnection;)Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 4
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.parsePositiveLong:(Ljava/lang/String;)J
lstore 6
start local 6 1: iload 1
ifeq 4
2: aload 2
3: areturn
4: StackMap locals: long
StackMap stack:
aload 5
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getFixedLengthStreamSinkConduit:()Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
astore 8
start local 8 5: aload 8
lload 6
aload 0
invokevirtual io.undertow.server.protocol.http.ServerFixedLengthStreamSinkConduit.reset:(JLio/undertow/server/HttpServerExchange;)V
6: aload 8
7: areturn
end local 8 end local 6 8: StackMap locals: io.undertow.server.HttpServerExchange int org.xnio.conduits.StreamSinkConduit io.undertow.util.HeaderMap java.lang.String io.undertow.server.protocol.http.HttpServerConnection
StackMap stack: java.lang.NumberFormatException
pop
9: aload 3
getstatic io.undertow.util.Headers.CONTENT_LENGTH:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HeaderMap.remove:(Lio/undertow/util/HttpString;)Ljava/util/Collection;
pop
10: aconst_null
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 11 0 exchange Lio/undertow/server/HttpServerExchange;
0 11 1 headRequest Z
0 11 2 channel Lorg/xnio/conduits/StreamSinkConduit;
0 11 3 responseHeaders Lio/undertow/util/HeaderMap;
0 11 4 contentLengthHeader Ljava/lang/String;
0 11 5 connection Lio/undertow/server/protocol/http/HttpServerConnection;
1 8 6 contentLength J
5 8 8 fixed Lio/undertow/server/protocol/http/ServerFixedLengthStreamSinkConduit;
Exception table:
from to target type
0 3 8 Class java.lang.NumberFormatException
4 7 8 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
exchange
headRequest
channel
responseHeaders
contentLengthHeader
connection
private static org.xnio.conduits.StreamSinkConduit handleResponseConduit(io.undertow.server.HttpServerExchange, boolean, org.xnio.conduits.StreamSinkConduit, io.undertow.util.HeaderMap, io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>, java.lang.String);
descriptor: (Lio/undertow/server/HttpServerExchange;ZLorg/xnio/conduits/StreamSinkConduit;Lio/undertow/util/HeaderMap;Lio/undertow/conduits/ConduitListener;Ljava/lang/String;)Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, 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 5
ifnonnull 17
1: aload 0
invokevirtual io.undertow.server.HttpServerExchange.isHttp11:()Z
ifeq 12
2: aload 0
invokevirtual io.undertow.server.HttpServerExchange.isPersistent:()Z
ifeq 9
3: aload 3
getstatic io.undertow.util.Headers.TRANSFER_ENCODING:Lio/undertow/util/HttpString;
getstatic io.undertow.util.Headers.CHUNKED: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
4: iload 1
ifeq 6
5: aload 2
areturn
6: StackMap locals:
StackMap stack:
new io.undertow.conduits.ChunkedStreamSinkConduit
dup
aload 2
aload 0
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
iconst_1
aload 0
invokevirtual io.undertow.server.HttpServerExchange.isPersistent:()Z
ifeq 7
iconst_0
goto 8
StackMap locals: io.undertow.server.HttpServerExchange int org.xnio.conduits.StreamSinkConduit io.undertow.util.HeaderMap io.undertow.conduits.ConduitListener java.lang.String
StackMap stack: new 6 new 6 org.xnio.conduits.StreamSinkConduit io.undertow.connector.ByteBufferPool int
7: iconst_1
StackMap locals: io.undertow.server.HttpServerExchange int org.xnio.conduits.StreamSinkConduit io.undertow.util.HeaderMap io.undertow.conduits.ConduitListener java.lang.String
StackMap stack: new 6 new 6 org.xnio.conduits.StreamSinkConduit io.undertow.connector.ByteBufferPool int int
8: aload 3
aload 4
aload 0
invokespecial io.undertow.conduits.ChunkedStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;ZZLio/undertow/util/HeaderMap;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/Attachable;)V
areturn
9: StackMap locals:
StackMap stack:
iload 1
ifeq 11
10: aload 2
areturn
11: StackMap locals:
StackMap stack:
new io.undertow.conduits.FinishableStreamSinkConduit
dup
aload 2
aload 4
invokespecial io.undertow.conduits.FinishableStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;)V
areturn
12: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
13: aload 3
getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
getstatic io.undertow.util.Headers.CLOSE: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: iload 1
ifeq 16
15: aload 2
areturn
16: StackMap locals:
StackMap stack:
new io.undertow.conduits.FinishableStreamSinkConduit
dup
aload 2
aload 4
invokespecial io.undertow.conduits.FinishableStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;)V
areturn
17: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 4
aload 3
aload 5
iload 1
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.handleExplicitTransferEncoding:(Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/HeaderMap;Ljava/lang/String;Z)Lorg/xnio/conduits/StreamSinkConduit;
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 18 0 exchange Lio/undertow/server/HttpServerExchange;
0 18 1 headRequest Z
0 18 2 channel Lorg/xnio/conduits/StreamSinkConduit;
0 18 3 responseHeaders Lio/undertow/util/HeaderMap;
0 18 4 finishListener Lio/undertow/conduits/ConduitListener<Lorg/xnio/conduits/StreamSinkConduit;>;
0 18 5 transferEncodingHeader Ljava/lang/String;
Signature: (Lio/undertow/server/HttpServerExchange;ZLorg/xnio/conduits/StreamSinkConduit;Lio/undertow/util/HeaderMap;Lio/undertow/conduits/ConduitListener<Lorg/xnio/conduits/StreamSinkConduit;>;Ljava/lang/String;)Lorg/xnio/conduits/StreamSinkConduit;
MethodParameters:
Name Flags
exchange
headRequest
channel
responseHeaders
finishListener
transferEncodingHeader
private static org.xnio.conduits.StreamSinkConduit handleExplicitTransferEncoding(io.undertow.server.HttpServerExchange, org.xnio.conduits.StreamSinkConduit, io.undertow.conduits.ConduitListener<org.xnio.conduits.StreamSinkConduit>, io.undertow.util.HeaderMap, java.lang.String, boolean);
descriptor: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/HeaderMap;Ljava/lang/String;Z)Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new io.undertow.util.HttpString
dup
aload 4
invokespecial io.undertow.util.HttpString.<init>:(Ljava/lang/String;)V
astore 6
start local 6 1: aload 6
getstatic io.undertow.util.Headers.CHUNKED:Lio/undertow/util/HttpString;
invokevirtual io.undertow.util.HttpString.equals:(Lio/undertow/util/HttpString;)Z
ifeq 10
2: iload 5
ifeq 4
3: aload 1
areturn
4: StackMap locals: io.undertow.util.HttpString
StackMap stack:
aload 0
getstatic io.undertow.server.protocol.http.HttpAttachments.PRE_CHUNKED_RESPONSE:Lio/undertow/util/AttachmentKey;
invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 7
start local 7 5: aload 7
ifnull 7
aload 7
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 7
6: new io.undertow.conduits.PreChunkedStreamSinkConduit
dup
aload 1
aload 2
aload 0
invokespecial io.undertow.conduits.PreChunkedStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/Attachable;)V
areturn
7: StackMap locals: java.lang.Boolean
StackMap stack:
new io.undertow.conduits.ChunkedStreamSinkConduit
dup
aload 1
aload 0
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
iconst_1
aload 0
invokevirtual io.undertow.server.HttpServerExchange.isPersistent:()Z
ifeq 8
iconst_0
goto 9
StackMap locals: io.undertow.server.HttpServerExchange org.xnio.conduits.StreamSinkConduit io.undertow.conduits.ConduitListener io.undertow.util.HeaderMap java.lang.String int io.undertow.util.HttpString java.lang.Boolean
StackMap stack: new 7 new 7 org.xnio.conduits.StreamSinkConduit io.undertow.connector.ByteBufferPool int
8: iconst_1
StackMap locals: io.undertow.server.HttpServerExchange org.xnio.conduits.StreamSinkConduit io.undertow.conduits.ConduitListener io.undertow.util.HeaderMap java.lang.String int io.undertow.util.HttpString java.lang.Boolean
StackMap stack: new 7 new 7 org.xnio.conduits.StreamSinkConduit io.undertow.connector.ByteBufferPool int int
9: aload 3
aload 2
aload 0
invokespecial io.undertow.conduits.ChunkedStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;ZZLio/undertow/util/HeaderMap;Lio/undertow/conduits/ConduitListener;Lio/undertow/util/Attachable;)V
areturn
end local 7 10: StackMap locals:
StackMap stack:
iload 5
ifeq 12
11: aload 1
areturn
12: StackMap locals:
StackMap stack:
getstatic io.undertow.server.protocol.http.HttpTransferEncoding.log:Lorg/jboss/logging/Logger;
ldc "Cancelling persistence because response is identity with no content length"
invokevirtual org.jboss.logging.Logger.trace:(Ljava/lang/Object;)V
13: aload 0
iconst_0
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
14: aload 3
getstatic io.undertow.util.Headers.CONNECTION:Lio/undertow/util/HttpString;
getstatic io.undertow.util.Headers.CLOSE: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
15: new io.undertow.conduits.FinishableStreamSinkConduit
dup
aload 1
aload 0
invokestatic io.undertow.server.protocol.http.HttpTransferEncoding.terminateResponseListener:(Lio/undertow/server/HttpServerExchange;)Lio/undertow/conduits/ConduitListener;
invokespecial io.undertow.conduits.FinishableStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;)V
areturn
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 16 0 exchange Lio/undertow/server/HttpServerExchange;
0 16 1 channel Lorg/xnio/conduits/StreamSinkConduit;
0 16 2 finishListener Lio/undertow/conduits/ConduitListener<Lorg/xnio/conduits/StreamSinkConduit;>;
0 16 3 responseHeaders Lio/undertow/util/HeaderMap;
0 16 4 transferEncodingHeader Ljava/lang/String;
0 16 5 headRequest Z
1 16 6 transferEncoding Lio/undertow/util/HttpString;
5 10 7 preChunked Ljava/lang/Boolean;
Signature: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener<Lorg/xnio/conduits/StreamSinkConduit;>;Lio/undertow/util/HeaderMap;Ljava/lang/String;Z)Lorg/xnio/conduits/StreamSinkConduit;
MethodParameters:
Name Flags
exchange
channel
finishListener
responseHeaders
transferEncodingHeader
headRequest
public static long parsePositiveLong(java.lang.String);
descriptor: (Ljava/lang/String;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: aload 0
invokevirtual java.lang.String.length:()I
istore 3
start local 3 2: iload 3
ifne 4
3: new java.lang.NumberFormatException
dup
aload 0
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: long int
StackMap stack:
lconst_1
lstore 4
start local 4 5: iload 3
iconst_1
isub
istore 6
start local 6 6: goto 14
7: StackMap locals: long int
StackMap stack:
aload 0
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 8: iload 7
bipush 48
if_icmplt 9
iload 7
bipush 57
if_icmple 10
9: StackMap locals: int
StackMap stack:
new java.lang.NumberFormatException
dup
aload 0
invokespecial java.lang.NumberFormatException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iload 7
bipush 48
isub
i2l
lstore 8
start local 8 11: lload 1
lload 8
lload 4
lmul
ladd
lstore 1
12: lload 4
ldc 10
lmul
lstore 4
end local 8 end local 7 13: iinc 6 -1
StackMap locals:
StackMap stack:
14: iload 6
ifge 7
end local 6 15: lload 1
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 str Ljava/lang/String;
1 16 1 value J
2 16 3 length I
5 16 4 multiplier J
6 15 6 i I
8 13 7 c C
11 13 8 digit J
MethodParameters:
Name Flags
str
}
SourceFile: "HttpTransferEncoding.java"
NestMembers:
io.undertow.server.protocol.http.HttpTransferEncoding$1 io.undertow.server.protocol.http.HttpTransferEncoding$2 io.undertow.server.protocol.http.HttpTransferEncoding$3
InnerClasses:
io.undertow.server.protocol.http.HttpTransferEncoding$1
io.undertow.server.protocol.http.HttpTransferEncoding$2
io.undertow.server.protocol.http.HttpTransferEncoding$3