class okhttp3.internal.http1.Http1Codec$ChunkedSource extends okhttp3.internal.http1.Http1Codec$AbstractSource
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: okhttp3.internal.http1.Http1Codec$ChunkedSource
super_class: okhttp3.internal.http1.Http1Codec$AbstractSource
{
private static final long NO_CHUNK_YET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
private final okhttp3.HttpUrl url;
descriptor: Lokhttp3/HttpUrl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long bytesRemainingInChunk;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean hasMoreChunks;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
final okhttp3.internal.http1.Http1Codec this$0;
descriptor: Lokhttp3/internal/http1/Http1Codec;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(okhttp3.internal.http1.Http1Codec, okhttp3.HttpUrl);
descriptor: (Lokhttp3/internal/http1/Http1Codec;Lokhttp3/HttpUrl;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield okhttp3.internal.http1.Http1Codec$ChunkedSource.this$0:Lokhttp3/internal/http1/Http1Codec;
aload 0
aload 1
invokespecial okhttp3.internal.http1.Http1Codec$AbstractSource.<init>:(Lokhttp3/internal/http1/Http1Codec;)V
1: aload 0
ldc -1
putfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
2: aload 0
iconst_1
putfield okhttp3.internal.http1.Http1Codec$ChunkedSource.hasMoreChunks:Z
3: aload 0
aload 2
putfield okhttp3.internal.http1.Http1Codec$ChunkedSource.url:Lokhttp3/HttpUrl;
4: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/http1/Http1Codec$ChunkedSource;
0 5 2 url Lokhttp3/HttpUrl;
MethodParameters:
Name Flags
this$0 final
url
public long read(okio.Buffer, long);
descriptor: (Lokio/Buffer;J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: lload 2
lconst_0
lcmp
ifge 1
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "byteCount < 0: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.closed:Z
ifeq 2
new java.lang.IllegalStateException
dup
ldc "closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.hasMoreChunks:Z
ifne 3
ldc -1
lreturn
3: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
lconst_0
lcmp
ifeq 4
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
ldc -1
lcmp
ifne 6
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual okhttp3.internal.http1.Http1Codec$ChunkedSource.readChunkSize:()V
5: aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.hasMoreChunks:Z
ifne 6
ldc -1
lreturn
6: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
invokestatic java.lang.Math.min:(JJ)J
invokespecial okhttp3.internal.http1.Http1Codec$AbstractSource.read:(Lokio/Buffer;J)J
lstore 4
start local 4 7: lload 4
ldc -1
lcmp
ifne 11
8: new java.net.ProtocolException
dup
ldc "unexpected end of stream"
invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 9: aload 0
iconst_0
aload 6
invokevirtual okhttp3.internal.http1.Http1Codec$ChunkedSource.endOfInput:(ZLjava/io/IOException;)V
10: aload 6
athrow
end local 6 11: StackMap locals: long
StackMap stack:
aload 0
dup
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
lload 4
lsub
putfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
12: lload 4
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lokhttp3/internal/http1/Http1Codec$ChunkedSource;
0 13 1 sink Lokio/Buffer;
0 13 2 byteCount J
7 13 4 read J
9 11 6 e Ljava/net/ProtocolException;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sink
byteCount
private void readChunkSize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
ldc -1
lcmp
ifeq 2
1: aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.this$0:Lokhttp3/internal/http1/Http1Codec;
getfield okhttp3.internal.http1.Http1Codec.source:Lokio/BufferedSource;
invokeinterface okio.BufferedSource.readUtf8LineStrict:()Ljava/lang/String;
pop
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.this$0:Lokhttp3/internal/http1/Http1Codec;
getfield okhttp3.internal.http1.Http1Codec.source:Lokio/BufferedSource;
invokeinterface okio.BufferedSource.readHexadecimalUnsignedLong:()J
putfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
3: aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.this$0:Lokhttp3/internal/http1/Http1Codec;
getfield okhttp3.internal.http1.Http1Codec.source:Lokio/BufferedSource;
invokeinterface okio.BufferedSource.readUtf8LineStrict:()Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 1
start local 1 4: aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
lconst_0
lcmp
iflt 5
aload 1
invokevirtual java.lang.String.isEmpty:()Z
ifne 10
aload 1
ldc ";"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 10
5: StackMap locals: java.lang.String
StackMap stack:
new java.net.ProtocolException
dup
new java.lang.StringBuilder
dup
ldc "expected chunk size and optional extensions but was \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
aload 1
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;
7: invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 1 8: StackMap locals: okhttp3.internal.http1.Http1Codec$ChunkedSource
StackMap stack: java.lang.NumberFormatException
astore 1
start local 1 9: new java.net.ProtocolException
dup
aload 1
invokevirtual java.lang.NumberFormatException.getMessage:()Ljava/lang/String;
invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
end local 1 10: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.bytesRemainingInChunk:J
lconst_0
lcmp
ifne 14
11: aload 0
iconst_0
putfield okhttp3.internal.http1.Http1Codec$ChunkedSource.hasMoreChunks:Z
12: aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.this$0:Lokhttp3/internal/http1/Http1Codec;
getfield okhttp3.internal.http1.Http1Codec.client:Lokhttp3/OkHttpClient;
invokevirtual okhttp3.OkHttpClient.cookieJar:()Lokhttp3/CookieJar;
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.url:Lokhttp3/HttpUrl;
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.this$0:Lokhttp3/internal/http1/Http1Codec;
invokevirtual okhttp3.internal.http1.Http1Codec.readHeaders:()Lokhttp3/Headers;
invokestatic okhttp3.internal.http.HttpHeaders.receiveHeaders:(Lokhttp3/CookieJar;Lokhttp3/HttpUrl;Lokhttp3/Headers;)V
13: aload 0
iconst_1
aconst_null
invokevirtual okhttp3.internal.http1.Http1Codec$ChunkedSource.endOfInput:(ZLjava/io/IOException;)V
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lokhttp3/internal/http1/Http1Codec$ChunkedSource;
4 8 1 extensions Ljava/lang/String;
9 10 1 e Ljava/lang/NumberFormatException;
Exception table:
from to target type
2 8 8 Class java.lang.NumberFormatException
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.closed:Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http1.Http1Codec$ChunkedSource.hasMoreChunks:Z
ifeq 3
aload 0
bipush 100
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic okhttp3.internal.Util.discard:(Lokio/Source;ILjava/util/concurrent/TimeUnit;)Z
ifne 3
2: aload 0
iconst_0
aconst_null
invokevirtual okhttp3.internal.http1.Http1Codec$ChunkedSource.endOfInput:(ZLjava/io/IOException;)V
3: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield okhttp3.internal.http1.Http1Codec$ChunkedSource.closed:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/http1/Http1Codec$ChunkedSource;
Exceptions:
throws java.io.IOException
}
SourceFile: "Http1Codec.java"
NestHost: okhttp3.internal.http1.Http1Codec
InnerClasses:
private abstract AbstractSource = okhttp3.internal.http1.Http1Codec$AbstractSource of okhttp3.internal.http1.Http1Codec
private ChunkedSource = okhttp3.internal.http1.Http1Codec$ChunkedSource of okhttp3.internal.http1.Http1Codec