Exchange.smali
.class public final Lokhttp3/internal/connection/Exchange;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lokhttp3/internal/connection/Exchange$RequestBodySink;,
Lokhttp3/internal/connection/Exchange$ResponseBodySource;
}
.end annotation
# instance fields
.field private a:Z
.field private final b:Lokhttp3/internal/connection/RealConnection;
.field private final c:Lokhttp3/internal/connection/RealCall;
.field private final d:Lokhttp3/EventListener;
.field private final e:Lokhttp3/internal/connection/ExchangeFinder;
.field private final f:Lokhttp3/internal/http/ExchangeCodec;
# direct methods
.method public constructor <init>(Lokhttp3/internal/connection/RealCall;Lokhttp3/EventListener;Lokhttp3/internal/connection/ExchangeFinder;Lokhttp3/internal/http/ExchangeCodec;)V
.registers 6
const-string v0, "call"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "eventListener"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "finder"
invoke-static {p3, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "codec"
invoke-static {p4, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
iput-object p2, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iput-object p3, p0, Lokhttp3/internal/connection/Exchange;->e:Lokhttp3/internal/connection/ExchangeFinder;
iput-object p4, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {p4}, Lokhttp3/internal/http/ExchangeCodec;->b()Lokhttp3/internal/connection/RealConnection;
move-result-object p1
iput-object p1, p0, Lokhttp3/internal/connection/Exchange;->b:Lokhttp3/internal/connection/RealConnection;
return-void
.end method
.method private final s(Ljava/io/IOException;)V
.registers 4
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->e:Lokhttp3/internal/connection/ExchangeFinder;
invoke-virtual {v0, p1}, Lokhttp3/internal/connection/ExchangeFinder;->i(Ljava/io/IOException;)V
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v0}, Lokhttp3/internal/http/ExchangeCodec;->b()Lokhttp3/internal/connection/RealConnection;
move-result-object v0
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p1}, Lokhttp3/internal/connection/RealConnection;->H(Lokhttp3/internal/connection/RealCall;Ljava/io/IOException;)V
return-void
.end method
# virtual methods
.method public final a(JZZLjava/io/IOException;)Ljava/io/IOException;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/io/IOException;",
">(JZZTE;)TE;"
}
.end annotation
if-eqz p5, :cond_5
invoke-direct {p0, p5}, Lokhttp3/internal/connection/Exchange;->s(Ljava/io/IOException;)V
:cond_5
if-eqz p4, :cond_18
if-eqz p5, :cond_11
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p5}, Lokhttp3/EventListener;->s(Lokhttp3/Call;Ljava/io/IOException;)V
goto :goto_18
:cond_11
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p1, p2}, Lokhttp3/EventListener;->q(Lokhttp3/Call;J)V
:cond_18
:goto_18
if-eqz p3, :cond_2b
if-eqz p5, :cond_24
iget-object p1, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object p2, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {p1, p2, p5}, Lokhttp3/EventListener;->x(Lokhttp3/Call;Ljava/io/IOException;)V
goto :goto_2b
:cond_24
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p1, p2}, Lokhttp3/EventListener;->v(Lokhttp3/Call;J)V
:cond_2b
:goto_2b
iget-object p1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {p1, p0, p4, p3, p5}, Lokhttp3/internal/connection/RealCall;->w(Lokhttp3/internal/connection/Exchange;ZZLjava/io/IOException;)Ljava/io/IOException;
move-result-object p1
return-object p1
.end method
.method public final b()V
.registers 2
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v0}, Lokhttp3/internal/http/ExchangeCodec;->cancel()V
return-void
.end method
.method public final c(Lokhttp3/Request;Z)Lokio/Sink;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "request"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
iput-boolean p2, p0, Lokhttp3/internal/connection/Exchange;->a:Z
invoke-virtual {p1}, Lokhttp3/Request;->a()Lokhttp3/RequestBody;
move-result-object p2
if-eqz p2, :cond_24
invoke-virtual {p2}, Lokhttp3/RequestBody;->a()J
move-result-wide v0
iget-object p2, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v2, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {p2, v2}, Lokhttp3/EventListener;->r(Lokhttp3/Call;)V
iget-object p2, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {p2, p1, v0, v1}, Lokhttp3/internal/http/ExchangeCodec;->h(Lokhttp3/Request;J)Lokio/Sink;
move-result-object p1
new-instance p2, Lokhttp3/internal/connection/Exchange$RequestBodySink;
invoke-direct {p2, p0, p1, v0, v1}, Lokhttp3/internal/connection/Exchange$RequestBodySink;-><init>(Lokhttp3/internal/connection/Exchange;Lokio/Sink;J)V
return-object p2
:cond_24
invoke-static {}, Lkotlin/jvm/internal/Intrinsics;->h()V
const/4 p1, 0x0
throw p1
.end method
.method public final d()V
.registers 4
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v0}, Lokhttp3/internal/http/ExchangeCodec;->cancel()V
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
const/4 v1, 0x1
const/4 v2, 0x0
invoke-virtual {v0, p0, v1, v1, v2}, Lokhttp3/internal/connection/RealCall;->w(Lokhttp3/internal/connection/Exchange;ZZLjava/io/IOException;)Ljava/io/IOException;
return-void
.end method
.method public final e()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v0}, Lokhttp3/internal/http/ExchangeCodec;->a()V
:try_end_5
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_5} :catch_6
return-void
:catch_6
move-exception v0
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v2, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v1, v2, v0}, Lokhttp3/EventListener;->s(Lokhttp3/Call;Ljava/io/IOException;)V
invoke-direct {p0, v0}, Lokhttp3/internal/connection/Exchange;->s(Ljava/io/IOException;)V
throw v0
.end method
.method public final f()V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v0}, Lokhttp3/internal/http/ExchangeCodec;->f()V
:try_end_5
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_5} :catch_6
return-void
:catch_6
move-exception v0
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v2, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v1, v2, v0}, Lokhttp3/EventListener;->s(Lokhttp3/Call;Ljava/io/IOException;)V
invoke-direct {p0, v0}, Lokhttp3/internal/connection/Exchange;->s(Ljava/io/IOException;)V
throw v0
.end method
.method public final g()Lokhttp3/internal/connection/RealCall;
.registers 2
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
return-object v0
.end method
.method public final h()Lokhttp3/internal/connection/RealConnection;
.registers 2
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->b:Lokhttp3/internal/connection/RealConnection;
return-object v0
.end method
.method public final i()Lokhttp3/EventListener;
.registers 2
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
return-object v0
.end method
.method public final j()Lokhttp3/internal/connection/ExchangeFinder;
.registers 2
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->e:Lokhttp3/internal/connection/ExchangeFinder;
return-object v0
.end method
.method public final k()Z
.registers 3
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->e:Lokhttp3/internal/connection/ExchangeFinder;
invoke-virtual {v0}, Lokhttp3/internal/connection/ExchangeFinder;->e()Lokhttp3/Address;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/Address;->l()Lokhttp3/HttpUrl;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/HttpUrl;->i()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->b:Lokhttp3/internal/connection/RealConnection;
invoke-virtual {v1}, Lokhttp3/internal/connection/RealConnection;->z()Lokhttp3/Route;
move-result-object v1
invoke-virtual {v1}, Lokhttp3/Route;->a()Lokhttp3/Address;
move-result-object v1
invoke-virtual {v1}, Lokhttp3/Address;->l()Lokhttp3/HttpUrl;
move-result-object v1
invoke-virtual {v1}, Lokhttp3/HttpUrl;->i()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lkotlin/jvm/internal/Intrinsics;->a(Ljava/lang/Object;Ljava/lang/Object;)Z
move-result v0
xor-int/lit8 v0, v0, 0x1
return v0
.end method
.method public final l()Z
.registers 2
iget-boolean v0, p0, Lokhttp3/internal/connection/Exchange;->a:Z
return v0
.end method
.method public final m()V
.registers 2
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v0}, Lokhttp3/internal/http/ExchangeCodec;->b()Lokhttp3/internal/connection/RealConnection;
move-result-object v0
invoke-virtual {v0}, Lokhttp3/internal/connection/RealConnection;->y()V
return-void
.end method
.method public final n()V
.registers 5
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
const/4 v1, 0x1
const/4 v2, 0x0
const/4 v3, 0x0
invoke-virtual {v0, p0, v1, v2, v3}, Lokhttp3/internal/connection/RealCall;->w(Lokhttp3/internal/connection/Exchange;ZZLjava/io/IOException;)Ljava/io/IOException;
return-void
.end method
.method public final o(Lokhttp3/Response;)Lokhttp3/ResponseBody;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "response"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
:try_start_5
const-string v0, "Content-Type"
const/4 v1, 0x2
const/4 v2, 0x0
invoke-static {p1, v0, v2, v1, v2}, Lokhttp3/Response;->o(Lokhttp3/Response;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v1, p1}, Lokhttp3/internal/http/ExchangeCodec;->g(Lokhttp3/Response;)J
move-result-wide v1
iget-object v3, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v3, p1}, Lokhttp3/internal/http/ExchangeCodec;->d(Lokhttp3/Response;)Lokio/Source;
move-result-object p1
new-instance v3, Lokhttp3/internal/connection/Exchange$ResponseBodySource;
invoke-direct {v3, p0, p1, v1, v2}, Lokhttp3/internal/connection/Exchange$ResponseBodySource;-><init>(Lokhttp3/internal/connection/Exchange;Lokio/Source;J)V
new-instance p1, Lokhttp3/internal/http/RealResponseBody;
invoke-static {v3}, Lokio/Okio;->d(Lokio/Source;)Lokio/BufferedSource;
move-result-object v3
invoke-direct {p1, v0, v1, v2, v3}, Lokhttp3/internal/http/RealResponseBody;-><init>(Ljava/lang/String;JLokio/BufferedSource;)V
:try_end_27
.catch Ljava/io/IOException; {:try_start_5 .. :try_end_27} :catch_28
return-object p1
:catch_28
move-exception p1
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p1}, Lokhttp3/EventListener;->x(Lokhttp3/Call;Ljava/io/IOException;)V
invoke-direct {p0, p1}, Lokhttp3/internal/connection/Exchange;->s(Ljava/io/IOException;)V
throw p1
.end method
.method public final p(Z)Lokhttp3/Response$Builder;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
:try_start_0
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v0, p1}, Lokhttp3/internal/http/ExchangeCodec;->e(Z)Lokhttp3/Response$Builder;
move-result-object p1
if-eqz p1, :cond_b
invoke-virtual {p1, p0}, Lokhttp3/Response$Builder;->l(Lokhttp3/internal/connection/Exchange;)V
:try_end_b
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_b} :catch_c
:cond_b
return-object p1
:catch_c
move-exception p1
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p1}, Lokhttp3/EventListener;->x(Lokhttp3/Call;Ljava/io/IOException;)V
invoke-direct {p0, p1}, Lokhttp3/internal/connection/Exchange;->s(Ljava/io/IOException;)V
throw p1
.end method
.method public final q(Lokhttp3/Response;)V
.registers 4
const-string v0, "response"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p1}, Lokhttp3/EventListener;->y(Lokhttp3/Call;Lokhttp3/Response;)V
return-void
.end method
.method public final r()V
.registers 3
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1}, Lokhttp3/EventListener;->z(Lokhttp3/Call;)V
return-void
.end method
.method public final t(Lokhttp3/Request;)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-string v0, "request"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->c(Ljava/lang/Object;Ljava/lang/String;)V
:try_start_5
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1}, Lokhttp3/EventListener;->u(Lokhttp3/Call;)V
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->f:Lokhttp3/internal/http/ExchangeCodec;
invoke-interface {v0, p1}, Lokhttp3/internal/http/ExchangeCodec;->c(Lokhttp3/Request;)V
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p1}, Lokhttp3/EventListener;->t(Lokhttp3/Call;Lokhttp3/Request;)V
:try_end_18
.catch Ljava/io/IOException; {:try_start_5 .. :try_end_18} :catch_19
return-void
:catch_19
move-exception p1
iget-object v0, p0, Lokhttp3/internal/connection/Exchange;->d:Lokhttp3/EventListener;
iget-object v1, p0, Lokhttp3/internal/connection/Exchange;->c:Lokhttp3/internal/connection/RealCall;
invoke-virtual {v0, v1, p1}, Lokhttp3/EventListener;->s(Lokhttp3/Call;Ljava/io/IOException;)V
invoke-direct {p0, p1}, Lokhttp3/internal/connection/Exchange;->s(Ljava/io/IOException;)V
throw p1
.end method