StatusLine.smali
.class public final Lokhttp3/internal/http/StatusLine;
.super Ljava/lang/Object;
.source "StatusLine.java"
# static fields
.field public static final HTTP_CONTINUE:I
.field public static final HTTP_PERM_REDIRECT:I
.field public static final HTTP_TEMP_REDIRECT:I
# instance fields
.field public final code:I
.field public final message:Ljava/lang/String;
.field public final protocol:Lokhttp3/Protocol;
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0x150b
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lokhttp3/internal/http/StatusLine;->HTTP_CONTINUE:I
const v0, 0x145b
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lokhttp3/internal/http/StatusLine;->HTTP_PERM_REDIRECT:I
const v0, 0x145c
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lokhttp3/internal/http/StatusLine;->HTTP_TEMP_REDIRECT:I
return-void
.end method
.method public constructor <init>(Lokhttp3/Protocol;ILjava/lang/String;)V
.registers 4
.param p1, "protocol" # Lokhttp3/Protocol;
.param p2, "code" # I
.param p3, "message" # Ljava/lang/String;
.line 34
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 35
iput-object p1, p0, Lokhttp3/internal/http/StatusLine;->protocol:Lokhttp3/Protocol;
.line 36
iput p2, p0, Lokhttp3/internal/http/StatusLine;->code:I
.line 37
iput-object p3, p0, Lokhttp3/internal/http/StatusLine;->message:Ljava/lang/String;
.line 38
return-void
.end method
.method public static get(Lokhttp3/Response;)Lokhttp3/internal/http/StatusLine;
.registers 5
.param p0, "response" # Lokhttp3/Response;
.line 41
new-instance v0, Lokhttp3/internal/http/StatusLine;
invoke-virtual {p0}, Lokhttp3/Response;->protocol()Lokhttp3/Protocol;
move-result-object v1
invoke-virtual {p0}, Lokhttp3/Response;->code()I
move-result v2
invoke-virtual {p0}, Lokhttp3/Response;->message()Ljava/lang/String;
move-result-object v3
invoke-direct {v0, v1, v2, v3}, Lokhttp3/internal/http/StatusLine;-><init>(Lokhttp3/Protocol;ILjava/lang/String;)V
return-object v0
.end method
.method public static parse(Ljava/lang/String;)Lokhttp3/internal/http/StatusLine;
.registers 9
.param p0, "statusLine" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 51
const-string v0, "HTTP/1."
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
const/16 v1, 0x20
const-string v2, "Unexpected status line: "
if-eqz v0, :cond_5a
.line 52
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/16 v3, 0x9
if-lt v0, v3, :cond_45
const/16 v0, 0x8
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
if-ne v0, v1, :cond_45
.line 55
const/4 v0, 0x7
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v0
add-int/lit8 v0, v0, -0x30
.line 56
.local v0, "httpMinorVersion":I
const/16 v3, 0x9
.line 57
.local v3, "codeStart":I
if-nez v0, :cond_2a
.line 58
sget-object v4, Lokhttp3/Protocol;->HTTP_1_0:Lokhttp3/Protocol;
.local v4, "protocol":Lokhttp3/Protocol;
goto :goto_2f
.line 59
.end local v4 # "protocol":Lokhttp3/Protocol;
:cond_2a
const/4 v4, 0x1
if-ne v0, v4, :cond_30
.line 60
sget-object v4, Lokhttp3/Protocol;->HTTP_1_1:Lokhttp3/Protocol;
.line 64
.end local v0 # "httpMinorVersion":I
.restart local v4 # "protocol":Lokhttp3/Protocol;
:goto_2f
goto :goto_65
.line 62
.end local v4 # "protocol":Lokhttp3/Protocol;
.restart local v0 # "httpMinorVersion":I
:cond_30
new-instance v1, Ljava/net/ProtocolException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw v1
.line 53
.end local v0 # "httpMinorVersion":I
.end local v3 # "codeStart":I
:cond_45
new-instance v0, Ljava/net/ProtocolException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw v0
.line 64
:cond_5a
const-string v0, "ICY "
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_d7
.line 66
sget-object v4, Lokhttp3/Protocol;->HTTP_1_0:Lokhttp3/Protocol;
.line 67
.restart local v4 # "protocol":Lokhttp3/Protocol;
const/4 v3, 0x4
.line 73
.restart local v3 # "codeStart":I
:goto_65
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
add-int/lit8 v5, v3, 0x3
if-lt v0, v5, :cond_c2
.line 78
add-int/lit8 v0, v3, 0x3
:try_start_6f
invoke-virtual {p0, v3, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
:try_end_77
.catch Ljava/lang/NumberFormatException; {:try_start_6f .. :try_end_77} :catch_ac
.line 81
.local v0, "code":I
nop
.line 85
const-string v5, ""
.line 86
.local v5, "message":Ljava/lang/String;
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v6
add-int/lit8 v7, v3, 0x3
if-le v6, v7, :cond_a6
.line 87
add-int/lit8 v6, v3, 0x3
invoke-virtual {p0, v6}, Ljava/lang/String;->charAt(I)C
move-result v6
if-ne v6, v1, :cond_91
.line 90
add-int/lit8 v1, v3, 0x4
invoke-virtual {p0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v5
goto :goto_a6
.line 88
:cond_91
new-instance v1, Ljava/net/ProtocolException;
new-instance v6, Ljava/lang/StringBuilder;
invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw v1
.line 93
:cond_a6
:goto_a6
new-instance v1, Lokhttp3/internal/http/StatusLine;
invoke-direct {v1, v4, v0, v5}, Lokhttp3/internal/http/StatusLine;-><init>(Lokhttp3/Protocol;ILjava/lang/String;)V
return-object v1
.line 79
.end local v0 # "code":I
.end local v5 # "message":Ljava/lang/String;
:catch_ac
move-exception v0
.line 80
.local v0, "e":Ljava/lang/NumberFormatException;
new-instance v1, Ljava/net/ProtocolException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw v1
.line 74
.end local v0 # "e":Ljava/lang/NumberFormatException;
:cond_c2
new-instance v0, Ljava/net/ProtocolException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw v0
.line 69
.end local v3 # "codeStart":I
.end local v4 # "protocol":Lokhttp3/Protocol;
:cond_d7
new-instance v0, Ljava/net/ProtocolException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/net/ProtocolException;-><init>(Ljava/lang/String;)V
throw v0
.end method
# virtual methods
.method public toString()Ljava/lang/String;
.registers 4
.line 97
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 98
.local v0, "result":Ljava/lang/StringBuilder;
iget-object v1, p0, Lokhttp3/internal/http/StatusLine;->protocol:Lokhttp3/Protocol;
sget-object v2, Lokhttp3/Protocol;->HTTP_1_0:Lokhttp3/Protocol;
if-ne v1, v2, :cond_e
const-string v1, "HTTP/1.0"
goto :goto_10
:cond_e
const-string v1, "HTTP/1.1"
:goto_10
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 99
const/16 v1, 0x20
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget v2, p0, Lokhttp3/internal/http/StatusLine;->code:I
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 100
iget-object v2, p0, Lokhttp3/internal/http/StatusLine;->message:Ljava/lang/String;
if-eqz v2, :cond_29
.line 101
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
iget-object v1, p0, Lokhttp3/internal/http/StatusLine;->message:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 103
:cond_29
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
return-object v1
.end method