public class org.apache.coyote.http11.Http11InputBuffer implements org.apache.coyote.InputBuffer, org.apache.tomcat.util.net.ApplicationBufferHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.coyote.http11.Http11InputBuffer
super_class: java.lang.Object
{
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 static final byte[] CLIENT_PREFACE_START;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.coyote.Request request;
descriptor: Lorg/apache/coyote/Request;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.tomcat.util.http.MimeHeaders ;
descriptor: Lorg/apache/tomcat/util/http/MimeHeaders;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean ;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean ;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean swallowInput;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer byteBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private int end;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.tomcat.util.net.SocketWrapperBase<?> wrapper;
descriptor: Lorg/apache/tomcat/util/net/SocketWrapperBase;
flags: (0x0002) ACC_PRIVATE
Signature: Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;
private org.apache.coyote.InputBuffer inputStreamInputBuffer;
descriptor: Lorg/apache/coyote/InputBuffer;
flags: (0x0002) ACC_PRIVATE
private org.apache.coyote.http11.InputFilter[] filterLibrary;
descriptor: [Lorg/apache/coyote/http11/InputFilter;
flags: (0x0002) ACC_PRIVATE
private org.apache.coyote.http11.InputFilter[] activeFilters;
descriptor: [Lorg/apache/coyote/http11/InputFilter;
flags: (0x0002) ACC_PRIVATE
private int lastActiveFilter;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean parsingRequestLine;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int parsingRequestLinePhase;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean parsingRequestLineEol;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int parsingRequestLineStart;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int parsingRequestLineQPos;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition ;
descriptor: Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
flags: (0x0002) ACC_PRIVATE
private final org.apache.coyote.http11.Http11InputBuffer$HeaderParseData ;
descriptor: Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
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 final int ;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int socketReadBufferSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/coyote/http11/Http11InputBuffer;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.coyote.http11.Http11InputBuffer.log:Lorg/apache/juli/logging/Log;
1: ldc Lorg/apache/coyote/http11/Http11InputBuffer;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
2: ldc "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
3: putstatic org.apache.coyote.http11.Http11InputBuffer.CLIENT_PREFACE_START:[B
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.coyote.Request, int, boolean, org.apache.tomcat.util.http.parser.HttpParser);
descriptor: (Lorg/apache/coyote/Request;IZLorg/apache/tomcat/util/http/parser/HttpParser;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
2: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineEol:Z
3: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
4: aload 0
iconst_m1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
5: aload 0
new org.apache.coyote.http11.Http11InputBuffer$HeaderParseData
dup
invokespecial org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.<init>:()V
putfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
6: aload 0
aload 1
putfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
7: aload 0
aload 1
invokevirtual org.apache.coyote.Request.getMimeHeaders:()Lorg/apache/tomcat/util/http/MimeHeaders;
putfield org.apache.coyote.http11.Http11InputBuffer.headers:Lorg/apache/tomcat/util/http/MimeHeaders;
8: aload 0
iload 2
putfield org.apache.coyote.http11.Http11InputBuffer.headerBufferSize:I
9: aload 0
iload 3
putfield org.apache.coyote.http11.Http11InputBuffer.rejectIllegalHeaderName:Z
10: aload 0
aload 4
putfield org.apache.coyote.http11.Http11InputBuffer.httpParser:Lorg/apache/tomcat/util/http/parser/HttpParser;
11: aload 0
iconst_0
anewarray org.apache.coyote.http11.InputFilter
putfield org.apache.coyote.http11.Http11InputBuffer.filterLibrary:[Lorg/apache/coyote/http11/InputFilter;
12: aload 0
iconst_0
anewarray org.apache.coyote.http11.InputFilter
putfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
13: aload 0
iconst_m1
putfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
14: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingHeader:Z
15: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLine:Z
16: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
17: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineEol:Z
18: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
19: aload 0
iconst_m1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
20: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
21: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.swallowInput:Z
22: aload 0
new org.apache.coyote.http11.Http11InputBuffer$SocketInputBuffer
dup
aload 0
invokespecial org.apache.coyote.http11.Http11InputBuffer$SocketInputBuffer.<init>:(Lorg/apache/coyote/http11/Http11InputBuffer;)V
putfield org.apache.coyote.http11.Http11InputBuffer.inputStreamInputBuffer:Lorg/apache/coyote/InputBuffer;
23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 24 1 request Lorg/apache/coyote/Request;
0 24 2 headerBufferSize I
0 24 3 rejectIllegalHeaderName Z
0 24 4 httpParser Lorg/apache/tomcat/util/http/parser/HttpParser;
MethodParameters:
Name Flags
request
headerBufferSize
rejectIllegalHeaderName
httpParser
void addFilter(org.apache.coyote.http11.InputFilter);
descriptor: (Lorg/apache/coyote/http11/InputFilter;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.filter.npe"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.filterLibrary:[Lorg/apache/coyote/http11/InputFilter;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.filterLibrary:[Lorg/apache/coyote/http11/InputFilter;
arraylength
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast org.apache.coyote.http11.InputFilter[]
astore 2
start local 2 3: aload 2
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.filterLibrary:[Lorg/apache/coyote/http11/InputFilter;
arraylength
aload 1
aastore
4: aload 0
aload 2
putfield org.apache.coyote.http11.Http11InputBuffer.filterLibrary:[Lorg/apache/coyote/http11/InputFilter;
5: aload 0
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.filterLibrary:[Lorg/apache/coyote/http11/InputFilter;
arraylength
anewarray org.apache.coyote.http11.InputFilter
putfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 7 1 filter Lorg/apache/coyote/http11/InputFilter;
3 7 2 newFilterLibrary [Lorg/apache/coyote/http11/InputFilter;
MethodParameters:
Name Flags
filter
org.apache.coyote.http11.InputFilter[] getFilters();
descriptor: ()[Lorg/apache/coyote/http11/InputFilter;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.filterLibrary:[Lorg/apache/coyote/http11/InputFilter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
void addActiveFilter(org.apache.coyote.http11.InputFilter);
descriptor: (Lorg/apache/coyote/http11/InputFilter;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
iconst_m1
if_icmpne 3
1: aload 1
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.inputStreamInputBuffer:Lorg/apache/coyote/InputBuffer;
invokeinterface org.apache.coyote.http11.InputFilter.setBuffer:(Lorg/apache/coyote/InputBuffer;)V
2: goto 10
3: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 4: goto 8
5: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
iload 2
aaload
aload 1
if_acmpne 7
6: return
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
if_icmple 5
end local 2 9: aload 1
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
aaload
invokeinterface org.apache.coyote.http11.InputFilter.setBuffer:(Lorg/apache/coyote/InputBuffer;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
aload 0
dup
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
iconst_1
iadd
dup_x1
putfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
aload 1
aastore
11: aload 1
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokeinterface org.apache.coyote.http11.InputFilter.setRequest:(Lorg/apache/coyote/Request;)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 13 1 filter Lorg/apache/coyote/http11/InputFilter;
4 9 2 i I
MethodParameters:
Name Flags
filter
void setSwallowInput(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.coyote.http11.Http11InputBuffer.swallowInput:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 2 1 swallowInput Z
MethodParameters:
Name Flags
swallowInput
public int doRead(org.apache.tomcat.util.net.ApplicationBufferHandler);
descriptor: (Lorg/apache/tomcat/util/net/ApplicationBufferHandler;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
iconst_m1
if_icmpne 2
1: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.inputStreamInputBuffer:Lorg/apache/coyote/InputBuffer;
aload 1
invokeinterface org.apache.coyote.InputBuffer.doRead:(Lorg/apache/tomcat/util/net/ApplicationBufferHandler;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
aaload
aload 1
invokeinterface org.apache.coyote.http11.InputFilter.doRead:(Lorg/apache/tomcat/util/net/ApplicationBufferHandler;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 3 1 handler Lorg/apache/tomcat/util/net/ApplicationBufferHandler;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
handler
void recycle();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.apache.coyote.http11.Http11InputBuffer.wrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
1: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.recycle:()V
2: iconst_0
istore 1
start local 1 3: goto 6
4: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
iload 1
aaload
invokeinterface org.apache.coyote.http11.InputFilter.recycle:()V
5: iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
if_icmple 4
end local 1 7: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
iconst_0
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
8: aload 0
iconst_m1
putfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
9: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingHeader:Z
10: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.swallowInput:Z
11: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
12: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLine:Z
13: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
14: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineEol:Z
15: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
16: aload 0
iconst_m1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
17: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
invokevirtual org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.recycle:()V
18: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
3 7 1 i I
void nextRequest();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.recycle:()V
1: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
ifle 7
2: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 6
3: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
4: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
iconst_0
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
7: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 8: goto 11
9: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
iload 1
aaload
invokeinterface org.apache.coyote.http11.InputFilter.recycle:()V
10: iinc 1 1
StackMap locals:
StackMap stack:
11: iload 1
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
if_icmple 9
end local 1 12: aload 0
iconst_m1
putfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
13: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingHeader:Z
14: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.swallowInput:Z
15: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
16: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLine:Z
17: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
18: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineEol:Z
19: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
20: aload 0
iconst_m1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
21: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
invokevirtual org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.recycle:()V
22: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
8 12 1 i I
boolean parseRequestLine(boolean, int, int);
descriptor: (ZII)Z
flags: (0x0000)
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLine:Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
iconst_2
if_icmpge 33
3: iconst_0
istore 4
start local 4 4: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 11
5: iload 1
ifeq 7
6: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.wrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
iload 3
i2l
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.setReadTimeout:(J)V
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 10
8: aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
9: iconst_0
ireturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.wrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
iload 2
i2l
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.setReadTimeout:(J)V
11: StackMap locals:
StackMap stack:
iload 1
ifne 22
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
ifne 22
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
getstatic org.apache.coyote.http11.Http11InputBuffer.CLIENT_PREFACE_START:[B
arraylength
iconst_1
isub
if_icmplt 22
12: iconst_1
istore 5
start local 5 13: iconst_0
istore 6
start local 6 14: goto 18
15: StackMap locals: int int
StackMap stack:
getstatic org.apache.coyote.http11.Http11InputBuffer.CLIENT_PREFACE_START:[B
iload 6
baload
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
iload 6
invokevirtual java.nio.ByteBuffer.get:(I)B
if_icmpeq 17
16: iconst_0
istore 5
17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
getstatic org.apache.coyote.http11.Http11InputBuffer.CLIENT_PREFACE_START:[B
arraylength
if_icmpge 19
iload 5
ifne 15
end local 6 19: StackMap locals:
StackMap stack:
iload 5
ifeq 22
20: aload 0
iconst_m1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
21: iconst_0
ireturn
end local 5 22: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.getStartTime:()J
lconst_0
lcmp
ifge 24
23: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual org.apache.coyote.Request.setStartTime:(J)V
24: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 4
25: iload 4
bipush 13
if_icmpeq 4
iload 4
bipush 10
if_icmpeq 4
26: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
27: aload 0
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
28: aload 0
iconst_2
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
29: getstatic org.apache.coyote.http11.Http11InputBuffer.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 33
30: getstatic org.apache.coyote.http11.Http11InputBuffer.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Received ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
31: new java.lang.String
dup
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
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;
32: invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 4 33: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
iconst_2
if_icmpne 53
34: iconst_0
istore 4
start local 4 35: goto 51
36: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 39
37: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 39
38: iconst_0
ireturn
39: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
istore 5
start local 5 40: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 6
start local 6 41: iload 6
bipush 32
if_icmpeq 42
iload 6
bipush 9
if_icmpne 47
42: StackMap locals: int int
StackMap stack:
iconst_1
istore 4
43: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.method:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
44: iload 5
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
isub
45: invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
46: goto 51
StackMap locals:
StackMap stack:
47: iload 6
invokestatic org.apache.tomcat.util.http.parser.HttpParser.isToken:(I)Z
ifne 51
48: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
49: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.protocol:()Lorg/apache/tomcat/util/buf/MessageBytes;
ldc "HTTP/1.1"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
50: new java.lang.IllegalArgumentException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.invalidmethod"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 6 end local 5 51: StackMap locals:
StackMap stack:
iload 4
ifeq 36
52: aload 0
iconst_3
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
end local 4 53: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
iconst_3
if_icmpne 66
54: iconst_1
istore 4
start local 4 55: goto 63
56: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 59
57: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 59
58: iconst_0
ireturn
59: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 5
start local 5 60: iload 5
bipush 32
if_icmpeq 63
iload 5
bipush 9
if_icmpeq 63
61: iconst_0
istore 4
62: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 5 63: StackMap locals:
StackMap stack:
iload 4
ifne 56
64: aload 0
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
65: aload 0
iconst_4
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
end local 4 66: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
iconst_4
if_icmpne 106
67: iconst_0
istore 4
start local 4 68: iconst_0
istore 5
start local 5 69: goto 93
70: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 73
71: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 73
72: iconst_0
ireturn
73: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
istore 6
start local 6 74: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 7
start local 7 75: iload 7
bipush 32
if_icmpeq 76
iload 7
bipush 9
if_icmpne 79
76: StackMap locals: int int
StackMap stack:
iconst_1
istore 5
77: iload 6
istore 4
78: goto 93
StackMap locals:
StackMap stack:
79: iload 7
bipush 13
if_icmpeq 80
iload 7
bipush 10
if_icmpne 84
80: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineEol:Z
81: iconst_1
istore 5
82: iload 6
istore 4
83: goto 93
StackMap locals:
StackMap stack:
84: iload 7
bipush 63
if_icmpne 87
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
iconst_m1
if_icmpne 87
85: aload 0
iload 6
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
86: goto 93
StackMap locals:
StackMap stack:
87: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
iconst_m1
if_icmpeq 90
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.httpParser:Lorg/apache/tomcat/util/http/parser/HttpParser;
iload 7
invokevirtual org.apache.tomcat.util.http.parser.HttpParser.isQueryRelaxed:(I)Z
ifne 90
88: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.protocol:()Lorg/apache/tomcat/util/buf/MessageBytes;
ldc "HTTP/1.1"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
89: new java.lang.IllegalArgumentException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.invalidRequestTarget"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
90: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.httpParser:Lorg/apache/tomcat/util/http/parser/HttpParser;
iload 7
invokevirtual org.apache.tomcat.util.http.parser.HttpParser.isNotRequestTargetRelaxed:(I)Z
ifeq 93
91: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.protocol:()Lorg/apache/tomcat/util/buf/MessageBytes;
ldc "HTTP/1.1"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
92: new java.lang.IllegalArgumentException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.invalidRequestTarget"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 6 93: StackMap locals:
StackMap stack:
iload 5
ifeq 70
94: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
iflt 102
95: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.queryString:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
iconst_1
iadd
96: iload 4
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
isub
iconst_1
isub
97: invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
98: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
99: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineQPos:I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
isub
100: invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
101: goto 105
102: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.requestURI:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
103: iload 4
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
isub
104: invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
105: StackMap locals:
StackMap stack:
aload 0
iconst_5
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
end local 5 end local 4 106: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
iconst_5
if_icmpne 120
107: iconst_1
istore 4
start local 4 108: goto 116
109: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 112
110: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 112
111: iconst_0
ireturn
112: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 5
start local 5 113: iload 5
bipush 32
if_icmpeq 116
iload 5
bipush 9
if_icmpeq 116
114: iconst_0
istore 4
115: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 5 116: StackMap locals:
StackMap stack:
iload 4
ifne 109
117: aload 0
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
118: aload 0
bipush 6
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
119: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.end:I
end local 4 120: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
bipush 6
if_icmpne 149
121: goto 137
122: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 125
123: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 125
124: iconst_0
ireturn
125: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
istore 4
start local 4 126: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 5
start local 5 127: iload 5
bipush 13
if_icmpne 130
128: aload 0
iload 4
putfield org.apache.coyote.http11.Http11InputBuffer.end:I
129: goto 137
StackMap locals: int int
StackMap stack:
130: iload 5
bipush 10
if_icmpne 135
131: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.end:I
ifne 133
132: aload 0
iload 4
putfield org.apache.coyote.http11.Http11InputBuffer.end:I
133: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineEol:Z
134: goto 137
StackMap locals:
StackMap stack:
135: iload 5
invokestatic org.apache.tomcat.util.http.parser.HttpParser.isHttpProtocol:(I)Z
ifne 137
136: new java.lang.IllegalArgumentException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.invalidHttpProtocol"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 5 end local 4 137: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineEol:Z
ifeq 122
138: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.end:I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
isub
ifle 143
139: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.protocol:()Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
140: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.end:I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
isub
141: invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
142: goto 144
143: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.protocol:()Lorg/apache/tomcat/util/buf/MessageBytes;
ldc ""
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
144: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLine:Z
145: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
146: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineEol:Z
147: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLineStart:I
148: iconst_1
ireturn
149: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
150: new java.lang.StringBuilder
dup
ldc "Invalid request line parse phase:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
151: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 152 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 152 1 keptAlive Z
0 152 2 connectionTimeout I
0 152 3 keepAliveTimeout I
4 33 4 chr B
13 22 5 prefaceMatch Z
14 19 6 i I
35 53 4 space Z
40 51 5 pos I
41 51 6 chr B
55 66 4 space Z
60 63 5 chr B
68 106 4 end I
69 106 5 space Z
74 93 6 pos I
75 93 7 chr B
108 120 4 space Z
113 116 5 chr B
126 137 4 pos I
127 137 5 chr B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
keptAlive
connectionTimeout
keepAliveTimeout
boolean ();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingHeader:Z
ifne 2
1: new java.lang.IllegalStateException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.parseheaders.ise.error"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.HAVE_MORE_HEADERS:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
astore 1
start local 1 3: StackMap locals: org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus
StackMap stack:
aload 0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.parseHeader:()Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
astore 1
4: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerBufferSize:I
if_icmpgt 5
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
isub
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.socketReadBufferSize:I
if_icmpge 6
5: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.requestheadertoolarge.error"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.HAVE_MORE_HEADERS:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
if_acmpeq 3
7: aload 1
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.DONE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
if_acmpne 11
8: aload 0
iconst_0
putfield org.apache.coyote.http11.Http11InputBuffer.parsingHeader:Z
9: aload 0
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
putfield org.apache.coyote.http11.Http11InputBuffer.end:I
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
3 12 1 status Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
Exceptions:
throws java.io.IOException
int getParsingRequestLinePhase();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLinePhase:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
void endRequest();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.swallowInput:Z
ifeq 3
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
iconst_m1
if_icmpeq 3
1: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
aaload
invokeinterface org.apache.coyote.http11.InputFilter.end:()J
l2i
istore 1
start local 1 2: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iload 1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 1 3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
2 3 1 extraBytes I
Exceptions:
throws java.io.IOException
int available(boolean);
descriptor: (Z)I
flags: (0x0000)
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
start local 2 1: iload 2
ifne 7
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
iflt 7
2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
iload 3
aaload
invokeinterface org.apache.coyote.http11.InputFilter.available:()I
istore 2
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 2
ifne 7
iload 3
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
if_icmple 4
end local 3 7: StackMap locals:
StackMap stack:
iload 2
ifgt 8
iload 1
ifne 9
8: StackMap locals:
StackMap stack:
iload 2
ireturn
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.wrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.hasDataToRead:()Z
ifeq 17
10: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
pop
11: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
12: goto 17
StackMap locals:
StackMap stack: java.io.IOException
13: astore 3
start local 3 14: getstatic org.apache.coyote.http11.Http11InputBuffer.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 16
15: getstatic org.apache.coyote.http11.Http11InputBuffer.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.available.readFail"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
16: StackMap locals: java.io.IOException
StackMap stack:
iconst_1
istore 2
end local 3 17: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 18 1 read Z
1 18 2 available I
3 7 3 i I
14 17 3 ioe Ljava/io/IOException;
Exception table:
from to target type
9 12 13 Class java.io.IOException
MethodParameters:
Name Flags
read
boolean isFinished();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
if_icmple 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
iflt 4
3: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
aaload
invokeinterface org.apache.coyote.http11.InputFilter.isFinished:()Z
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/Http11InputBuffer;
java.nio.ByteBuffer getLeftover();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 1
start local 1 1: iload 1
ifle 3
2: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iload 1
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
areturn
3: StackMap locals: int
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
1 4 1 available I
boolean isChunking();
descriptor: ()Z
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.activeFilters:[Lorg/apache/coyote/http11/InputFilter;
iload 1
aaload
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.filterLibrary:[Lorg/apache/coyote/http11/InputFilter;
iconst_1
aaload
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.lastActiveFilter:I
if_icmplt 2
end local 1 6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
1 6 1 i I
void init(org.apache.tomcat.util.net.SocketWrapperBase<?>);
descriptor: (Lorg/apache/tomcat/util/net/SocketWrapperBase;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.coyote.http11.Http11InputBuffer.wrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
1: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.wrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
aload 0
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.setAppReadBufHandler:(Lorg/apache/tomcat/util/net/ApplicationBufferHandler;)V
2: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerBufferSize:I
3: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.wrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.getSocketBufferHandler:()Lorg/apache/tomcat/util/net/SocketBufferHandler;
invokevirtual org.apache.tomcat.util.net.SocketBufferHandler.getReadBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
4: iadd
istore 2
start local 2 5: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
ifnull 6
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
iload 2
if_icmpge 8
6: StackMap locals: int
StackMap stack:
aload 0
iload 2
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
7: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
iconst_0
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
pop
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 9 1 socketWrapper Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;
5 9 2 bufLength I
Signature: (Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;)V
MethodParameters:
Name Flags
socketWrapper
private boolean fill(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingHeader:Z
ifeq 5
1: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerBufferSize:I
if_icmplt 6
2: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.parsingRequestLine:Z
ifeq 4
3: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.request:Lorg/apache/coyote/Request;
invokevirtual org.apache.coyote.Request.protocol:()Lorg/apache/tomcat/util/buf/MessageBytes;
ldc "HTTP/1.1"
invokevirtual org.apache.tomcat.util.buf.MessageBytes.setString:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.requestheadertoolarge.error"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.end:I
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.end:I
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.mark:()Ljava/nio/Buffer;
pop
7: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmpge 9
8: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
10: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.wrapper:Lorg/apache/tomcat/util/net/SocketWrapperBase;
astore 2
start local 2 11: iconst_m1
istore 3
start local 3 12: aload 2
ifnull 15
13: aload 2
iload 1
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual org.apache.tomcat.util.net.SocketWrapperBase.read:(ZLjava/nio/ByteBuffer;)I
istore 3
14: goto 16
15: StackMap locals: org.apache.tomcat.util.net.SocketWrapperBase int
StackMap stack:
new org.apache.coyote.CloseNowException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.eof.error"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial org.apache.coyote.CloseNowException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
invokevirtual java.nio.Buffer.reset:()Ljava/nio/Buffer;
pop
17: iload 3
ifle 19
18: iconst_1
ireturn
19: StackMap locals:
StackMap stack:
iload 3
iconst_m1
if_icmpne 21
20: new java.io.EOFException
dup
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.eof.error"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.EOFException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 22 1 block Z
11 22 2 socketWrapper Lorg/apache/tomcat/util/net/SocketWrapperBase<*>;
12 22 3 nRead I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
private org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus ();
descriptor: ()Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 12
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 6
3: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 6
4: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
5: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.NEED_MORE_DATA:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 1
7: iload 1
bipush 13
if_icmpeq 12
8: iload 1
bipush 10
if_icmpne 10
9: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.DONE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpeq 2
13: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpne 38
14: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.start:I
15: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_NAME:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
16: goto 38
17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 20
18: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 20
19: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.NEED_MORE_DATA:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
20: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 21: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 1
22: iload 1
bipush 58
if_icmpne 32
23: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_VALUE_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
24: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headers:Lorg/apache/tomcat/util/http/MimeHeaders;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.start:I
25: iload 2
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.start:I
isub
26: invokevirtual org.apache.tomcat.util.http.MimeHeaders.addValue:([BII)Lorg/apache/tomcat/util/buf/MessageBytes;
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.headerValue:Lorg/apache/tomcat/util/buf/MessageBytes;
27: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
28: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
iload 2
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.start:I
29: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
iload 2
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
30: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
iload 2
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.lastSignificantChar:I
31: goto 39
32: StackMap locals: int
StackMap stack:
iload 1
invokestatic org.apache.tomcat.util.http.parser.HttpParser.isToken:(I)Z
ifne 36
33: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
iload 2
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.lastSignificantChar:I
34: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
35: aload 0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.skipLine:()Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
36: StackMap locals:
StackMap stack:
iload 1
bipush 65
if_icmplt 38
iload 1
bipush 90
if_icmpgt 38
37: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
iload 2
iload 1
bipush -32
isub
i2b
invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
pop
end local 2 38: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_NAME:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpeq 17
39: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_SKIPLINE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpne 81
40: aload 0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.skipLine:()Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
41: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_VALUE_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpne 49
42: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 45
43: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 45
44: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.NEED_MORE_DATA:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
45: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 1
46: iload 1
bipush 32
if_icmpeq 42
iload 1
bipush 9
if_icmpeq 42
47: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_VALUE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
48: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
49: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_VALUE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpne 70
50: iconst_0
istore 2
start local 2 51: goto 67
52: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 55
53: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 55
54: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.NEED_MORE_DATA:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
55: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 1
56: iload 1
bipush 13
if_icmpeq 67
57: iload 1
bipush 10
if_icmpne 60
58: iconst_1
istore 2
59: goto 67
StackMap locals:
StackMap stack:
60: iload 1
bipush 32
if_icmpeq 61
iload 1
bipush 9
if_icmpne 64
61: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
iload 1
invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
pop
62: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
dup
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
iconst_1
iadd
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
63: goto 67
64: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
iload 1
invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
pop
65: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
dup
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
iconst_1
iadd
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
66: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.lastSignificantChar:I
67: StackMap locals:
StackMap stack:
iload 2
ifeq 52
68: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.lastSignificantChar:I
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
69: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_MULTI_LINE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
end local 2 70: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 73
71: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 73
72: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.NEED_MORE_DATA:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
73: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
invokevirtual java.nio.ByteBuffer.get:(I)B
istore 1
74: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_MULTI_LINE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpne 81
75: iload 1
bipush 32
if_icmpeq 78
iload 1
bipush 9
if_icmpeq 78
76: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
77: goto 84
78: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
iload 1
invokevirtual java.nio.ByteBuffer.put:(IB)Ljava/nio/ByteBuffer;
pop
79: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
dup
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
iconst_1
iadd
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.realPos:I
80: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_VALUE_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
81: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_VALUE_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpeq 41
82: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_VALUE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpeq 41
83: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_MULTI_LINE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
if_acmpeq 41
84: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.headerValue:Lorg/apache/tomcat/util/buf/MessageBytes;
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.start:I
85: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.lastSignificantChar:I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.start:I
isub
86: invokevirtual org.apache.tomcat.util.buf.MessageBytes.setBytes:([BII)V
87: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
invokevirtual org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.recycle:()V
88: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.HAVE_MORE_HEADERS:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 89 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
1 89 1 chr B
21 38 2 pos I
51 70 2 eol Z
Exceptions:
throws java.io.IOException
private org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus ();
descriptor: ()Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=4, args_size=1
start local 0 0: aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_SKIPLINE:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
1: iconst_0
istore 1
start local 1 2: goto 13
3: StackMap locals: int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
if_icmplt 6
4: aload 0
iconst_0
invokevirtual org.apache.coyote.http11.Http11InputBuffer.fill:(Z)Z
ifne 6
5: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.NEED_MORE_DATA:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 7: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 3
start local 3 8: iload 3
bipush 13
if_icmpeq 13
9: iload 3
bipush 10
if_icmpne 12
10: iconst_1
istore 1
11: goto 13
12: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
iload 2
putfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.lastSignificantChar:I
end local 3 end local 2 13: StackMap locals:
StackMap stack:
iload 1
ifeq 3
14: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.rejectIllegalHeaderName:Z
ifne 15
getstatic org.apache.coyote.http11.Http11InputBuffer.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 24
15: StackMap locals:
StackMap stack:
getstatic org.apache.coyote.http11.Http11InputBuffer.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "iib.invalidheader"
iconst_1
anewarray java.lang.Object
dup
iconst_0
16: new java.lang.String
dup
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.array:()[B
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.start:I
17: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.lastSignificantChar:I
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.headerData:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseData;
getfield org.apache.coyote.http11.Http11InputBuffer$HeaderParseData.start:I
isub
iconst_1
iadd
18: getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
19: invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
aastore
20: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 21: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.rejectIllegalHeaderName:Z
ifeq 23
22: new java.lang.IllegalArgumentException
dup
aload 2
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: java.lang.String
StackMap stack:
getstatic org.apache.coyote.http11.Http11InputBuffer.log:Lorg/apache/juli/logging/Log;
aload 2
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
end local 2 24: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition.HEADER_START:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
putfield org.apache.coyote.http11.Http11InputBuffer.headerParsePos:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParsePosition;
25: getstatic org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus.HAVE_MORE_HEADERS:Lorg/apache/coyote/http11/Http11InputBuffer$HeaderParseStatus;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
2 26 1 eol Z
7 13 2 pos I
8 13 3 chr B
21 24 2 message Ljava/lang/String;
Exceptions:
throws java.io.IOException
public void setByteBuffer(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 2 1 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer
public java.nio.ByteBuffer getByteBuffer();
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.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
public void expand(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
iload 1
if_icmplt 2
1: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
iload 1
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
2: StackMap locals:
StackMap stack:
iload 1
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 2
start local 2 3: aload 2
aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
pop
4: aload 0
aload 2
putfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
5: aload 0
getfield org.apache.coyote.http11.Http11InputBuffer.byteBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.mark:()Ljava/nio/Buffer;
pop
6: aconst_null
astore 2
7: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/coyote/http11/Http11InputBuffer;
0 8 1 size I
3 8 2 temp Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
size
}
SourceFile: "Http11InputBuffer.java"
NestMembers:
org.apache.coyote.http11.Http11InputBuffer$HeaderParseData org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus org.apache.coyote.http11.Http11InputBuffer$SocketInputBuffer
InnerClasses:
private HeaderParseData = org.apache.coyote.http11.Http11InputBuffer$HeaderParseData of org.apache.coyote.http11.Http11InputBuffer
private final HeaderParsePosition = org.apache.coyote.http11.Http11InputBuffer$HeaderParsePosition of org.apache.coyote.http11.Http11InputBuffer
private final HeaderParseStatus = org.apache.coyote.http11.Http11InputBuffer$HeaderParseStatus of org.apache.coyote.http11.Http11InputBuffer
private SocketInputBuffer = org.apache.coyote.http11.Http11InputBuffer$SocketInputBuffer of org.apache.coyote.http11.Http11InputBuffer