public class org.apache.http.impl.entity.StrictContentLengthStrategy implements org.apache.http.entity.ContentLengthStrategy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.http.impl.entity.StrictContentLengthStrategy
super_class: java.lang.Object
{
public static final org.apache.http.impl.entity.StrictContentLengthStrategy INSTANCE;
descriptor: Lorg/apache/http/impl/entity/StrictContentLengthStrategy;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final int implicitLen;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.apache.http.impl.entity.StrictContentLengthStrategy
dup
invokespecial org.apache.http.impl.entity.StrictContentLengthStrategy.<init>:()V
putstatic org.apache.http.impl.entity.StrictContentLengthStrategy.INSTANCE:Lorg/apache/http/impl/entity/StrictContentLengthStrategy;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iload 1
putfield org.apache.http.impl.entity.StrictContentLengthStrategy.implicitLen:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/http/impl/entity/StrictContentLengthStrategy;
0 3 1 implicitLen I
MethodParameters:
Name Flags
implicitLen final
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_m1
invokespecial org.apache.http.impl.entity.StrictContentLengthStrategy.<init>:(I)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/http/impl/entity/StrictContentLengthStrategy;
public long determineLength(org.apache.http.HttpMessage);
descriptor: (Lorg/apache/http/HttpMessage;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
ldc "HTTP message"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 1
ldc "Transfer-Encoding"
invokeinterface org.apache.http.HttpMessage.getFirstHeader:(Ljava/lang/String;)Lorg/apache/http/Header;
astore 2
start local 2 2: aload 2
ifnull 17
3: aload 2
invokeinterface org.apache.http.Header.getValue:()Ljava/lang/String;
astore 3
start local 3 4: ldc "chunked"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 12
5: aload 1
invokeinterface org.apache.http.HttpMessage.getProtocolVersion:()Lorg/apache/http/ProtocolVersion;
getstatic org.apache.http.HttpVersion.HTTP_1_0:Lorg/apache/http/HttpVersion;
invokevirtual org.apache.http.ProtocolVersion.lessEquals:(Lorg/apache/http/ProtocolVersion;)Z
ifeq 11
6: new org.apache.http.ProtocolException
dup
7: new java.lang.StringBuilder
dup
ldc "Chunked transfer encoding not allowed for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
8: aload 1
invokeinterface org.apache.http.HttpMessage.getProtocolVersion:()Lorg/apache/http/ProtocolVersion;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: org.apache.http.Header java.lang.String
StackMap stack:
ldc -2
lreturn
12: StackMap locals:
StackMap stack:
ldc "identity"
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 14
13: ldc -1
lreturn
14: StackMap locals:
StackMap stack:
new org.apache.http.ProtocolException
dup
15: new java.lang.StringBuilder
dup
ldc "Unsupported transfer encoding: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 3 17: StackMap locals:
StackMap stack:
aload 1
ldc "Content-Length"
invokeinterface org.apache.http.HttpMessage.getFirstHeader:(Ljava/lang/String;)Lorg/apache/http/Header;
astore 3
start local 3 18: aload 3
ifnull 27
19: aload 3
invokeinterface org.apache.http.Header.getValue:()Ljava/lang/String;
astore 4
start local 4 20: aload 4
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
lstore 5
start local 5 21: lload 5
lconst_0
lcmp
ifge 23
22: new org.apache.http.ProtocolException
dup
new java.lang.StringBuilder
dup
ldc "Negative content length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals: org.apache.http.Header java.lang.String long
StackMap stack:
lload 5
24: lreturn
end local 5 25: StackMap locals: org.apache.http.impl.entity.StrictContentLengthStrategy org.apache.http.HttpMessage org.apache.http.Header org.apache.http.Header java.lang.String
StackMap stack: java.lang.NumberFormatException
pop
26: new org.apache.http.ProtocolException
dup
new java.lang.StringBuilder
dup
ldc "Invalid content length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 4 27: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.http.impl.entity.StrictContentLengthStrategy.implicitLen:I
i2l
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/http/impl/entity/StrictContentLengthStrategy;
0 28 1 message Lorg/apache/http/HttpMessage;
2 28 2 transferEncodingHeader Lorg/apache/http/Header;
4 17 3 s Ljava/lang/String;
18 28 3 contentLengthHeader Lorg/apache/http/Header;
20 27 4 s Ljava/lang/String;
21 25 5 len J
Exception table:
from to target type
20 24 25 Class java.lang.NumberFormatException
Exceptions:
throws org.apache.http.HttpException
MethodParameters:
Name Flags
message final
}
SourceFile: "StrictContentLengthStrategy.java"
RuntimeInvisibleAnnotations:
org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE:Lorg/apache/http/annotation/ThreadingBehavior;)