f.smali
.class public final Lokhttp3/internal/http2/f;
.super Ljava/lang/Object;
.source "Http2Codec.java"
# interfaces
.implements Lokhttp3/internal/b/d;
# static fields
.field private static final bAe:Lokio/ByteString;
.field private static final bAf:Lokio/ByteString;
.field private static final bAg:Lokio/ByteString;
.field private static final bAh:Lokio/ByteString;
.field private static final bAi:Lokio/ByteString;
.field private static final bAj:Lokio/ByteString;
.field private static final bAk:Lokio/ByteString;
.field private static final bAl:Lokio/ByteString;
.field private static final bAo:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lokio/ByteString;",
">;"
}
.end annotation
.end field
.field private static final bAp:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Lokio/ByteString;",
">;"
}
.end annotation
.end field
# instance fields
.field private final bXK:Lokhttp3/ac;
.field private final bXL:Lokhttp3/internal/http2/h;
.field private bXM:Lokhttp3/internal/http2/p;
.field final bXx:Lokhttp3/internal/connection/g;
# direct methods
.method static constructor <clinit>()V
.registers 8
.prologue
const/4 v7, 0x4
const/4 v6, 0x3
const/4 v5, 0x2
const/4 v4, 0x1
const/4 v3, 0x0
.line 55
const-string v0, "connection"
invoke-static {v0}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAe:Lokio/ByteString;
.line 56
const-string v0, "host"
invoke-static {v0}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAf:Lokio/ByteString;
.line 57
const-string v0, "keep-alive"
invoke-static {v0}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAg:Lokio/ByteString;
.line 58
const-string v0, "proxy-connection"
invoke-static {v0}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAh:Lokio/ByteString;
.line 59
const-string v0, "transfer-encoding"
invoke-static {v0}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAi:Lokio/ByteString;
.line 60
const-string v0, "te"
invoke-static {v0}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAj:Lokio/ByteString;
.line 61
const-string v0, "encoding"
invoke-static {v0}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAk:Lokio/ByteString;
.line 62
const-string v0, "upgrade"
invoke-static {v0}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAl:Lokio/ByteString;
.line 65
const/16 v0, 0xc
new-array v0, v0, [Lokio/ByteString;
sget-object v1, Lokhttp3/internal/http2/f;->bAe:Lokio/ByteString;
aput-object v1, v0, v3
sget-object v1, Lokhttp3/internal/http2/f;->bAf:Lokio/ByteString;
aput-object v1, v0, v4
sget-object v1, Lokhttp3/internal/http2/f;->bAg:Lokio/ByteString;
aput-object v1, v0, v5
sget-object v1, Lokhttp3/internal/http2/f;->bAh:Lokio/ByteString;
aput-object v1, v0, v6
sget-object v1, Lokhttp3/internal/http2/f;->bAj:Lokio/ByteString;
aput-object v1, v0, v7
const/4 v1, 0x5
sget-object v2, Lokhttp3/internal/http2/f;->bAi:Lokio/ByteString;
aput-object v2, v0, v1
const/4 v1, 0x6
sget-object v2, Lokhttp3/internal/http2/f;->bAk:Lokio/ByteString;
aput-object v2, v0, v1
const/4 v1, 0x7
sget-object v2, Lokhttp3/internal/http2/f;->bAl:Lokio/ByteString;
aput-object v2, v0, v1
const/16 v1, 0x8
sget-object v2, Lokhttp3/internal/http2/a;->byO:Lokio/ByteString;
aput-object v2, v0, v1
const/16 v1, 0x9
sget-object v2, Lokhttp3/internal/http2/a;->byP:Lokio/ByteString;
aput-object v2, v0, v1
const/16 v1, 0xa
sget-object v2, Lokhttp3/internal/http2/a;->byQ:Lokio/ByteString;
aput-object v2, v0, v1
const/16 v1, 0xb
sget-object v2, Lokhttp3/internal/http2/a;->byR:Lokio/ByteString;
aput-object v2, v0, v1
invoke-static {v0}, Lokhttp3/internal/c;->h([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAo:Ljava/util/List;
.line 78
const/16 v0, 0x8
new-array v0, v0, [Lokio/ByteString;
sget-object v1, Lokhttp3/internal/http2/f;->bAe:Lokio/ByteString;
aput-object v1, v0, v3
sget-object v1, Lokhttp3/internal/http2/f;->bAf:Lokio/ByteString;
aput-object v1, v0, v4
sget-object v1, Lokhttp3/internal/http2/f;->bAg:Lokio/ByteString;
aput-object v1, v0, v5
sget-object v1, Lokhttp3/internal/http2/f;->bAh:Lokio/ByteString;
aput-object v1, v0, v6
sget-object v1, Lokhttp3/internal/http2/f;->bAj:Lokio/ByteString;
aput-object v1, v0, v7
const/4 v1, 0x5
sget-object v2, Lokhttp3/internal/http2/f;->bAi:Lokio/ByteString;
aput-object v2, v0, v1
const/4 v1, 0x6
sget-object v2, Lokhttp3/internal/http2/f;->bAk:Lokio/ByteString;
aput-object v2, v0, v1
const/4 v1, 0x7
sget-object v2, Lokhttp3/internal/http2/f;->bAl:Lokio/ByteString;
aput-object v2, v0, v1
invoke-static {v0}, Lokhttp3/internal/c;->h([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
sput-object v0, Lokhttp3/internal/http2/f;->bAp:Ljava/util/List;
return-void
.end method
.method public constructor <init>(Lokhttp3/ac;Lokhttp3/internal/connection/g;Lokhttp3/internal/http2/h;)V
.registers 4
.prologue
.line 95
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 97
iput-object p1, p0, Lokhttp3/internal/http2/f;->bXK:Lokhttp3/ac;
.line 98
iput-object p2, p0, Lokhttp3/internal/http2/f;->bXx:Lokhttp3/internal/connection/g;
.line 99
iput-object p3, p0, Lokhttp3/internal/http2/f;->bXL:Lokhttp3/internal/http2/h;
.line 100
return-void
.end method
# virtual methods
.method public final HP()V
.registers 2
.prologue
.line 121
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
invoke-virtual {v0}, Lokhttp3/internal/http2/p;->Ht()Lokio/r;
move-result-object v0
invoke-interface {v0}, Lokio/r;->close()V
.line 122
return-void
.end method
.method public final RL()V
.registers 2
.prologue
.line 117
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXL:Lokhttp3/internal/http2/h;
.line 7411
iget-object v0, v0, Lokhttp3/internal/http2/h;->bXV:Lokhttp3/internal/http2/t;
invoke-virtual {v0}, Lokhttp3/internal/http2/t;->flush()V
.line 118
return-void
.end method
.method public final a(Lokhttp3/al;J)Lokio/r;
.registers 5
.prologue
.line 103
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
invoke-virtual {v0}, Lokhttp3/internal/http2/p;->Ht()Lokio/r;
move-result-object v0
return-object v0
.end method
.method public final bm(Z)Lokhttp3/ap;
.registers 13
.prologue
const/16 v9, 0x64
const/4 v2, 0x0
.line 125
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
invoke-virtual {v0}, Lokhttp3/internal/http2/p;->RR()Ljava/util/List;
move-result-object v5
.line 8157
new-instance v1, Lokhttp3/aa;
invoke-direct {v1}, Lokhttp3/aa;-><init>()V
.line 8158
const/4 v0, 0x0
invoke-interface {v5}, Ljava/util/List;->size()I
move-result v6
move v4, v0
move-object v3, v2
:goto_15
if-ge v4, v6, :cond_6c
.line 8159
invoke-interface {v5, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lokhttp3/internal/http2/a;
.line 8163
if-nez v0, :cond_31
.line 8164
if-eqz v3, :cond_69
iget v0, v3, Lokhttp3/internal/b/l;->code:I
if-ne v0, v9, :cond_69
.line 8166
new-instance v0, Lokhttp3/aa;
invoke-direct {v0}, Lokhttp3/aa;-><init>()V
move-object v1, v2
.line 8158
:goto_2b
add-int/lit8 v3, v4, 0x1
move v4, v3
move-object v3, v1
move-object v1, v0
goto :goto_15
.line 8171
:cond_31
iget-object v7, v0, Lokhttp3/internal/http2/a;->byU:Lokio/ByteString;
.line 8172
iget-object v0, v0, Lokhttp3/internal/http2/a;->byV:Lokio/ByteString;
invoke-virtual {v0}, Lokio/ByteString;->utf8()Ljava/lang/String;
move-result-object v0
.line 8173
sget-object v8, Lokhttp3/internal/http2/a;->byN:Lokio/ByteString;
invoke-virtual {v7, v8}, Lokio/ByteString;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_58
.line 8174
new-instance v3, Ljava/lang/StringBuilder;
const-string v7, "HTTP/1.1 "
invoke-direct {v3, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lokhttp3/internal/b/l;->hQ(Ljava/lang/String;)Lokhttp3/internal/b/l;
move-result-object v0
move-object v10, v1
move-object v1, v0
move-object v0, v10
goto :goto_2b
.line 8175
:cond_58
sget-object v8, Lokhttp3/internal/http2/f;->bAp:Ljava/util/List;
invoke-interface {v8, v7}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v8
if-nez v8, :cond_69
.line 8176
sget-object v8, Lokhttp3/internal/a;->bWW:Lokhttp3/internal/a;
invoke-virtual {v7}, Lokio/ByteString;->utf8()Ljava/lang/String;
move-result-object v7
invoke-virtual {v8, v1, v7, v0}, Lokhttp3/internal/a;->a(Lokhttp3/aa;Ljava/lang/String;Ljava/lang/String;)V
:cond_69
move-object v0, v1
move-object v1, v3
goto :goto_2b
.line 8179
:cond_6c
if-nez v3, :cond_76
new-instance v0, Ljava/net/ProtocolException;
const-string v1, "Expected \':status\' header not present"
invoke-direct {v0, v1}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw v0
.line 8181
:cond_76
new-instance v0, Lokhttp3/ap;
invoke-direct {v0}, Lokhttp3/ap;-><init>()V
sget-object v4, Lokhttp3/Protocol;->HTTP_2:Lokhttp3/Protocol;
.line 8337
iput-object v4, v0, Lokhttp3/ap;->bWJ:Lokhttp3/Protocol;
.line 8182
iget v4, v3, Lokhttp3/internal/b/l;->code:I
.line 8342
iput v4, v0, Lokhttp3/ap;->code:I
.line 8183
iget-object v3, v3, Lokhttp3/internal/b/l;->message:Ljava/lang/String;
.line 8347
iput-object v3, v0, Lokhttp3/ap;->message:Ljava/lang/String;
.line 8185
invoke-virtual {v1}, Lokhttp3/aa;->Rf()Lokhttp3/z;
move-result-object v1
invoke-virtual {v0, v1}, Lokhttp3/ap;->c(Lokhttp3/z;)Lokhttp3/ap;
move-result-object v0
.line 127
if-eqz p1, :cond_9a
sget-object v1, Lokhttp3/internal/a;->bWW:Lokhttp3/internal/a;
invoke-virtual {v1, v0}, Lokhttp3/internal/a;->a(Lokhttp3/ap;)I
move-result v1
if-ne v1, v9, :cond_9a
.line 130
:goto_99
return-object v2
:cond_9a
move-object v2, v0
goto :goto_99
.end method
.method public final c(Lokhttp3/al;)V
.registers 10
.prologue
const/4 v1, 0x0
.line 107
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
if-eqz v0, :cond_6
.line 114
:goto_5
return-void
.line 1066
:cond_6
iget-object v0, p1, Lokhttp3/al;->body:Lokhttp3/an;
.line 109
if-eqz v0, :cond_81
const/4 v0, 0x1
.line 2054
:goto_b
iget-object v2, p1, Lokhttp3/al;->headers:Lokhttp3/z;
.line 1135
new-instance v3, Ljava/util/ArrayList;
.line 2077
iget-object v4, v2, Lokhttp3/z;->bwJ:[Ljava/lang/String;
array-length v4, v4
div-int/lit8 v4, v4, 0x2
.line 1135
add-int/lit8 v4, v4, 0x4
invoke-direct {v3, v4}, Ljava/util/ArrayList;-><init>(I)V
.line 1136
new-instance v4, Lokhttp3/internal/http2/a;
sget-object v5, Lokhttp3/internal/http2/a;->byO:Lokio/ByteString;
.line 3050
iget-object v6, p1, Lokhttp3/al;->method:Ljava/lang/String;
.line 1136
invoke-direct {v4, v5, v6}, Lokhttp3/internal/http2/a;-><init>(Lokio/ByteString;Ljava/lang/String;)V
invoke-interface {v3, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1137
new-instance v4, Lokhttp3/internal/http2/a;
sget-object v5, Lokhttp3/internal/http2/a;->byP:Lokio/ByteString;
.line 4046
iget-object v6, p1, Lokhttp3/al;->bUW:Lokhttp3/HttpUrl;
.line 1137
invoke-static {v6}, Lokhttp3/internal/b/j;->e(Lokhttp3/HttpUrl;)Ljava/lang/String;
move-result-object v6
invoke-direct {v4, v5, v6}, Lokhttp3/internal/http2/a;-><init>(Lokio/ByteString;Ljava/lang/String;)V
invoke-interface {v3, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1138
const-string v4, "Host"
invoke-virtual {p1, v4}, Lokhttp3/al;->gd(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
.line 1139
if-eqz v4, :cond_47
.line 1140
new-instance v5, Lokhttp3/internal/http2/a;
sget-object v6, Lokhttp3/internal/http2/a;->byR:Lokio/ByteString;
invoke-direct {v5, v6, v4}, Lokhttp3/internal/http2/a;-><init>(Lokio/ByteString;Ljava/lang/String;)V
invoke-interface {v3, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1142
:cond_47
new-instance v4, Lokhttp3/internal/http2/a;
sget-object v5, Lokhttp3/internal/http2/a;->byQ:Lokio/ByteString;
.line 5046
iget-object v6, p1, Lokhttp3/al;->bUW:Lokhttp3/HttpUrl;
.line 5393
iget-object v6, v6, Lokhttp3/HttpUrl;->bwm:Ljava/lang/String;
.line 1142
invoke-direct {v4, v5, v6}, Lokhttp3/internal/http2/a;-><init>(Lokio/ByteString;Ljava/lang/String;)V
invoke-interface {v3, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 6077
iget-object v4, v2, Lokhttp3/z;->bwJ:[Ljava/lang/String;
array-length v4, v4
div-int/lit8 v4, v4, 0x2
.line 1144
:goto_5a
if-ge v1, v4, :cond_83
.line 1146
invoke-virtual {v2, v1}, Lokhttp3/z;->name(I)Ljava/lang/String;
move-result-object v5
sget-object v6, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-virtual {v5, v6}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v5
invoke-static {v5}, Lokio/ByteString;->encodeUtf8(Ljava/lang/String;)Lokio/ByteString;
move-result-object v5
.line 1147
sget-object v6, Lokhttp3/internal/http2/f;->bAo:Ljava/util/List;
invoke-interface {v6, v5}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_7e
.line 1148
new-instance v6, Lokhttp3/internal/http2/a;
invoke-virtual {v2, v1}, Lokhttp3/z;->eo(I)Ljava/lang/String;
move-result-object v7
invoke-direct {v6, v5, v7}, Lokhttp3/internal/http2/a;-><init>(Lokio/ByteString;Ljava/lang/String;)V
invoke-interface {v3, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1144
:cond_7e
add-int/lit8 v1, v1, 0x1
goto :goto_5a
:cond_81
move v0, v1
.line 109
goto :goto_b
.line 111
:cond_83
iget-object v1, p0, Lokhttp3/internal/http2/f;->bXL:Lokhttp3/internal/http2/h;
.line 6222
invoke-virtual {v1, v3, v0}, Lokhttp3/internal/http2/h;->f(Ljava/util/List;Z)Lokhttp3/internal/http2/p;
move-result-object v0
.line 111
iput-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
.line 112
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
.line 7191
iget-object v0, v0, Lokhttp3/internal/http2/p;->bYn:Lokhttp3/internal/http2/s;
.line 112
iget-object v1, p0, Lokhttp3/internal/http2/f;->bXK:Lokhttp3/ac;
invoke-interface {v1}, Lokhttp3/ac;->Rk()I
move-result v1
int-to-long v2, v1
sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v2, v3, v1}, Lokio/t;->e(JLjava/util/concurrent/TimeUnit;)Lokio/t;
.line 113
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
.line 7195
iget-object v0, v0, Lokhttp3/internal/http2/p;->bYo:Lokhttp3/internal/http2/s;
.line 113
iget-object v1, p0, Lokhttp3/internal/http2/f;->bXK:Lokhttp3/ac;
invoke-interface {v1}, Lokhttp3/ac;->Rl()I
move-result v1
int-to-long v2, v1
sget-object v1, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v0, v2, v3, v1}, Lokio/t;->e(JLjava/util/concurrent/TimeUnit;)Lokio/t;
goto/16 :goto_5
.end method
.method public final cancel()V
.registers 3
.prologue
.line 197
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
if-eqz v0, :cond_b
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
sget-object v1, Lokhttp3/internal/http2/ErrorCode;->CANCEL:Lokhttp3/internal/http2/ErrorCode;
invoke-virtual {v0, v1}, Lokhttp3/internal/http2/p;->c(Lokhttp3/internal/http2/ErrorCode;)V
.line 198
:cond_b
return-void
.end method
.method public final e(Lokhttp3/ao;)Lokhttp3/aq;
.registers 7
.prologue
.line 189
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXx:Lokhttp3/internal/connection/g;
iget-object v0, v0, Lokhttp3/internal/connection/g;->bWy:Lokhttp3/u;
iget-object v0, p0, Lokhttp3/internal/http2/f;->bXx:Lokhttp3/internal/connection/g;
iget-object v0, v0, Lokhttp3/internal/connection/g;->bXp:Lokhttp3/f;
invoke-static {}, Lokhttp3/u;->QY()V
.line 190
const-string v0, "Content-Type"
invoke-virtual {p1, v0}, Lokhttp3/ao;->gd(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 191
invoke-static {p1}, Lokhttp3/internal/b/f;->f(Lokhttp3/ao;)J
move-result-wide v2
.line 192
new-instance v1, Lokhttp3/internal/http2/g;
iget-object v4, p0, Lokhttp3/internal/http2/f;->bXM:Lokhttp3/internal/http2/p;
.line 9200
iget-object v4, v4, Lokhttp3/internal/http2/p;->bYl:Lokhttp3/internal/http2/r;
.line 192
invoke-direct {v1, p0, v4}, Lokhttp3/internal/http2/g;-><init>(Lokhttp3/internal/http2/f;Lokio/s;)V
.line 193
new-instance v4, Lokhttp3/internal/b/i;
invoke-static {v1}, Lokio/m;->b(Lokio/s;)Lokio/f;
move-result-object v1
invoke-direct {v4, v0, v2, v3, v1}, Lokhttp3/internal/b/i;-><init>(Ljava/lang/String;JLokio/f;)V
return-object v4
.end method