public abstract class org.apache.http.impl.io.AbstractMessageParser<T extends org.apache.http.HttpMessage> implements org.apache.http.io.HttpMessageParser<T>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.http.impl.io.AbstractMessageParser
super_class: java.lang.Object
{
private static final int HEAD_LINE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final org.apache.http.io.SessionInputBuffer sessionBuffer;
descriptor: Lorg/apache/http/io/SessionInputBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.http.config.MessageConstraints messageConstraints;
descriptor: Lorg/apache/http/config/MessageConstraints;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<org.apache.http.util.CharArrayBuffer> ;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/http/util/CharArrayBuffer;>;
protected final org.apache.http.message.LineParser lineParser;
descriptor: Lorg/apache/http/message/LineParser;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private T message;
descriptor: Lorg/apache/http/HttpMessage;
flags: (0x0002) ACC_PRIVATE
Signature: TT;
public void <init>(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.params.HttpParams);
descriptor: (Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/params/HttpParams;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc "Session input buffer"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 3
ldc "HTTP parameters"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 0
aload 1
putfield org.apache.http.impl.io.AbstractMessageParser.sessionBuffer:Lorg/apache/http/io/SessionInputBuffer;
4: aload 0
aload 3
invokestatic org.apache.http.params.HttpParamConfig.getMessageConstraints:(Lorg/apache/http/params/HttpParams;)Lorg/apache/http/config/MessageConstraints;
putfield org.apache.http.impl.io.AbstractMessageParser.messageConstraints:Lorg/apache/http/config/MessageConstraints;
5: aload 0
aload 2
ifnull 6
aload 2
goto 7
StackMap locals: org.apache.http.impl.io.AbstractMessageParser org.apache.http.io.SessionInputBuffer org.apache.http.message.LineParser org.apache.http.params.HttpParams
StackMap stack: org.apache.http.impl.io.AbstractMessageParser
6: getstatic org.apache.http.message.BasicLineParser.INSTANCE:Lorg/apache/http/message/BasicLineParser;
StackMap locals: org.apache.http.impl.io.AbstractMessageParser org.apache.http.io.SessionInputBuffer org.apache.http.message.LineParser org.apache.http.params.HttpParams
StackMap stack: org.apache.http.impl.io.AbstractMessageParser org.apache.http.message.LineParser
7: putfield org.apache.http.impl.io.AbstractMessageParser.lineParser:Lorg/apache/http/message/LineParser;
8: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.http.impl.io.AbstractMessageParser.headerLines:Ljava/util/List;
9: aload 0
iconst_0
putfield org.apache.http.impl.io.AbstractMessageParser.state:I
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/http/impl/io/AbstractMessageParser<TT;>;
0 11 1 buffer Lorg/apache/http/io/SessionInputBuffer;
0 11 2 parser Lorg/apache/http/message/LineParser;
0 11 3 params Lorg/apache/http/params/HttpParams;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
buffer final
parser final
params final
public void <init>(org.apache.http.io.SessionInputBuffer, org.apache.http.message.LineParser, org.apache.http.config.MessageConstraints);
descriptor: (Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/message/LineParser;Lorg/apache/http/config/MessageConstraints;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
ldc "Session input buffer"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.apache.http.io.SessionInputBuffer
putfield org.apache.http.impl.io.AbstractMessageParser.sessionBuffer:Lorg/apache/http/io/SessionInputBuffer;
2: aload 0
aload 2
ifnull 3
aload 2
goto 4
StackMap locals: org.apache.http.impl.io.AbstractMessageParser org.apache.http.io.SessionInputBuffer org.apache.http.message.LineParser org.apache.http.config.MessageConstraints
StackMap stack: org.apache.http.impl.io.AbstractMessageParser
3: getstatic org.apache.http.message.BasicLineParser.INSTANCE:Lorg/apache/http/message/BasicLineParser;
StackMap locals: org.apache.http.impl.io.AbstractMessageParser org.apache.http.io.SessionInputBuffer org.apache.http.message.LineParser org.apache.http.config.MessageConstraints
StackMap stack: org.apache.http.impl.io.AbstractMessageParser org.apache.http.message.LineParser
4: putfield org.apache.http.impl.io.AbstractMessageParser.lineParser:Lorg/apache/http/message/LineParser;
5: aload 0
aload 3
ifnull 6
aload 3
goto 7
StackMap locals:
StackMap stack: org.apache.http.impl.io.AbstractMessageParser
6: getstatic org.apache.http.config.MessageConstraints.DEFAULT:Lorg/apache/http/config/MessageConstraints;
StackMap locals: org.apache.http.impl.io.AbstractMessageParser org.apache.http.io.SessionInputBuffer org.apache.http.message.LineParser org.apache.http.config.MessageConstraints
StackMap stack: org.apache.http.impl.io.AbstractMessageParser org.apache.http.config.MessageConstraints
7: putfield org.apache.http.impl.io.AbstractMessageParser.messageConstraints:Lorg/apache/http/config/MessageConstraints;
8: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.http.impl.io.AbstractMessageParser.headerLines:Ljava/util/List;
9: aload 0
iconst_0
putfield org.apache.http.impl.io.AbstractMessageParser.state:I
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/http/impl/io/AbstractMessageParser<TT;>;
0 11 1 buffer Lorg/apache/http/io/SessionInputBuffer;
0 11 2 lineParser Lorg/apache/http/message/LineParser;
0 11 3 constraints Lorg/apache/http/config/MessageConstraints;
MethodParameters:
Name Flags
buffer final
lineParser final
constraints final
public static org.apache.http.Header[] (org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser);
descriptor: (Lorg/apache/http/io/SessionInputBuffer;IILorg/apache/http/message/LineParser;)[Lorg/apache/http/Header;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 1: aload 0
iload 1
iload 2
2: aload 3
ifnull 3
aload 3
goto 4
StackMap locals: org.apache.http.io.SessionInputBuffer int int org.apache.http.message.LineParser java.util.List
StackMap stack: org.apache.http.io.SessionInputBuffer int int
3: getstatic org.apache.http.message.BasicLineParser.INSTANCE:Lorg/apache/http/message/BasicLineParser;
4: StackMap locals: org.apache.http.io.SessionInputBuffer int int org.apache.http.message.LineParser java.util.List
StackMap stack: org.apache.http.io.SessionInputBuffer int int org.apache.http.message.LineParser
aload 4
5: invokestatic org.apache.http.impl.io.AbstractMessageParser.parseHeaders:(Lorg/apache/http/io/SessionInputBuffer;IILorg/apache/http/message/LineParser;Ljava/util/List;)[Lorg/apache/http/Header;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 inBuffer Lorg/apache/http/io/SessionInputBuffer;
0 6 1 maxHeaderCount I
0 6 2 maxLineLen I
0 6 3 parser Lorg/apache/http/message/LineParser;
1 6 4 headerLines Ljava/util/List<Lorg/apache/http/util/CharArrayBuffer;>;
Exceptions:
throws org.apache.http.HttpException, java.io.IOException
MethodParameters:
Name Flags
inBuffer final
maxHeaderCount final
maxLineLen final
parser final
public static org.apache.http.Header[] parseHeaders(org.apache.http.io.SessionInputBuffer, int, int, org.apache.http.message.LineParser, java.util.List<org.apache.http.util.CharArrayBuffer>);
descriptor: (Lorg/apache/http/io/SessionInputBuffer;IILorg/apache/http/message/LineParser;Ljava/util/List;)[Lorg/apache/http/Header;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ldc "Session input buffer"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 3
ldc "Line parser"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 4
ldc "Header line list"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aconst_null
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: StackMap locals: org.apache.http.util.CharArrayBuffer org.apache.http.util.CharArrayBuffer
StackMap stack:
aload 5
ifnonnull 8
6: new org.apache.http.util.CharArrayBuffer
dup
bipush 64
invokespecial org.apache.http.util.CharArrayBuffer.<init>:(I)V
astore 5
7: goto 9
8: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.apache.http.util.CharArrayBuffer.clear:()V
9: StackMap locals:
StackMap stack:
aload 0
aload 5
invokeinterface org.apache.http.io.SessionInputBuffer.readLine:(Lorg/apache/http/util/CharArrayBuffer;)I
istore 7
start local 7 10: iload 7
iconst_m1
if_icmpeq 32
aload 5
invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
iconst_1
if_icmpge 12
11: goto 32
12: StackMap locals: int
StackMap stack:
aload 5
iconst_0
invokevirtual org.apache.http.util.CharArrayBuffer.charAt:(I)C
bipush 32
if_icmpeq 13
aload 5
iconst_0
invokevirtual org.apache.http.util.CharArrayBuffer.charAt:(I)C
bipush 9
if_icmpne 27
StackMap locals:
StackMap stack:
13: aload 6
ifnull 27
14: iconst_0
istore 8
start local 8 15: goto 20
16: StackMap locals: int
StackMap stack:
aload 5
iload 8
invokevirtual org.apache.http.util.CharArrayBuffer.charAt:(I)C
istore 9
start local 9 17: iload 9
bipush 32
if_icmpeq 19
iload 9
bipush 9
if_icmpeq 19
18: goto 21
19: StackMap locals: int
StackMap stack:
iinc 8 1
end local 9 20: StackMap locals:
StackMap stack:
iload 8
aload 5
invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
if_icmplt 16
21: StackMap locals:
StackMap stack:
iload 2
ifle 24
22: aload 6
invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
iconst_1
iadd
aload 5
invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
iadd
iload 8
isub
iload 2
if_icmple 24
23: new org.apache.http.MessageConstraintException
dup
ldc "Maximum line length limit exceeded"
invokespecial org.apache.http.MessageConstraintException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 6
bipush 32
invokevirtual org.apache.http.util.CharArrayBuffer.append:(C)V
25: aload 6
aload 5
iload 8
aload 5
invokevirtual org.apache.http.util.CharArrayBuffer.length:()I
iload 8
isub
invokevirtual org.apache.http.util.CharArrayBuffer.append:(Lorg/apache/http/util/CharArrayBuffer;II)V
end local 8 26: goto 30
27: StackMap locals:
StackMap stack:
aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
28: aload 5
astore 6
29: aconst_null
astore 5
30: StackMap locals:
StackMap stack:
iload 1
ifle 5
aload 4
invokeinterface java.util.List.size:()I
iload 1
if_icmplt 5
31: new org.apache.http.MessageConstraintException
dup
ldc "Maximum header count exceeded"
invokespecial org.apache.http.MessageConstraintException.<init>:(Ljava/lang/String;)V
athrow
end local 7 32: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.List.size:()I
anewarray org.apache.http.Header
astore 7
start local 7 33: iconst_0
istore 8
start local 8 34: goto 41
35: StackMap locals: org.apache.http.Header[] int
StackMap stack:
aload 4
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.http.util.CharArrayBuffer
astore 9
start local 9 36: aload 7
iload 8
aload 3
aload 9
invokeinterface org.apache.http.message.LineParser.parseHeader:(Lorg/apache/http/util/CharArrayBuffer;)Lorg/apache/http/Header;
aastore
37: goto 40
StackMap locals: org.apache.http.io.SessionInputBuffer int int org.apache.http.message.LineParser java.util.List org.apache.http.util.CharArrayBuffer org.apache.http.util.CharArrayBuffer org.apache.http.Header[] int org.apache.http.util.CharArrayBuffer
StackMap stack: org.apache.http.ParseException
38: astore 10
start local 10 39: new org.apache.http.ProtocolException
dup
aload 10
invokevirtual org.apache.http.ParseException.getMessage:()Ljava/lang/String;
invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 10 end local 9 40: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
41: iload 8
aload 4
invokeinterface java.util.List.size:()I
if_icmplt 35
end local 8 42: aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 inBuffer Lorg/apache/http/io/SessionInputBuffer;
0 43 1 maxHeaderCount I
0 43 2 maxLineLen I
0 43 3 parser Lorg/apache/http/message/LineParser;
0 43 4 headerLines Ljava/util/List<Lorg/apache/http/util/CharArrayBuffer;>;
4 43 5 current Lorg/apache/http/util/CharArrayBuffer;
5 43 6 previous Lorg/apache/http/util/CharArrayBuffer;
10 32 7 readLen I
15 26 8 i I
17 20 9 ch C
33 43 7 headers [Lorg/apache/http/Header;
34 42 8 i I
36 40 9 buffer Lorg/apache/http/util/CharArrayBuffer;
39 40 10 ex Lorg/apache/http/ParseException;
Exception table:
from to target type
36 37 38 Class org.apache.http.ParseException
Exceptions:
throws org.apache.http.HttpException, java.io.IOException
Signature: (Lorg/apache/http/io/SessionInputBuffer;IILorg/apache/http/message/LineParser;Ljava/util/List<Lorg/apache/http/util/CharArrayBuffer;>;)[Lorg/apache/http/Header;
MethodParameters:
Name Flags
inBuffer final
maxHeaderCount final
maxLineLen final
parser final
headerLines final
protected abstract T parseHead(org.apache.http.io.SessionInputBuffer);
descriptor: (Lorg/apache/http/io/SessionInputBuffer;)Lorg/apache/http/HttpMessage;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException, org.apache.http.HttpException, org.apache.http.ParseException
Signature: (Lorg/apache/http/io/SessionInputBuffer;)TT;
MethodParameters:
Name Flags
sessionBuffer
public T parse();
descriptor: ()Lorg/apache/http/HttpMessage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.state:I
istore 1
start local 1 1: iload 1
tableswitch { // 0 - 1
0: 2
1: 7
default: 19
}
2: StackMap locals: int
StackMap stack:
aload 0
aload 0
aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.sessionBuffer:Lorg/apache/http/io/SessionInputBuffer;
invokevirtual org.apache.http.impl.io.AbstractMessageParser.parseHead:(Lorg/apache/http/io/SessionInputBuffer;)Lorg/apache/http/HttpMessage;
putfield org.apache.http.impl.io.AbstractMessageParser.message:Lorg/apache/http/HttpMessage;
3: goto 6
StackMap locals:
StackMap stack: org.apache.http.ParseException
4: astore 2
start local 2 5: new org.apache.http.ProtocolException
dup
aload 2
invokevirtual org.apache.http.ParseException.getMessage:()Ljava/lang/String;
aload 2
invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 6: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.apache.http.impl.io.AbstractMessageParser.state:I
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.sessionBuffer:Lorg/apache/http/io/SessionInputBuffer;
8: aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.messageConstraints:Lorg/apache/http/config/MessageConstraints;
invokevirtual org.apache.http.config.MessageConstraints.getMaxHeaderCount:()I
9: aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.messageConstraints:Lorg/apache/http/config/MessageConstraints;
invokevirtual org.apache.http.config.MessageConstraints.getMaxLineLength:()I
10: aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.lineParser:Lorg/apache/http/message/LineParser;
11: aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.headerLines:Ljava/util/List;
12: invokestatic org.apache.http.impl.io.AbstractMessageParser.parseHeaders:(Lorg/apache/http/io/SessionInputBuffer;IILorg/apache/http/message/LineParser;Ljava/util/List;)[Lorg/apache/http/Header;
astore 2
start local 2 13: aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.message:Lorg/apache/http/HttpMessage;
aload 2
invokeinterface org.apache.http.HttpMessage.setHeaders:([Lorg/apache/http/Header;)V
14: aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.message:Lorg/apache/http/HttpMessage;
astore 3
start local 3 15: aload 0
aconst_null
putfield org.apache.http.impl.io.AbstractMessageParser.message:Lorg/apache/http/HttpMessage;
16: aload 0
getfield org.apache.http.impl.io.AbstractMessageParser.headerLines:Ljava/util/List;
invokeinterface java.util.List.clear:()V
17: aload 0
iconst_0
putfield org.apache.http.impl.io.AbstractMessageParser.state:I
18: aload 3
areturn
end local 3 end local 2 19: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Inconsistent parser state"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/http/impl/io/AbstractMessageParser<TT;>;
1 20 1 st I
5 6 2 px Lorg/apache/http/ParseException;
13 19 2 headers [Lorg/apache/http/Header;
15 19 3 result TT;
Exception table:
from to target type
2 3 4 Class org.apache.http.ParseException
Exceptions:
throws java.io.IOException, org.apache.http.HttpException
Signature: ()TT;
}
Signature: <T::Lorg/apache/http/HttpMessage;>Ljava/lang/Object;Lorg/apache/http/io/HttpMessageParser<TT;>;
SourceFile: "AbstractMessageParser.java"