q.smali

.class public final Lcom/squareup/okhttp/internal/http/q;
.super Ljava/lang/Object;
.source "HttpEngine.java"

# interfaces
.implements Lcom/squareup/okhttp/v;


# instance fields
.field private bAJ:I

.field private synthetic bAK:Lcom/squareup/okhttp/internal/http/p;

.field private final index:I


# direct methods
.method public constructor <init>(Lcom/squareup/okhttp/internal/http/p;I)V
    .registers 3

    .prologue
    .line 657
    iput-object p1, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 658
    iput p2, p0, Lcom/squareup/okhttp/internal/http/q;->index:I

    .line 660
    return-void
.end method


# virtual methods
.method public final a(Lcom/squareup/okhttp/y;)Lcom/squareup/okhttp/ab;
    .registers 8

    .prologue
    const/4 v4, 0x1

    .line 671
    iget v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAJ:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAJ:I

    .line 673
    iget v0, p0, Lcom/squareup/okhttp/internal/http/q;->index:I

    if-lez v0, :cond_7b

    .line 674
    iget-object v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    iget-object v0, v0, Lcom/squareup/okhttp/internal/http/p;->client:Lcom/squareup/okhttp/x;

    .line 1556
    iget-object v0, v0, Lcom/squareup/okhttp/x;->bwY:Ljava/util/List;

    .line 674
    iget v1, p0, Lcom/squareup/okhttp/internal/http/q;->index:I

    add-int/lit8 v1, v1, -0x1

    invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/squareup/okhttp/u;

    .line 1663
    iget-object v1, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    iget-object v1, v1, Lcom/squareup/okhttp/internal/http/p;->bzW:Lcom/squareup/okhttp/internal/http/z;

    invoke-virtual {v1}, Lcom/squareup/okhttp/internal/http/z;->Id()Lcom/squareup/okhttp/internal/a/a;

    move-result-object v1

    .line 675
    invoke-interface {v1}, Lcom/squareup/okhttp/k;->GH()Lcom/squareup/okhttp/ae;

    move-result-object v1

    .line 2055
    iget-object v1, v1, Lcom/squareup/okhttp/ae;->bxw:Lcom/squareup/okhttp/a;

    .line 3048
    iget-object v2, p1, Lcom/squareup/okhttp/y;->bvL:Lcom/squareup/okhttp/HttpUrl;

    .line 3391
    iget-object v2, v2, Lcom/squareup/okhttp/HttpUrl;->zu:Ljava/lang/String;

    .line 4100
    iget-object v3, v1, Lcom/squareup/okhttp/a;->bvL:Lcom/squareup/okhttp/HttpUrl;

    .line 4391
    iget-object v3, v3, Lcom/squareup/okhttp/HttpUrl;->zu:Ljava/lang/String;

    .line 678
    invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_41

    .line 5048
    iget-object v2, p1, Lcom/squareup/okhttp/y;->bvL:Lcom/squareup/okhttp/HttpUrl;

    .line 5400
    iget v2, v2, Lcom/squareup/okhttp/HttpUrl;->port:I

    .line 6111
    iget-object v1, v1, Lcom/squareup/okhttp/a;->bvL:Lcom/squareup/okhttp/HttpUrl;

    .line 6400
    iget v1, v1, Lcom/squareup/okhttp/HttpUrl;->port:I

    .line 679
    if-eq v2, v1, :cond_5c

    .line 680
    :cond_41
    new-instance v1, Ljava/lang/IllegalStateException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "network interceptor "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, " must retain the same host and port"

    invoke-virtual {v0, v2}, 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-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 685
    :cond_5c
    iget v1, p0, Lcom/squareup/okhttp/internal/http/q;->bAJ:I

    if-le v1, v4, :cond_7b

    .line 686
    new-instance v1, Ljava/lang/IllegalStateException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "network interceptor "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, " must call proceed() exactly once"

    invoke-virtual {v0, v2}, 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-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 691
    :cond_7b
    iget v0, p0, Lcom/squareup/okhttp/internal/http/q;->index:I

    iget-object v1, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    iget-object v1, v1, Lcom/squareup/okhttp/internal/http/p;->client:Lcom/squareup/okhttp/x;

    .line 6556
    iget-object v1, v1, Lcom/squareup/okhttp/x;->bwY:Ljava/util/List;

    .line 691
    invoke-interface {v1}, Ljava/util/List;->size()I

    move-result v1

    if-ge v0, v1, :cond_e4

    .line 693
    new-instance v2, Lcom/squareup/okhttp/internal/http/q;

    iget-object v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    iget v1, p0, Lcom/squareup/okhttp/internal/http/q;->index:I

    add-int/lit8 v1, v1, 0x1

    invoke-direct {v2, v0, v1}, Lcom/squareup/okhttp/internal/http/q;-><init>(Lcom/squareup/okhttp/internal/http/p;I)V

    .line 694
    iget-object v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    iget-object v0, v0, Lcom/squareup/okhttp/internal/http/p;->client:Lcom/squareup/okhttp/x;

    .line 7556
    iget-object v0, v0, Lcom/squareup/okhttp/x;->bwY:Ljava/util/List;

    .line 694
    iget v1, p0, Lcom/squareup/okhttp/internal/http/q;->index:I

    invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/squareup/okhttp/u;

    .line 695
    invoke-interface {v0}, Lcom/squareup/okhttp/u;->GW()Lcom/squareup/okhttp/ab;

    move-result-object v1

    .line 698
    iget v2, v2, Lcom/squareup/okhttp/internal/http/q;->bAJ:I

    if-eq v2, v4, :cond_c5

    .line 699
    new-instance v1, Ljava/lang/IllegalStateException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "network interceptor "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, " must call proceed() exactly once"

    invoke-virtual {v0, v2}, 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-direct {v1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v1

    .line 702
    :cond_c5
    if-nez v1, :cond_e2

    .line 703
    new-instance v1, Ljava/lang/NullPointerException;

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "network interceptor "

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, " returned null"

    invoke-virtual {v0, v2}, 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-direct {v1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    throw v1

    :cond_e2
    move-object v0, v1

    .line 730
    :cond_e3
    return-object v0

    .line 710
    :cond_e4
    iget-object v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    invoke-static {v0}, Lcom/squareup/okhttp/internal/http/p;->b(Lcom/squareup/okhttp/internal/http/p;)Lcom/squareup/okhttp/internal/http/s;

    move-result-object v0

    invoke-interface {v0, p1}, Lcom/squareup/okhttp/internal/http/s;->d(Lcom/squareup/okhttp/y;)V

    .line 713
    iget-object v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    invoke-static {v0, p1}, Lcom/squareup/okhttp/internal/http/p;->a(Lcom/squareup/okhttp/internal/http/p;Lcom/squareup/okhttp/y;)Lcom/squareup/okhttp/y;

    .line 715
    invoke-static {p1}, Lcom/squareup/okhttp/internal/http/p;->f(Lcom/squareup/okhttp/y;)Z

    move-result v0

    if-eqz v0, :cond_10f

    .line 8086
    iget-object v0, p1, Lcom/squareup/okhttp/y;->bxk:Lcom/squareup/okhttp/aa;

    .line 715
    if-eqz v0, :cond_10f

    .line 716
    iget-object v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    invoke-static {v0}, Lcom/squareup/okhttp/internal/http/p;->b(Lcom/squareup/okhttp/internal/http/p;)Lcom/squareup/okhttp/internal/http/s;

    move-result-object v0

    const-wide/16 v2, -0x1

    invoke-interface {v0, p1, v2, v3}, Lcom/squareup/okhttp/internal/http/s;->a(Lcom/squareup/okhttp/y;J)Lokio/r;

    move-result-object v0

    .line 717
    invoke-static {v0}, Lokio/m;->c(Lokio/r;)Lokio/e;

    move-result-object v0

    .line 719
    invoke-interface {v0}, Lokio/e;->close()V

    .line 722
    :cond_10f
    iget-object v0, p0, Lcom/squareup/okhttp/internal/http/q;->bAK:Lcom/squareup/okhttp/internal/http/p;

    invoke-static {v0}, Lcom/squareup/okhttp/internal/http/p;->c(Lcom/squareup/okhttp/internal/http/p;)Lcom/squareup/okhttp/ab;

    move-result-object v0

    .line 8088
    iget v1, v0, Lcom/squareup/okhttp/ab;->code:I

    .line 725
    const/16 v2, 0xcc

    if-eq v1, v2, :cond_11f

    const/16 v2, 0xcd

    if-ne v1, v2, :cond_e3

    .line 8130
    :cond_11f
    iget-object v2, v0, Lcom/squareup/okhttp/ab;->bxs:Lcom/squareup/okhttp/ad;

    .line 725
    invoke-virtual {v2}, Lcom/squareup/okhttp/ad;->contentLength()J

    move-result-wide v2

    const-wide/16 v4, 0x0

    cmp-long v2, v2, v4

    if-lez v2, :cond_e3

    .line 726
    new-instance v2, Ljava/net/ProtocolException;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "HTTP "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v3, " had non-zero Content-Length: "

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    .line 9130
    iget-object v0, v0, Lcom/squareup/okhttp/ab;->bxs:Lcom/squareup/okhttp/ad;

    .line 727
    invoke-virtual {v0}, Lcom/squareup/okhttp/ad;->contentLength()J

    move-result-wide v4

    invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v2, v0}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V

    throw v2
.end method