public class org.apache.coyote.http11.Http11Processor extends org.apache.coyote.AbstractProcessor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.coyote.http11.Http11Processor
super_class: org.apache.coyote.AbstractProcessor
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.coyote.http11.AbstractHttp11Protocol<?> protocol;
descriptor: Lorg/apache/coyote/http11/AbstractHttp11Protocol;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/coyote/http11/AbstractHttp11Protocol<*>;
private final org.apache.coyote.http11.Http11InputBuffer inputBuffer;
descriptor: Lorg/apache/coyote/http11/Http11InputBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.coyote.http11.Http11OutputBuffer outputBuffer;
descriptor: Lorg/apache/coyote/http11/Http11OutputBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.tomcat.util.http.parser.HttpParser httpParser;
descriptor: Lorg/apache/tomcat/util/http/parser/HttpParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int pluggableFilterIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private volatile boolean keepAlive;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean openSocket;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean readComplete;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean http11;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean http09;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean contentDelimitation;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private org.apache.coyote.UpgradeToken upgradeToken;
descriptor: Lorg/apache/coyote/UpgradeToken;
flags: (0x0002) ACC_PRIVATE
private org.apache.tomcat.util.net.SendfileDataBase sendfileData;
descriptor: Lorg/apache/tomcat/util/net/SendfileDataBase;
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$org$apache$tomcat$util$net$SendfileState;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/coyote/http11/Http11Processor;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
1: ldc Lorg/apache/coyote/http11/Http11Processor;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.coyote.http11.Http11Processor.sm:Lorg/apache/tomcat/util/res/StringManager;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.coyote.http11.AbstractHttp11Protocol<?>, org.apache.coyote.Adapter);
descriptor: (Lorg/apache/coyote/http11/AbstractHttp11Protocol;Lorg/apache/coyote/Adapter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial org.apache.coyote.AbstractProcessor.<init>:(Lorg/apache/coyote/Adapter;)V
1: aload 0
ldc 2147483647
putfield org.apache.coyote.http11.Http11Processor.pluggableFilterIndex:I
2: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
3: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.openSocket:Z
4: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.readComplete:Z
5: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.http11:Z
6: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.http09:Z
7: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
8: aload 0
aconst_null
putfield org.apache.coyote.http11.Http11Processor.upgradeToken:Lorg/apache/coyote/UpgradeToken;
9: aload 0
aconst_null
putfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
10: aload 0
aload 1
putfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
11: aload 0
new org.apache.tomcat.util.http.parser.HttpParser
dup
aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getRelaxedPathChars:()Ljava/lang/String;
12: aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getRelaxedQueryChars:()Ljava/lang/String;
invokespecial org.apache.tomcat.util.http.parser.HttpParser.<init>:(Ljava/lang/String;Ljava/lang/String;)V
13: putfield org.apache.coyote.http11.Http11Processor.httpParser:Lorg/apache/tomcat/util/http/parser/HttpParser;
14: aload 0
new org.apache.coyote.http11.Http11InputBuffer
dup
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getMaxHttpHeaderSize:()I
15: aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getRejectIllegalHeaderName:()Z
aload 0
getfield org.apache.coyote.http11.Http11Processor.httpParser:Lorg/apache/tomcat/util/http/parser/HttpParser;
invokespecial org.apache.coyote.http11.Http11InputBuffer.<init>:(Lorg/apache/coyote/Request;IZLorg/apache/tomcat/util/http/parser/HttpParser;)V
16: putfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
17: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.Request.setInputBuffer:(Lorg/apache/coyote/InputBuffer;)V
18: aload 0
new org.apache.coyote.http11.Http11OutputBuffer
dup
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getMaxHttpHeaderSize:()I
invokespecial org.apache.coyote.http11.Http11OutputBuffer.<init>:(Lorg/apache/coyote/Response;I)V
putfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
19: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.Response.setOutputBuffer:(Lorg/apache/coyote/OutputBuffer;)V
20: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
new org.apache.coyote.http11.filters.IdentityInputFilter
dup
aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getMaxSwallowSize:()I
invokespecial org.apache.coyote.http11.filters.IdentityInputFilter.<init>:(I)V
invokevirtual org.apache.coyote.http11.Http11InputBuffer.addFilter:(Lorg/apache/coyote/http11/InputFilter;)V
21: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
new org.apache.coyote.http11.filters.IdentityOutputFilter
dup
invokespecial org.apache.coyote.http11.filters.IdentityOutputFilter.<init>:()V
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
22: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
new org.apache.coyote.http11.filters.ChunkedInputFilter
dup
aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getMaxTrailerSize:()I
23: aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getAllowedTrailerHeadersInternal:()Ljava/util/Set;
aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getMaxExtensionSize:()I
24: aload 1
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getMaxSwallowSize:()I
invokespecial org.apache.coyote.http11.filters.ChunkedInputFilter.<init>:(ILjava/util/Set;II)V
25: invokevirtual org.apache.coyote.http11.Http11InputBuffer.addFilter:(Lorg/apache/coyote/http11/InputFilter;)V
26: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
new org.apache.coyote.http11.filters.ChunkedOutputFilter
dup
invokespecial org.apache.coyote.http11.filters.ChunkedOutputFilter.<init>:()V
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
27: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
new org.apache.coyote.http11.filters.VoidInputFilter
dup
invokespecial org.apache.coyote.http11.filters.VoidInputFilter.<init>:()V
invokevirtual org.apache.coyote.http11.Http11InputBuffer.addFilter:(Lorg/apache/coyote/http11/InputFilter;)V
28: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
new org.apache.coyote.http11.filters.VoidOutputFilter
dup
invokespecial org.apache.coyote.http11.filters.VoidOutputFilter.<init>:()V
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
29: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
new org.apache.coyote.http11.filters.BufferedInputFilter
dup
invokespecial org.apache.coyote.http11.filters.BufferedInputFilter.<init>:()V
invokevirtual org.apache.coyote.http11.Http11InputBuffer.addFilter:(Lorg/apache/coyote/http11/InputFilter;)V
30: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
new org.apache.coyote.http11.filters.GzipOutputFilter
dup
invokespecial org.apache.coyote.http11.filters.GzipOutputFilter.<init>:()V
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
31: aload 0
aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.getFilters:()[Lorg/apache/coyote/http11/InputFilter;
arraylength
putfield org.apache.coyote.http11.Http11Processor.pluggableFilterIndex:I
32: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/apache/coyote/http11/Http11Processor;
0 33 1 protocol Lorg/apache/coyote/http11/AbstractHttp11Protocol<*>;
0 33 2 adapter Lorg/apache/coyote/Adapter;
Signature: (Lorg/apache/coyote/http11/AbstractHttp11Protocol<*>;Lorg/apache/coyote/Adapter;)V
MethodParameters:
Name Flags
protocol
adapter
private static int findBytes(org.apache.tomcat.util.buf.ByteChunk, byte[]);
descriptor: (Lorg/apache/tomcat/util/buf/ByteChunk;[B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
baload
istore 2
start local 2 1: aload 0
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getBuffer:()[B
astore 3
start local 3 2: aload 0
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getStart:()I
istore 4
start local 4 3: aload 0
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getEnd:()I
istore 5
start local 5 4: aload 1
arraylength
istore 6
start local 6 5: iload 4
istore 7
start local 7 6: goto 18
7: StackMap locals: org.apache.tomcat.util.buf.ByteChunk byte[] int byte[] int int int int
StackMap stack:
aload 3
iload 7
baload
invokestatic org.apache.tomcat.util.buf.Ascii.toLower:(I)I
iload 2
if_icmpeq 9
8: goto 17
9: StackMap locals:
StackMap stack:
iload 7
iconst_1
iadd
istore 8
start local 8 10: iconst_1
istore 9
start local 9 11: goto 16
12: StackMap locals: int int
StackMap stack:
aload 3
iload 8
iinc 8 1
baload
invokestatic org.apache.tomcat.util.buf.Ascii.toLower:(I)I
aload 1
iload 9
iinc 9 1
baload
if_icmpeq 14
13: goto 17
14: StackMap locals:
StackMap stack:
iload 9
iload 6
if_icmpne 16
15: iload 7
iload 4
isub
ireturn
16: StackMap locals:
StackMap stack:
iload 9
iload 6
if_icmplt 12
end local 9 end local 8 17: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
iload 5
iload 6
isub
if_icmple 7
end local 7 19: iconst_m1
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 20 0 bc Lorg/apache/tomcat/util/buf/ByteChunk;
0 20 1 b [B
1 20 2 first B
2 20 3 buff [B
3 20 4 start I
4 20 5 end I
5 20 6 srcEnd I
6 19 7 i I
10 17 8 myPos I
11 17 9 srcPos I
MethodParameters:
Name Flags
bc
b
private static boolean statusDropsConnection(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
sipush 400
if_icmpeq 9
1: iload 0
sipush 408
if_icmpeq 9
2: iload 0
sipush 411
if_icmpeq 9
3: iload 0
sipush 413
if_icmpeq 9
4: iload 0
sipush 414
if_icmpeq 9
5: iload 0
sipush 500
if_icmpeq 9
6: iload 0
sipush 503
if_icmpeq 9
7: iload 0
sipush 501
if_icmpeq 9
8: iconst_0
ireturn
StackMap locals:
StackMap stack:
9: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 status I
MethodParameters:
Name Flags
status
private void addInputFilter(org.apache.coyote.http11.InputFilter[], java.lang.String);
descriptor: ([Lorg/apache/coyote/http11/InputFilter;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.String.trim:()Ljava/lang/String;
getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 2
1: aload 2
ldc "identity"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
2: aload 2
ldc "chunked"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
3: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
4: aload 1
iconst_1
aaload
5: invokevirtual org.apache.coyote.http11.Http11InputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/InputFilter;)V
6: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
7: goto 21
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.pluggableFilterIndex:I
istore 3
start local 3 9: goto 14
10: StackMap locals: int
StackMap stack:
aload 1
iload 3
aaload
invokeinterface org.apache.coyote.http11.InputFilter.getEncodingName:()Lorg/apache/tomcat/util/buf/ByteChunk;
invokevirtual org.apache.tomcat.util.buf.ByteChunk.toString:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
aload 1
iload 3
aaload
invokevirtual org.apache.coyote.http11.Http11InputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/InputFilter;)V
12: return
13: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
aload 1
arraylength
if_icmplt 10
end local 3 15: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
sipush 501
invokevirtual org.apache.coyote.Response.setStatus:(I)V
16: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CLEAN:Lorg/apache/coyote/ErrorState;
aconst_null
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
17: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 21
18: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
getstatic org.apache.coyote.http11.Http11Processor.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "http11processor.request.prepare"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: ldc " Unsupported transfer encoding ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
21: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/coyote/http11/Http11Processor;
0 22 1 inputFilters [Lorg/apache/coyote/http11/InputFilter;
0 22 2 encodingName Ljava/lang/String;
9 15 3 i I
MethodParameters:
Name Flags
inputFilters
encodingName
public org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState service(org.apache.tomcat.util.net.SocketWrapperBase<?>);
descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tThe constructor UpgradeToken(HttpUpgradeHandler, ContextBind, InstanceManager) refers to the missing type ContextBind\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11Processor;
Exceptions:
throws java.io.IOException
Signature: (Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;)Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
MethodParameters:
Name Flags
socketWrapper
protected final void setSocketWrapper(org.apache.tomcat.util.net.SocketWrapperBase<?>);
descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.apache.coyote.AbstractProcessor.setSocketWrapper:(Lorg/apache/tomcat/util/net/SocketWrapperBase;)V
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
aload 1
invokevirtual org.apache.coyote.http11.Http11InputBuffer.init:(Lorg/apache/tomcat/util/net/SocketWrapperBase;)V
2: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 1
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.init:(Lorg/apache/tomcat/util/net/SocketWrapperBase;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/coyote/http11/Http11Processor;
0 4 1 socketWrapper Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;
Signature: (Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;)V
MethodParameters:
Name Flags
socketWrapper
private org.apache.coyote.Request cloneRequest(org.apache.coyote.Request);
descriptor: (Lorg/apache/coyote/Request;)Lorg/apache/coyote/Request;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: new org.apache.coyote.Request
dup
invokespecial org.apache.coyote.Request.<init>:()V
astore 2
start local 2 1: aload 2
invokevirtual org.apache.coyote.Request.decodedURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 1
invokevirtual org.apache.coyote.Request.decodedURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.duplicate:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
2: aload 2
invokevirtual org.apache.coyote.Request.method:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 1
invokevirtual org.apache.coyote.Request.method:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.duplicate:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
3: aload 2
invokevirtual org.apache.coyote.Request.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
aload 1
invokevirtual org.apache.coyote.Request.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
invokevirtual org.apache.tomcat.util.http.MimeHeaders.duplicate:(Lorg/apache/tomcat/util/http/MimeHeaders;)V
4: aload 2
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 1
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.duplicate:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
5: aload 2
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 1
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.duplicate:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
6: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/coyote/http11/Http11Processor;
0 7 1 source Lorg/apache/coyote/Request;
1 7 2 dest Lorg/apache/coyote/Request;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
private boolean handleIncompleteRequestLineRead();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.openSocket:Z
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.getParsingRequestLinePhase:()I
iconst_1
if_icmple 7
2: aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.isPaused:()Z
ifeq 6
3: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
sipush 503
invokevirtual org.apache.coyote.Response.setStatus:(I)V
4: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CLEAN:Lorg/apache/coyote/ErrorState;
aconst_null
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.readComplete:Z
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/coyote/http11/Http11Processor;
private void checkExpectationAndResponseStatus();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.hasExpectation:()Z
ifeq 4
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.getStatus:()I
sipush 200
if_icmplt 2
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.getStatus:()I
sipush 299
if_icmple 4
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.setSwallowInput:(Z)V
3: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/coyote/http11/Http11Processor;
private void prepareRequest();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.http11:Z
1: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.http09:Z
2: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
3: aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.isSSLEnabled:()Z
ifeq 5
4: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.scheme:()Lorg/apache/tomcat/util/buf/MessageBytes;
ldc "https"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.protocol:()Lorg/apache/tomcat/util/buf/MessageBytes;
astore 1
start local 1 6: aload 1
ldc "HTTP/1.1"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.equals:(Ljava/lang/String;)Z
ifeq 9
7: aload 1
ldc "HTTP/1.1"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
8: goto 26
StackMap locals: org.apache.tomcat.util.buf.MessageBytes
StackMap stack:
9: aload 1
ldc "HTTP/1.0"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.equals:(Ljava/lang/String;)Z
ifeq 14
10: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.http11:Z
11: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
12: aload 1
ldc "HTTP/1.0"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
13: goto 26
StackMap locals:
StackMap stack:
14: aload 1
ldc ""
invokevirtual org.apache.tomcat.util.buf.MessageBytes.equals:(Ljava/lang/String;)Z
ifeq 19
15: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.http09:Z
16: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.http11:Z
17: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
18: goto 26
19: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.http11:Z
20: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
sipush 505
invokevirtual org.apache.coyote.Response.setStatus:(I)V
21: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CLEAN:Lorg/apache/coyote/ErrorState;
aconst_null
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
22: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 26
23: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
getstatic org.apache.coyote.http11.Http11Processor.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "http11processor.request.prepare"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
24: ldc " Unsupported HTTP version \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
26: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
astore 2
start local 2 27: aload 2
ldc "Connection"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 3
start local 3 28: aload 3
ifnull 38
aload 3
invokevirtual org.apache.tomcat.util.buf.MessageBytes.isNull:()Z
ifne 38
29: aload 3
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getByteChunk:()Lorg/apache/tomcat/util/buf/ByteChunk;
astore 4
start local 4 30: aload 4
getstatic org.apache.coyote.http11.Constants.CLOSE_BYTES:[B
invokestatic org.apache.coyote.http11.Http11Processor.findBytes:(Lorg/apache/tomcat/util/buf/ByteChunk;[B)I
iconst_m1
if_icmpeq 33
31: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
32: goto 38
StackMap locals: org.apache.tomcat.util.http.MimeHeaders org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.buf.ByteChunk
StackMap stack:
33: aload 4
34: getstatic org.apache.coyote.http11.Constants.KEEPALIVE_BYTES:[B
35: invokestatic org.apache.coyote.http11.Http11Processor.findBytes:(Lorg/apache/tomcat/util/buf/ByteChunk;[B)I
36: iconst_m1
if_icmpeq 38
37: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
end local 4 38: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifeq 47
39: aload 2
ldc "expect"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 4
start local 4 40: aload 4
ifnull 47
aload 4
invokevirtual org.apache.tomcat.util.buf.MessageBytes.isNull:()Z
ifne 47
41: aload 4
ldc "100-continue"
iconst_0
invokevirtual org.apache.tomcat.util.buf.MessageBytes.indexOfIgnoreCase:(Ljava/lang/String;I)I
iconst_m1
if_icmpeq 45
42: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.setSwallowInput:(Z)V
43: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
iconst_1
invokevirtual org.apache.coyote.Request.setExpectation:(Z)V
44: goto 47
45: StackMap locals: org.apache.tomcat.util.buf.MessageBytes
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
sipush 417
invokevirtual org.apache.coyote.Response.setStatus:(I)V
46: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CLEAN:Lorg/apache/coyote/ErrorState;
aconst_null
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
end local 4 47: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getRestrictedUserAgentsPattern:()Ljava/util/regex/Pattern;
astore 4
start local 4 48: aload 4
ifnull 55
aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifne 49
aload 0
getfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
ifeq 55
49: StackMap locals: java.util.regex.Pattern
StackMap stack:
aload 2
ldc "user-agent"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 5
start local 5 50: aload 5
ifnull 55
aload 5
invokevirtual org.apache.tomcat.util.buf.MessageBytes.isNull:()Z
ifne 55
51: aload 5
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toString:()Ljava/lang/String;
astore 6
start local 6 52: aload 4
aload 6
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 55
53: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.http11:Z
54: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
end local 6 end local 5 55: StackMap locals:
StackMap stack:
aconst_null
astore 5
start local 5 56: aload 2
ldc "host"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getUniqueValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 5
57: goto 60
StackMap locals: org.apache.coyote.http11.Http11Processor org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.http.MimeHeaders org.apache.tomcat.util.buf.MessageBytes java.util.regex.Pattern org.apache.tomcat.util.buf.MessageBytes
StackMap stack: java.lang.IllegalArgumentException
58: pop
59: aload 0
ldc "http11processor.request.multipleHosts"
invokevirtual org.apache.coyote.http11.Http11Processor.badRequest:(Ljava/lang/String;)V
60: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifeq 62
aload 5
ifnonnull 62
61: aload 0
ldc "http11processor.request.noHostHeader"
invokevirtual org.apache.coyote.http11.Http11Processor.badRequest:(Ljava/lang/String;)V
62: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getByteChunk:()Lorg/apache/tomcat/util/buf/ByteChunk;
astore 6
start local 6 63: aload 6
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getBytes:()[B
astore 7
start local 7 64: aload 6
ldc "http"
iconst_0
invokevirtual org.apache.tomcat.util.buf.ByteChunk.startsWithIgnoreCase:(Ljava/lang/String;I)Z
ifeq 107
65: iconst_4
istore 8
start local 8 66: aload 6
ldc "s"
iload 8
invokevirtual org.apache.tomcat.util.buf.ByteChunk.startsWithIgnoreCase:(Ljava/lang/String;I)Z
ifeq 68
67: iinc 8 1
68: StackMap locals: org.apache.tomcat.util.buf.ByteChunk byte[] int
StackMap stack:
aload 6
ldc "://"
iload 8
invokevirtual org.apache.tomcat.util.buf.ByteChunk.startsWith:(Ljava/lang/String;I)Z
ifeq 106
69: iinc 8 3
70: aload 6
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getStart:()I
istore 9
start local 9 71: aload 6
bipush 47
iload 8
invokevirtual org.apache.tomcat.util.buf.ByteChunk.indexOf:(CI)I
istore 10
start local 10 72: aload 6
bipush 64
iload 8
invokevirtual org.apache.tomcat.util.buf.ByteChunk.indexOf:(CI)I
istore 11
start local 11 73: iload 10
iconst_m1
if_icmple 75
iload 11
iload 10
if_icmple 75
74: iconst_m1
istore 11
75: StackMap locals: int int int
StackMap stack:
iload 10
iconst_m1
if_icmpne 79
76: aload 6
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getLength:()I
istore 10
77: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 7
iload 9
bipush 6
iadd
iconst_1
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
78: goto 80
79: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 7
iload 9
iload 10
iadd
aload 6
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getLength:()I
iload 10
isub
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
80: StackMap locals:
StackMap stack:
iload 11
iconst_m1
if_icmpeq 89
81: goto 87
82: StackMap locals:
StackMap stack:
aload 7
iload 9
iload 8
iadd
baload
istore 12
start local 12 83: iload 12
invokestatic org.apache.tomcat.util.http.parser.HttpParser.isUserInfo:(I)Z
ifne 86
84: aload 0
ldc "http11processor.request.invalidUserInfo"
invokevirtual org.apache.coyote.http11.Http11Processor.badRequest:(Ljava/lang/String;)V
85: goto 88
end local 12 86: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
87: iload 8
iload 11
if_icmplt 82
88: StackMap locals:
StackMap stack:
iload 11
iconst_1
iadd
istore 8
89: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifeq 101
90: aload 5
ifnull 107
91: aload 5
invokevirtual org.apache.tomcat.util.buf.MessageBytes.getByteChunk:()Lorg/apache/tomcat/util/buf/ByteChunk;
92: aload 7
iload 9
iload 8
iadd
iload 10
iload 8
isub
93: invokevirtual org.apache.tomcat.util.buf.ByteChunk.equals:([BII)Z
94: ifne 107
95: aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getAllowHostHeaderMismatch:()Z
ifeq 99
96: aload 2
ldc "host"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.setValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 5
97: aload 5
aload 7
iload 9
iload 8
iadd
iload 10
iload 8
isub
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
98: goto 107
99: StackMap locals:
StackMap stack:
aload 0
ldc "http11processor.request.inconsistentHosts"
invokevirtual org.apache.coyote.http11.Http11Processor.badRequest:(Ljava/lang/String;)V
100: goto 107
101: StackMap locals:
StackMap stack:
aload 2
ldc "host"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.setValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 5
102: aload 5
aload 7
iload 9
iload 8
iadd
iload 10
iload 8
isub
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
103: goto 107
StackMap locals:
StackMap stack: java.lang.IllegalStateException
104: pop
end local 11 end local 10 end local 9 105: goto 107
106: StackMap locals:
StackMap stack:
aload 0
ldc "http11processor.request.invalidScheme"
invokevirtual org.apache.coyote.http11.Http11Processor.badRequest:(Ljava/lang/String;)V
end local 8 107: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getStart:()I
istore 8
start local 8 108: goto 113
109: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.httpParser:Lorg/apache/tomcat/util/http/parser/HttpParser;
aload 7
iload 8
baload
invokevirtual org.apache.tomcat.util.http.parser.HttpParser.isAbsolutePathRelaxed:(I)Z
ifne 112
110: aload 0
ldc "http11processor.request.invalidUri"
invokevirtual org.apache.coyote.http11.Http11Processor.badRequest:(Ljava/lang/String;)V
111: goto 114
112: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
113: iload 8
aload 6
invokevirtual org.apache.tomcat.util.buf.ByteChunk.getEnd:()I
if_icmplt 109
end local 8 114: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.getFilters:()[Lorg/apache/coyote/http11/InputFilter;
astore 8
start local 8 115: aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifeq 130
116: aload 2
ldc "transfer-encoding"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 9
start local 9 117: aload 9
ifnull 130
aload 9
invokevirtual org.apache.tomcat.util.buf.MessageBytes.isNull:()Z
ifne 130
118: aload 9
invokevirtual org.apache.tomcat.util.buf.MessageBytes.toString:()Ljava/lang/String;
astore 10
start local 10 119: iconst_0
istore 11
start local 11 120: aload 10
bipush 44
invokevirtual java.lang.String.indexOf:(I)I
istore 12
start local 12 121: aconst_null
astore 13
start local 13 122: goto 127
123: StackMap locals: org.apache.coyote.http11.Http11Processor org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.http.MimeHeaders org.apache.tomcat.util.buf.MessageBytes java.util.regex.Pattern org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.buf.ByteChunk byte[] org.apache.coyote.http11.InputFilter[] org.apache.tomcat.util.buf.MessageBytes java.lang.String int int java.lang.String
StackMap stack:
aload 10
iload 11
iload 12
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 13
124: aload 0
aload 8
aload 13
invokevirtual org.apache.coyote.http11.Http11Processor.addInputFilter:([Lorg/apache/coyote/http11/InputFilter;Ljava/lang/String;)V
125: iload 12
iconst_1
iadd
istore 11
126: aload 10
bipush 44
iload 11
invokevirtual java.lang.String.indexOf:(II)I
istore 12
127: StackMap locals:
StackMap stack:
iload 12
iconst_m1
if_icmpne 123
128: aload 10
iload 11
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 13
129: aload 0
aload 8
aload 13
invokevirtual org.apache.coyote.http11.Http11Processor.addInputFilter:([Lorg/apache/coyote/http11/InputFilter;Ljava/lang/String;)V
end local 13 end local 12 end local 11 end local 10 end local 9 130: StackMap locals: org.apache.coyote.http11.Http11Processor org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.http.MimeHeaders org.apache.tomcat.util.buf.MessageBytes java.util.regex.Pattern org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.buf.ByteChunk byte[] org.apache.coyote.http11.InputFilter[]
StackMap stack:
ldc -1
lstore 9
start local 9 131: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getContentLengthLong:()J
lstore 9
132: goto 137
StackMap locals: org.apache.coyote.http11.Http11Processor org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.http.MimeHeaders org.apache.tomcat.util.buf.MessageBytes java.util.regex.Pattern org.apache.tomcat.util.buf.MessageBytes org.apache.tomcat.util.buf.ByteChunk byte[] org.apache.coyote.http11.InputFilter[] long
StackMap stack: java.lang.NumberFormatException
133: pop
134: aload 0
ldc "http11processor.request.nonNumericContentLength"
invokevirtual org.apache.coyote.http11.Http11Processor.badRequest:(Ljava/lang/String;)V
goto 137
135: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
pop
136: aload 0
ldc "http11processor.request.multipleContentLength"
invokevirtual org.apache.coyote.http11.Http11Processor.badRequest:(Ljava/lang/String;)V
137: StackMap locals:
StackMap stack:
lload 9
lconst_0
lcmp
iflt 144
138: aload 0
getfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
ifeq 142
139: aload 2
ldc "content-length"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.removeHeader:(Ljava/lang/String;)V
140: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
ldc -1
invokevirtual org.apache.coyote.Request.setContentLength:(J)V
141: goto 144
142: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
aload 8
iconst_0
aaload
invokevirtual org.apache.coyote.http11.Http11InputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/InputFilter;)V
143: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
144: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual org.apache.coyote.http11.Http11Processor.parseHost:(Lorg/apache/tomcat/util/buf/MessageBytes;)V
145: aload 0
getfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
ifne 148
146: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
aload 8
iconst_2
aaload
invokevirtual org.apache.coyote.http11.Http11InputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/InputFilter;)V
147: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
148: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.getErrorState:()Lorg/apache/coyote/ErrorState;
invokevirtual org.apache.coyote.ErrorState.isIoAllowed:()Z
ifne 150
149: aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.getAdapter:()Lorg/apache/coyote/Adapter;
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
lconst_0
invokeinterface org.apache.coyote.Adapter.log:(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;J)V
150: StackMap locals:
StackMap stack:
return
end local 9 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 151 0 this Lorg/apache/coyote/http11/Http11Processor;
6 151 1 protocolMB Lorg/apache/tomcat/util/buf/MessageBytes;
27 151 2 headers Lorg/apache/tomcat/util/http/MimeHeaders;
28 151 3 connectionValueMB Lorg/apache/tomcat/util/buf/MessageBytes;
30 38 4 connectionValueBC Lorg/apache/tomcat/util/buf/ByteChunk;
40 47 4 expectMB Lorg/apache/tomcat/util/buf/MessageBytes;
48 151 4 restrictedUserAgents Ljava/util/regex/Pattern;
50 55 5 userAgentValueMB Lorg/apache/tomcat/util/buf/MessageBytes;
52 55 6 userAgentValue Ljava/lang/String;
56 151 5 hostValueMB Lorg/apache/tomcat/util/buf/MessageBytes;
63 151 6 uriBC Lorg/apache/tomcat/util/buf/ByteChunk;
64 151 7 uriB [B
66 107 8 pos I
71 105 9 uriBCStart I
72 105 10 slashPos I
73 105 11 atPos I
83 86 12 c B
108 114 8 i I
115 151 8 inputFilters [Lorg/apache/coyote/http11/InputFilter;
117 130 9 transferEncodingValueMB Lorg/apache/tomcat/util/buf/MessageBytes;
119 130 10 transferEncodingValue Ljava/lang/String;
120 130 11 startPos I
121 130 12 commaPos I
122 130 13 encodingName Ljava/lang/String;
131 151 9 contentLength J
Exception table:
from to target type
56 57 58 Class java.lang.IllegalArgumentException
101 103 104 Class java.lang.IllegalStateException
131 132 133 Class java.lang.NumberFormatException
131 132 135 Class java.lang.IllegalArgumentException
private void badRequest(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
sipush 400
invokevirtual org.apache.coyote.Response.setStatus:(I)V
1: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CLEAN:Lorg/apache/coyote/ErrorState;
aconst_null
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
2: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 4
3: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.coyote.http11.Http11Processor.sm:Lorg/apache/tomcat/util/res/StringManager;
aload 1
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/coyote/http11/Http11Processor;
0 5 1 errorKey Ljava/lang/String;
MethodParameters:
Name Flags
errorKey
protected final void prepareResponse();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=13, args_size=1
start local 0 0: iconst_1
istore 1
start local 1 1: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
2: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.getFilters:()[Lorg/apache/coyote/http11/OutputFilter;
astore 2
start local 2 3: aload 0
getfield org.apache.coyote.http11.Http11Processor.http09:Z
ifeq 7
4: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 2
iconst_0
aaload
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
5: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.commit:()V
6: return
7: StackMap locals: int org.apache.coyote.http11.OutputFilter[]
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.getStatus:()I
istore 3
start local 3 8: iload 3
sipush 200
if_icmplt 10
iload 3
sipush 204
if_icmpeq 10
iload 3
sipush 205
if_icmpeq 10
9: iload 3
sipush 304
if_icmpne 19
10: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
11: aload 2
iconst_2
aaload
12: invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
13: iconst_0
istore 1
14: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
15: iload 3
sipush 205
if_icmpne 18
16: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
lconst_0
invokevirtual org.apache.coyote.Response.setContentLength:(J)V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
ldc -1
invokevirtual org.apache.coyote.Response.setContentLength:(J)V
19: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.method:()Lorg/apache/tomcat/util/buf/MessageBytes;
astore 4
start local 4 20: aload 4
ldc "HEAD"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.equals:(Ljava/lang/String;)Z
ifeq 25
21: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
22: aload 2
iconst_2
aaload
23: invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
24: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
25: StackMap locals: org.apache.tomcat.util.buf.MessageBytes
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getUseSendfile:()Z
ifeq 27
26: aload 0
aload 2
invokevirtual org.apache.coyote.http11.Http11Processor.prepareSendfile:([Lorg/apache/coyote/http11/OutputFilter;)V
27: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 28: iload 1
ifeq 30
aload 0
getfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
ifnonnull 30
29: aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.useCompression:(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)Z
istore 5
30: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
astore 6
start local 6 31: iload 1
ifne 32
iload 3
sipush 204
if_icmpne 39
32: StackMap locals: org.apache.tomcat.util.http.MimeHeaders
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.getContentType:()Ljava/lang/String;
astore 7
start local 7 33: aload 7
ifnull 35
34: aload 6
ldc "Content-Type"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.setValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
aload 7
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
35: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.getContentLanguage:()Ljava/lang/String;
astore 8
start local 8 36: aload 8
ifnull 39
37: aload 6
ldc "Content-Language"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.setValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
38: aload 8
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
end local 8 end local 7 39: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.getContentLengthLong:()J
lstore 7
start local 7 40: iconst_0
istore 9
start local 9 41: aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifeq 46
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.getTrailerFields:()Ljava/util/function/Supplier;
ifnull 46
42: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 2
iconst_1
aaload
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
43: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
44: aload 6
ldc "Transfer-Encoding"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.addValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
ldc "chunked"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
45: goto 58
StackMap locals: long int
StackMap stack:
46: lload 7
ldc -1
lcmp
ifeq 51
47: aload 6
ldc "Content-Length"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.setValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
lload 7
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setLong:(J)V
48: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 2
iconst_0
aaload
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
49: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
50: goto 58
51: StackMap locals:
StackMap stack:
aload 6
invokestatic org.apache.coyote.http11.Http11Processor.isConnectionClose:(Lorg/apache/tomcat/util/http/MimeHeaders;)Z
istore 9
52: aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifeq 57
iload 1
ifeq 57
iload 9
ifne 57
53: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 2
iconst_1
aaload
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
54: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
55: aload 6
ldc "Transfer-Encoding"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.addValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
ldc "chunked"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
56: goto 58
57: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 2
iconst_0
aaload
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
58: StackMap locals:
StackMap stack:
iload 5
ifeq 60
59: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 2
iconst_3
aaload
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
60: StackMap locals:
StackMap stack:
aload 6
ldc "Date"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
ifnonnull 64
61: aload 6
ldc "Date"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.addValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
62: invokestatic org.apache.tomcat.util.http.FastHttpDateFormat.getCurrentDate:()Ljava/lang/String;
63: invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
64: StackMap locals:
StackMap stack:
iload 1
ifeq 66
aload 0
getfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
ifne 66
65: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
66: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.checkExpectationAndResponseStatus:()V
67: aload 0
getfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
ifeq 69
iload 3
invokestatic org.apache.coyote.http11.Http11Processor.statusDropsConnection:(I)Z
ifeq 69
68: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
69: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
ifne 75
70: iload 9
ifne 77
71: aload 6
ldc "Connection"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.addValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
72: ldc "close"
73: invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
74: goto 77
StackMap locals:
StackMap stack:
75: aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifne 77
aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.getErrorState:()Lorg/apache/coyote/ErrorState;
invokevirtual org.apache.coyote.ErrorState.isError:()Z
ifne 77
76: aload 6
ldc "Connection"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.addValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
ldc "keep-alive"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
77: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getServer:()Ljava/lang/String;
astore 10
start local 10 78: aload 10
ifnonnull 82
79: aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getServerRemoveAppProvidedValues:()Z
ifeq 83
80: aload 6
ldc "server"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.removeHeader:(Ljava/lang/String;)V
81: goto 83
82: StackMap locals: java.lang.String
StackMap stack:
aload 6
ldc "Server"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.setValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
aload 10
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
83: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.sendStatus:()V
84: aload 6
invokevirtual org.apache.tomcat.util.http.MimeHeaders.size:()I
istore 11
start local 11 85: iconst_0
istore 12
start local 12 86: goto 89
87: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 6
iload 12
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getName:(I)Lorg/apache/tomcat/util/buf/MessageBytes;
aload 6
iload 12
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(I)Lorg/apache/tomcat/util/buf/MessageBytes;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.sendHeader:(Lorg/apache/tomcat/util/buf/MessageBytes;Lorg/apache/tomcat/util/buf/MessageBytes;)V
88: iinc 12 1
StackMap locals:
StackMap stack:
89: iload 12
iload 11
if_icmplt 87
end local 12 90: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.endHeaders:()V
end local 11 91: goto 96
StackMap locals: org.apache.coyote.http11.Http11Processor int org.apache.coyote.http11.OutputFilter[] int org.apache.tomcat.util.buf.MessageBytes int org.apache.tomcat.util.http.MimeHeaders long int java.lang.String
StackMap stack: java.lang.Throwable
92: astore 11
start local 11 93: aload 11
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
94: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.resetHeaderBuffer:()V
95: aload 11
athrow
end local 11 96: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.commit:()V
97: return
end local 10 end local 9 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 98 0 this Lorg/apache/coyote/http11/Http11Processor;
1 98 1 entityBody Z
3 98 2 outputFilters [Lorg/apache/coyote/http11/OutputFilter;
8 98 3 statusCode I
20 98 4 methodMB Lorg/apache/tomcat/util/buf/MessageBytes;
28 98 5 useCompression Z
31 98 6 headers Lorg/apache/tomcat/util/http/MimeHeaders;
33 39 7 contentType Ljava/lang/String;
36 39 8 contentLanguage Ljava/lang/String;
40 98 7 contentLength J
41 98 9 connectionClosePresent Z
78 98 10 server Ljava/lang/String;
85 91 11 size I
86 90 12 i I
93 96 11 t Ljava/lang/Throwable;
Exception table:
from to target type
83 91 92 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
private static boolean (org.apache.tomcat.util.http.MimeHeaders);
descriptor: (Lorg/apache/tomcat/util/http/MimeHeaders;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc "Connection"
invokevirtual org.apache.tomcat.util.http.MimeHeaders.getValue:(Ljava/lang/String;)Lorg/apache/tomcat/util/buf/MessageBytes;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: iconst_0
ireturn
3: StackMap locals: org.apache.tomcat.util.buf.MessageBytes
StackMap stack:
aload 1
ldc "close"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.equals:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 headers Lorg/apache/tomcat/util/http/MimeHeaders;
1 4 1 connection Lorg/apache/tomcat/util/buf/MessageBytes;
MethodParameters:
Name Flags
headers
private void prepareSendfile(org.apache.coyote.http11.OutputFilter[]);
descriptor: ([Lorg/apache/coyote/http11/OutputFilter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
1: ldc "org.apache.tomcat.sendfile.filename"
2: invokevirtual org.apache.coyote.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.String
astore 2
start local 2 3: aload 2
ifnonnull 6
4: aload 0
aconst_null
putfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
5: goto 19
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
aload 1
iconst_2
aaload
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/OutputFilter;)V
7: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11Processor.contentDelimitation:Z
8: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
9: ldc "org.apache.tomcat.sendfile.start"
10: invokevirtual org.apache.coyote.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Long
11: invokevirtual java.lang.Long.longValue:()J
12: lstore 3
start local 3 13: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
14: ldc "org.apache.tomcat.sendfile.end"
15: invokevirtual org.apache.coyote.Request.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.lang.Long
16: invokevirtual java.lang.Long.longValue:()J
17: lstore 5
start local 5 18: aload 0
aload 0
getfield org.apache.coyote.http11.Http11Processor.socketWrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
aload 2
lload 3
lload 5
lload 3
lsub
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.createSendfileData:(Ljava/lang/String;JJ)Lorg/apache/tomcat/util/net/SendfileDataBase;
putfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
end local 5 end local 3 19: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/coyote/http11/Http11Processor;
0 20 1 outputFilters [Lorg/apache/coyote/http11/OutputFilter;
3 20 2 fileName Ljava/lang/String;
13 19 3 pos J
18 19 5 end J
MethodParameters:
Name Flags
outputFilters
protected void populatePort();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
getstatic org.apache.coyote.ActionCode.REQ_LOCALPORT_ATTRIBUTE:Lorg/apache/coyote/ActionCode;
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getLocalPort:()I
invokevirtual org.apache.coyote.Request.setServerPort:(I)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/coyote/http11/Http11Processor;
protected boolean flushBufferedWrite();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.hasDataToWrite:()Z
ifeq 4
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
iconst_0
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.flushBuffer:(Z)Z
ifeq 4
2: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.registerWriteInterest:()V
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/coyote/http11/Http11Processor;
Exceptions:
throws java.io.IOException
protected org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState dispatchEndRequest();
descriptor: ()Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
ifne 2
1: getstatic org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState.CLOSED:Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.endRequest:()V
3: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.nextRequest:()V
4: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.nextRequest:()V
5: aload 0
getfield org.apache.coyote.http11.Http11Processor.socketWrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.isReadPending:()Z
ifeq 7
6: getstatic org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState.LONG:Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
areturn
7: StackMap locals:
StackMap stack:
getstatic org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState.OPEN:Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/coyote/http11/Http11Processor;
Signature: ()Lorg/apache/tomcat/util/net/AbstractEndpoint$Handler$SocketState;
protected org.apache.juli.logging.Log getLog();
descriptor: ()Lorg/apache/juli/logging/Log;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11Processor;
private void endRequest();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.getErrorState:()Lorg/apache/coyote/ErrorState;
invokevirtual org.apache.coyote.ErrorState.isError:()Z
ifeq 3
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.setSwallowInput:(Z)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.checkExpectationAndResponseStatus:()V
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.getErrorState:()Lorg/apache/coyote/ErrorState;
invokevirtual org.apache.coyote.ErrorState.isIoAllowed:()Z
ifeq 15
5: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.endRequest:()V
6: goto 15
StackMap locals:
StackMap stack: java.io.IOException
7: astore 1
start local 1 8: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CONNECTION_NOW:Lorg/apache/coyote/ErrorState;
aload 1
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
end local 1 9: goto 15
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 11: aload 1
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
12: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
sipush 500
invokevirtual org.apache.coyote.Response.setStatus:(I)V
13: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_NOW:Lorg/apache/coyote/ErrorState;
aload 1
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
14: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.coyote.http11.Http11Processor.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "http11processor.request.finish"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 1
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 1 15: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.getErrorState:()Lorg/apache/coyote/ErrorState;
invokevirtual org.apache.coyote.ErrorState.isIoAllowed:()Z
ifeq 26
16: aload 0
getstatic org.apache.coyote.ActionCode.COMMIT:Lorg/apache/coyote/ActionCode;
aconst_null
invokevirtual org.apache.coyote.http11.Http11Processor.action:(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
17: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.end:()V
18: goto 26
StackMap locals:
StackMap stack: java.io.IOException
19: astore 1
start local 1 20: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CONNECTION_NOW:Lorg/apache/coyote/ErrorState;
aload 1
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
end local 1 21: goto 26
22: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 23: aload 1
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
24: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_NOW:Lorg/apache/coyote/ErrorState;
aload 1
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
25: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.coyote.http11.Http11Processor.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "http11processor.response.finish"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 1
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 1 26: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/apache/coyote/http11/Http11Processor;
8 9 1 e Ljava/io/IOException;
11 15 1 t Ljava/lang/Throwable;
20 21 1 e Ljava/io/IOException;
23 26 1 t Ljava/lang/Throwable;
Exception table:
from to target type
5 6 7 Class java.io.IOException
5 6 10 Class java.lang.Throwable
16 18 19 Class java.io.IOException
16 18 22 Class java.lang.Throwable
protected final void finishResponse();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.end:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/coyote/http11/Http11Processor;
Exceptions:
throws java.io.IOException
protected final void ack();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.isCommitted:()Z
ifne 6
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.hasExpectation:()Z
ifeq 6
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
iconst_1
invokevirtual org.apache.coyote.http11.Http11InputBuffer.setSwallowInput:(Z)V
2: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.sendAck:()V
3: goto 6
StackMap locals:
StackMap stack: java.io.IOException
4: astore 1
start local 1 5: aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CONNECTION_NOW:Lorg/apache/coyote/ErrorState;
aload 1
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/coyote/http11/Http11Processor;
5 6 1 e Ljava/io/IOException;
Exception table:
from to target type
2 3 4 Class java.io.IOException
protected final void flush();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.flush:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/coyote/http11/Http11Processor;
Exceptions:
throws java.io.IOException
protected final int available(boolean);
descriptor: (Z)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
iload 1
invokevirtual org.apache.coyote.http11.Http11InputBuffer.available:(Z)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11Processor;
0 1 1 doRead Z
MethodParameters:
Name Flags
doRead
protected final void setRequestBody(org.apache.tomcat.util.buf.ByteChunk);
descriptor: (Lorg/apache/tomcat/util/buf/ByteChunk;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new org.apache.coyote.http11.filters.SavedRequestInputFilter
dup
aload 1
invokespecial org.apache.coyote.http11.filters.SavedRequestInputFilter.<init>:(Lorg/apache/tomcat/util/buf/ByteChunk;)V
astore 2
start local 2 1: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getInputBuffer:()Lorg/apache/coyote/InputBuffer;
checkcast org.apache.coyote.http11.Http11InputBuffer
astore 3
start local 3 2: aload 3
aload 2
invokevirtual org.apache.coyote.http11.Http11InputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/InputFilter;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/coyote/http11/Http11Processor;
0 4 1 body Lorg/apache/tomcat/util/buf/ByteChunk;
1 4 2 savedBody Lorg/apache/coyote/http11/InputFilter;
2 4 3 internalBuffer Lorg/apache/coyote/http11/Http11InputBuffer;
MethodParameters:
Name Flags
body
protected final void setSwallowResponse();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
iconst_1
putfield org.apache.coyote.http11.Http11OutputBuffer.responseFinished:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/coyote/http11/Http11Processor;
protected final void disableSwallowRequest();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.setSwallowInput:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/coyote/http11/Http11Processor;
protected final void sslReHandShake();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.sslSupport:Lorg/apache/tomcat/util/net/SSLSupport;
ifnull 13
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.getFilters:()[Lorg/apache/coyote/http11/InputFilter;
astore 1
start local 1 2: aload 1
iconst_3
aaload
checkcast org.apache.coyote.http11.filters.BufferedInputFilter
3: aload 0
getfield org.apache.coyote.http11.Http11Processor.protocol:Lorg/apache/coyote/http11/AbstractHttp11Protocol;
invokevirtual org.apache.coyote.http11.AbstractHttp11Protocol.getMaxSavePostSize:()I
4: invokevirtual org.apache.coyote.http11.filters.BufferedInputFilter.setLimit:(I)V
5: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
aload 1
iconst_3
aaload
invokevirtual org.apache.coyote.http11.Http11InputBuffer.addActiveFilter:(Lorg/apache/coyote/http11/InputFilter;)V
6: aload 0
getfield org.apache.coyote.http11.Http11Processor.socketWrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
aload 0
getfield org.apache.coyote.http11.Http11Processor.sslSupport:Lorg/apache/tomcat/util/net/SSLSupport;
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.doClientAuth:(Lorg/apache/tomcat/util/net/SSLSupport;)V
7: aload 0
getfield org.apache.coyote.http11.Http11Processor.sslSupport:Lorg/apache/tomcat/util/net/SSLSupport;
invokeinterface org.apache.tomcat.util.net.SSLSupport.getPeerCertificateChain:()[Ljava/security/cert/X509Certificate;
astore 2
start local 2 8: aload 2
ifnull 13
9: aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
ldc "javax.servlet.request.X509Certificate"
aload 2
invokevirtual org.apache.coyote.Request.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
end local 2 10: goto 13
StackMap locals: org.apache.coyote.http11.Http11Processor org.apache.coyote.http11.InputFilter[]
StackMap stack: java.io.IOException
11: astore 2
start local 2 12: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.coyote.http11.Http11Processor.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "http11processor.socket.ssl"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 end local 1 13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/coyote/http11/Http11Processor;
2 13 1 inputFilters [Lorg/apache/coyote/http11/InputFilter;
8 10 2 sslO Ljava/lang/Object;
12 13 2 ioe Ljava/io/IOException;
Exception table:
from to target type
7 10 11 Class java.io.IOException
Exceptions:
throws java.io.IOException
protected final boolean isRequestBodyFullyRead();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.isFinished:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11Processor;
protected final void registerReadInterest();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.socketWrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.registerReadInterest:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/coyote/http11/Http11Processor;
protected final boolean isReadyForWrite();
descriptor: ()Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.isReady:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11Processor;
public org.apache.coyote.UpgradeToken getUpgradeToken();
descriptor: ()Lorg/apache/coyote/UpgradeToken;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.upgradeToken:Lorg/apache/coyote/UpgradeToken;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11Processor;
protected final void doHttpUpgrade(org.apache.coyote.UpgradeToken);
descriptor: (Lorg/apache/coyote/UpgradeToken;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.coyote.http11.Http11Processor.upgradeToken:Lorg/apache/coyote/UpgradeToken;
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
iconst_1
putfield org.apache.coyote.http11.Http11OutputBuffer.responseFinished:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/coyote/http11/Http11Processor;
0 3 1 upgradeToken Lorg/apache/coyote/UpgradeToken;
MethodParameters:
Name Flags
upgradeToken
public java.nio.ByteBuffer getLeftoverInput();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.getLeftover:()Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11Processor;
public boolean isUpgrade();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.upgradeToken:Lorg/apache/coyote/UpgradeToken;
ifnull 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 Lorg/apache/coyote/http11/Http11Processor;
protected boolean isTrailerFieldsReady();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.isChunking:()Z
ifeq 2
1: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.isFinished:()Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/coyote/http11/Http11Processor;
protected boolean isTrailerFieldsSupported();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11Processor.http11:Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokevirtual org.apache.coyote.Response.isCommitted:()Z
ifne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.isChunking:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/coyote/http11/Http11Processor;
private org.apache.tomcat.util.net.SendfileState processSendfile(org.apache.tomcat.util.net.SocketWrapperBase<?>);
descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase;)Lorg/apache/tomcat/util/net/SendfileState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
putfield org.apache.coyote.http11.Http11Processor.openSocket:Z
1: getstatic org.apache.tomcat.util.net.SendfileState.DONE:Lorg/apache/tomcat/util/net/SendfileState;
astore 2
start local 2 2: aload 0
getfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
ifnull 16
aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.getErrorState:()Lorg/apache/coyote/ErrorState;
invokevirtual org.apache.coyote.ErrorState.isError:()Z
ifne 16
3: aload 0
getfield org.apache.coyote.http11.Http11Processor.keepAlive:Z
ifeq 9
4: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11Processor.available:(Z)I
ifne 7
5: aload 0
getfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
getstatic org.apache.tomcat.util.net.SendfileKeepAliveState.OPEN:Lorg/apache/tomcat/util/net/SendfileKeepAliveState;
putfield org.apache.tomcat.util.net.SendfileDataBase.keepAliveState:Lorg/apache/tomcat/util/net/SendfileKeepAliveState;
6: goto 10
7: StackMap locals: org.apache.tomcat.util.net.SendfileState
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
getstatic org.apache.tomcat.util.net.SendfileKeepAliveState.PIPELINED:Lorg/apache/tomcat/util/net/SendfileKeepAliveState;
putfield org.apache.tomcat.util.net.SendfileDataBase.keepAliveState:Lorg/apache/tomcat/util/net/SendfileKeepAliveState;
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
getstatic org.apache.tomcat.util.net.SendfileKeepAliveState.NONE:Lorg/apache/tomcat/util/net/SendfileKeepAliveState;
putfield org.apache.tomcat.util.net.SendfileDataBase.keepAliveState:Lorg/apache/tomcat/util/net/SendfileKeepAliveState;
10: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.processSendfile:(Lorg/apache/tomcat/util/net/SendfileDataBase;)Lorg/apache/tomcat/util/net/SendfileState;
astore 2
11: invokestatic org.apache.coyote.http11.Http11Processor.$SWITCH_TABLE$org$apache$tomcat$util$net$SendfileState:()[I
aload 2
invokevirtual org.apache.tomcat.util.net.SendfileState.ordinal:()I
iaload
tableswitch { // 3 - 3
3: 12
default: 15
}
12: StackMap locals:
StackMap stack:
getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 14
13: getstatic org.apache.coyote.http11.Http11Processor.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.coyote.http11.Http11Processor.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "http11processor.sendfile.error"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.coyote.ErrorState.CLOSE_CONNECTION_NOW:Lorg/apache/coyote/ErrorState;
aconst_null
invokevirtual org.apache.coyote.http11.Http11Processor.setErrorState:(Lorg/apache/coyote/ErrorState;Ljava/lang/Throwable;)V
15: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
16: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/coyote/http11/Http11Processor;
0 17 1 socketWrapper Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;
2 17 2 result Lorg/apache/tomcat/util/net/SendfileState;
Signature: (Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;)Lorg/apache/tomcat/util/net/SendfileState;
MethodParameters:
Name Flags
socketWrapper
public final void recycle();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.coyote.http11.Http11Processor.getAdapter:()Lorg/apache/coyote/Adapter;
aload 0
getfield org.apache.coyote.http11.Http11Processor.request:Lorg/apache/coyote/Request;
aload 0
getfield org.apache.coyote.http11.Http11Processor.response:Lorg/apache/coyote/Response;
invokeinterface org.apache.coyote.Adapter.checkRecycled:(Lorg/apache/coyote/Request;Lorg/apache/coyote/Response;)V
1: aload 0
invokespecial org.apache.coyote.AbstractProcessor.recycle:()V
2: aload 0
getfield org.apache.coyote.http11.Http11Processor.inputBuffer:Lorg/apache/coyote/http11/Http11InputBuffer;
invokevirtual org.apache.coyote.http11.Http11InputBuffer.recycle:()V
3: aload 0
getfield org.apache.coyote.http11.Http11Processor.outputBuffer:Lorg/apache/coyote/http11/Http11OutputBuffer;
invokevirtual org.apache.coyote.http11.Http11OutputBuffer.recycle:()V
4: aload 0
aconst_null
putfield org.apache.coyote.http11.Http11Processor.upgradeToken:Lorg/apache/coyote/UpgradeToken;
5: aload 0
aconst_null
putfield org.apache.coyote.http11.Http11Processor.socketWrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
6: aload 0
aconst_null
putfield org.apache.coyote.http11.Http11Processor.sendfileData:Lorg/apache/tomcat/util/net/SendfileDataBase;
7: aload 0
aconst_null
putfield org.apache.coyote.http11.Http11Processor.sslSupport:Lorg/apache/tomcat/util/net/SSLSupport;
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/coyote/http11/Http11Processor;
public void pause();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11Processor;
static int[] $SWITCH_TABLE$org$apache$tomcat$util$net$SendfileState();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.apache.coyote.http11.Http11Processor.$SWITCH_TABLE$org$apache$tomcat$util$net$SendfileState:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.apache.tomcat.util.net.SendfileState.values:()[Lorg/apache/tomcat/util/net/SendfileState;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.apache.tomcat.util.net.SendfileState.DONE:Lorg/apache/tomcat/util/net/SendfileState;
invokevirtual org.apache.tomcat.util.net.SendfileState.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.apache.tomcat.util.net.SendfileState.ERROR:Lorg/apache/tomcat/util/net/SendfileState;
invokevirtual org.apache.tomcat.util.net.SendfileState.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.apache.tomcat.util.net.SendfileState.PENDING:Lorg/apache/tomcat/util/net/SendfileState;
invokevirtual org.apache.tomcat.util.net.SendfileState.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic org.apache.coyote.http11.Http11Processor.$SWITCH_TABLE$org$apache$tomcat$util$net$SendfileState:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "Http11Processor.java"
InnerClasses:
public abstract Handler = org.apache.tomcat.util.net.AbstractEndpoint$Handler of org.apache.tomcat.util.net.AbstractEndpoint
public final SocketState = org.apache.tomcat.util.net.AbstractEndpoint$Handler$SocketState of org.apache.tomcat.util.net.AbstractEndpoint$Handler