HttpConnection.smali
.class public Lcom/h/r/HttpConnection;
.super Ljava/lang/Object;
# instance fields
.field private mExecutor:Lcom/h/r/NetworkExecutor;
# direct methods
.method public constructor <init>(Lcom/h/r/NetworkExecutor;)V
.registers 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/h/r/HttpConnection;->mExecutor:Lcom/h/r/NetworkExecutor;
return-void
.end method
.method private createConnectionAndWriteData(Lcom/h/r/BasicRequest;)Lcom/h/r/Network;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/h/r/BasicRequest",
"<*>;)",
"Lcom/h/r/Network;"
}
.end annotation
const/4 v2, 0x0
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getRetryCount()I
move-result v0
add-int/lit8 v1, v0, 0x1
const/4 v0, 0x1
move v4, v1
move-object v3, v2
move-object v1, v2
:goto_b
if-eqz v0, :cond_19
if-lez v4, :cond_19
:try_start_f
invoke-direct {p0, p1}, Lcom/h/r/HttpConnection;->createNetwork(Lcom/h/r/BasicRequest;)Lcom/h/r/Network;
:try_end_12
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_12} :catch_2e
move-result-object v1
const/4 v0, 0x0
move-object v3, v1
move-object v1, v2
:goto_16
add-int/lit8 v4, v4, -0x1
goto :goto_b
:cond_19
if-eqz v0, :cond_1c
throw v1
:cond_1c
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getRequestMethod()Lcom/h/r/RequestMethod;
move-result-object v0
invoke-virtual {v0}, Lcom/h/r/RequestMethod;->allowRequestBody()Z
move-result v0
if-eqz v0, :cond_2d
invoke-interface {v3}, Lcom/h/r/Network;->getOutputStream()Ljava/io/OutputStream;
move-result-object v0
invoke-direct {p0, p1, v0}, Lcom/h/r/HttpConnection;->writeRequestBody(Lcom/h/r/BasicRequest;Ljava/io/OutputStream;)V
:cond_2d
return-object v3
:catch_2e
move-exception v1
goto :goto_16
.end method
.method private createNetwork(Lcom/h/r/BasicRequest;)Lcom/h/r/Network;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/h/r/BasicRequest",
"<*>;)",
"Lcom/h/r/Network;"
}
.end annotation
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->onPreExecute()V
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->url()Ljava/lang/String;
move-result-object v0
new-instance v1, Ljava/lang/StringBuilder;
const-string/jumbo v2, "Request address: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/h/r/Logger;->i(Ljava/lang/Object;)V
new-instance v1, Ljava/lang/StringBuilder;
const-string/jumbo v2, "Request method: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getRequestMethod()Lcom/h/r/RequestMethod;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/h/r/Logger;->i(Ljava/lang/Object;)V
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getHeaders()Lcom/h/r/Headers;
move-result-object v1
const-string/jumbo v2, "Content-Type"
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getContentType()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Lcom/h/r/Headers;->set(Ljava/lang/Object;Ljava/lang/Object;)V
const-string/jumbo v2, "Connection"
invoke-virtual {v1, v2}, Lcom/h/r/Headers;->getValues(Ljava/lang/String;)Ljava/util/List;
move-result-object v2
if-eqz v2, :cond_4e
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
if-nez v2, :cond_57
:cond_4e
const-string/jumbo v2, "Connection"
const-string/jumbo v3, "keep-alive"
invoke-virtual {v1, v2, v3}, Lcom/h/r/Headers;->add(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_57
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getRequestMethod()Lcom/h/r/RequestMethod;
move-result-object v2
invoke-virtual {v2}, Lcom/h/r/RequestMethod;->allowRequestBody()Z
move-result v2
if-eqz v2, :cond_6f
const-string/jumbo v2, "Content-Length"
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getContentLength()J
move-result-wide v4
invoke-static {v4, v5}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3}, Lcom/h/r/Headers;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_6f
new-instance v2, Ljava/net/URI;
invoke-direct {v2, v0}, Ljava/net/URI;-><init>(Ljava/lang/String;)V
invoke-static {}, Lcom/h/r/NoHttp;->getCookieManager()Ljava/net/CookieManager;
move-result-object v0
invoke-virtual {v1, v2, v0}, Lcom/h/r/Headers;->addCookie(Ljava/net/URI;Ljava/net/CookieHandler;)V
iget-object v0, p0, Lcom/h/r/HttpConnection;->mExecutor:Lcom/h/r/NetworkExecutor;
invoke-interface {v0, p1}, Lcom/h/r/NetworkExecutor;->execute(Lcom/h/r/BasicRequest;)Lcom/h/r/Network;
move-result-object v0
return-object v0
.end method
.method private handleRedirect(Lcom/h/r/BasicRequest;Lcom/h/r/Headers;)Lcom/h/r/Connection;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/h/r/BasicRequest",
"<*>;",
"Lcom/h/r/Headers;",
")",
"Lcom/h/r/Connection;"
}
.end annotation
const/4 v1, 0x0
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getRedirectHandler()Lcom/h/r/RedirectHandler;
move-result-object v0
if-eqz v0, :cond_107
invoke-interface {v0, p2}, Lcom/h/r/RedirectHandler;->isDisallowedRedirect(Lcom/h/r/Headers;)Z
move-result v2
if-eqz v2, :cond_13
new-instance v0, Lcom/h/r/Connection;
invoke-direct {v0, v1, p2, v1, v1}, Lcom/h/r/Connection;-><init>(Lcom/h/r/Network;Lcom/h/r/Headers;Ljava/io/InputStream;Ljava/lang/Exception;)V
:goto_12
return-object v0
:cond_13
invoke-interface {v0, p1, p2}, Lcom/h/r/RedirectHandler;->onRedirect(Lcom/h/r/BasicRequest;Lcom/h/r/Headers;)Lcom/h/r/BasicRequest;
move-result-object v0
:goto_17
if-nez v0, :cond_fe
invoke-virtual {p2}, Lcom/h/r/Headers;->getLocation()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/webkit/URLUtil;->isNetworkUrl(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_50
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->url()Ljava/lang/String;
move-result-object v1
:try_start_27
new-instance v2, Ljava/net/URL;
invoke-direct {v2, v1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2}, Ljava/net/URL;->getProtocol()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v3, "://"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v2}, Ljava/net/URL;->getHost()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
:try_end_4f
.catch Ljava/net/MalformedURLException; {:try_start_27 .. :try_end_4f} :catch_104
move-result-object v0
:cond_50
:goto_50
new-instance v2, Lcom/h/r/HttpConnection$1;
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getRequestMethod()Lcom/h/r/RequestMethod;
move-result-object v1
invoke-direct {v2, p0, v0, v1}, Lcom/h/r/HttpConnection$1;-><init>(Lcom/h/r/HttpConnection;Ljava/lang/String;Lcom/h/r/RequestMethod;)V
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getHeaders()Lcom/h/r/Headers;
move-result-object v0
invoke-virtual {v0}, Lcom/h/r/Headers;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_65
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_92
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v1, v0
check-cast v1, Ljava/util/Map$Entry;
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_82
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_65
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {v2, v0, v1}, Lcom/h/r/BasicRequest;->addHeader(Ljava/lang/String;Ljava/lang/String;)Lcom/h/r/BasicRequest;
goto :goto_82
:cond_92
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getParamKeyValues()Lcom/h/q/MultiValueMap;
move-result-object v0
invoke-interface {v0}, Lcom/h/q/MultiValueMap;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_9e
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_da
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:cond_ba
:goto_ba
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_9e
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
instance-of v5, v0, Ljava/lang/CharSequence;
if-eqz v5, :cond_d0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v1, v0}, Lcom/h/r/BasicRequest;->add(Ljava/lang/String;Ljava/lang/String;)Lcom/h/r/BasicRequest;
goto :goto_ba
:cond_d0
instance-of v5, v0, Lcom/h/r/Binary;
if-eqz v5, :cond_ba
check-cast v0, Lcom/h/r/Binary;
invoke-virtual {v2, v1, v0}, Lcom/h/r/BasicRequest;->add(Ljava/lang/String;Lcom/h/r/Binary;)Lcom/h/r/BasicRequest;
goto :goto_ba
:cond_da
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getRedirectHandler()Lcom/h/r/RedirectHandler;
move-result-object v0
invoke-virtual {v2, v0}, Lcom/h/r/BasicRequest;->setRedirectHandler(Lcom/h/r/RedirectHandler;)Lcom/h/r/BasicRequest;
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
move-result-object v0
invoke-virtual {v2, v0}, Lcom/h/r/BasicRequest;->setSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)Lcom/h/r/BasicRequest;
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
move-result-object v0
invoke-virtual {v2, v0}, Lcom/h/r/BasicRequest;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)Lcom/h/r/BasicRequest;
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getParamsEncoding()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Lcom/h/r/BasicRequest;->setParamsEncoding(Ljava/lang/String;)Lcom/h/r/BasicRequest;
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getProxy()Ljava/net/Proxy;
move-result-object v0
invoke-virtual {v2, v0}, Lcom/h/r/BasicRequest;->setProxy(Ljava/net/Proxy;)Lcom/h/r/BasicRequest;
move-object v0, v2
:cond_fe
invoke-virtual {p0, v0}, Lcom/h/r/HttpConnection;->getConnection(Lcom/h/r/BasicRequest;)Lcom/h/r/Connection;
move-result-object v0
goto/16 :goto_12
:catch_104
move-exception v1
goto/16 :goto_50
:cond_107
move-object v0, v1
goto/16 :goto_17
.end method
.method public static hasResponseBody(I)Z
.registers 2
const/16 v0, 0x64
if-gt v0, p0, :cond_8
const/16 v0, 0xc8
if-lt p0, v0, :cond_1a
:cond_8
const/16 v0, 0xcc
if-eq p0, v0, :cond_1a
const/16 v0, 0xcd
if-eq p0, v0, :cond_1a
const/16 v0, 0x12c
if-gt v0, p0, :cond_18
const/16 v0, 0x190
if-lt p0, v0, :cond_1a
:cond_18
const/4 v0, 0x1
:goto_19
return v0
:cond_1a
const/4 v0, 0x0
goto :goto_19
.end method
.method public static hasResponseBody(Lcom/h/r/RequestMethod;I)Z
.registers 3
sget-object v0, Lcom/h/r/RequestMethod;->HEAD:Lcom/h/r/RequestMethod;
if-eq p0, v0, :cond_c
invoke-static {p1}, Lcom/h/r/HttpConnection;->hasResponseBody(I)Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x1
:goto_b
return v0
:cond_c
const/4 v0, 0x0
goto :goto_b
.end method
.method private parseResponseHeaders(Ljava/net/URI;ILjava/util/Map;)Lcom/h/r/Headers;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/net/URI;",
"I",
"Ljava/util/Map",
"<",
"Ljava/lang/String;",
"Ljava/util/List",
"<",
"Ljava/lang/String;",
">;>;)",
"Lcom/h/r/Headers;"
}
.end annotation
:try_start_0
invoke-static {}, Lcom/h/r/NoHttp;->getInitializeConfig()Lcom/h/r/InitializationConfig;
move-result-object v0
invoke-virtual {v0}, Lcom/h/r/InitializationConfig;->getCookieManager()Ljava/net/CookieManager;
move-result-object v0
invoke-virtual {v0, p1, p3}, Ljava/net/CookieManager;->put(Ljava/net/URI;Ljava/util/Map;)V
:try_end_b
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_b} :catch_32
:goto_b
new-instance v2, Lcom/h/r/Headers;
invoke-direct {v2}, Lcom/h/r/Headers;-><init>()V
invoke-interface {p3}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_18
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_52
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-virtual {v2, v3, v0}, Lcom/h/r/Headers;->add(Ljava/lang/Object;Ljava/util/List;)V
goto :goto_18
:catch_32
move-exception v0
new-instance v1, Ljava/lang/StringBuilder;
const-string/jumbo v2, "Save cookie filed: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Ljava/net/URI;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string/jumbo v2, "."
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/h/r/Logger;->e(Ljava/lang/Throwable;Ljava/lang/String;)V
goto :goto_b
:cond_52
const-string/jumbo v0, "ResponseCode"
invoke-static {p2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v0, v1}, Lcom/h/r/Headers;->set(Ljava/lang/Object;Ljava/lang/Object;)V
invoke-virtual {v2}, Lcom/h/r/Headers;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_64
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_ab
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
move-object v1, v0
check-cast v1, Ljava/lang/String;
invoke-virtual {v2, v1}, Lcom/h/r/Headers;->getValues(Ljava/lang/String;)Ljava/util/List;
move-result-object v0
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_79
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_64
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v6
if-nez v6, :cond_9a
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v6
const-string/jumbo v7, ": "
invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_9a
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v6
if-nez v6, :cond_a3
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_a3
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/h/r/Logger;->i(Ljava/lang/Object;)V
goto :goto_79
:cond_ab
return-object v2
.end method
.method private writeRequestBody(Lcom/h/r/BasicRequest;Ljava/io/OutputStream;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/h/r/BasicRequest",
"<*>;",
"Ljava/io/OutputStream;",
")V"
}
.end annotation
const-string/jumbo v0, "-------Send request data start-------"
invoke-static {v0}, Lcom/h/r/Logger;->i(Ljava/lang/Object;)V
invoke-static {p2}, Lcom/h/q/IOUtils;->toBufferedOutputStream(Ljava/io/OutputStream;)Ljava/io/BufferedOutputStream;
move-result-object v0
invoke-virtual {p1, v0}, Lcom/h/r/BasicRequest;->onWriteRequestBody(Ljava/io/OutputStream;)V
invoke-static {v0}, Lcom/h/q/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
const-string/jumbo v0, "-------Send request data end-------"
invoke-static {v0}, Lcom/h/r/Logger;->i(Ljava/lang/Object;)V
return-void
.end method
# virtual methods
.method public getConnection(Lcom/h/r/BasicRequest;)Lcom/h/r/Connection;
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/h/r/BasicRequest",
"<*>;)",
"Lcom/h/r/Connection;"
}
.end annotation
const/4 v1, 0x0
const-string/jumbo v0, "--------------Request start--------------"
invoke-static {v0}, Lcom/h/r/Logger;->d(Ljava/lang/Object;)V
new-instance v3, Lcom/h/r/Headers;
invoke-direct {v3}, Lcom/h/r/Headers;-><init>()V
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->url()Ljava/lang/String;
move-result-object v5
:try_start_10
invoke-static {}, Lcom/h/q/NetUtils;->isNetworkAvailable()Z
move-result v0
if-nez v0, :cond_5e
new-instance v0, Lcom/h/n/NetworkError;
new-instance v2, Ljava/lang/StringBuilder;
const-string/jumbo v4, "The network is not available, please check the network. The requested url is: "
invoke-direct {v2, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2}, Lcom/h/n/NetworkError;-><init>(Ljava/lang/String;)V
throw v0
:try_end_2c
.catch Ljava/net/MalformedURLException; {:try_start_10 .. :try_end_2c} :catch_2c
.catch Ljava/net/UnknownHostException; {:try_start_10 .. :try_end_2c} :catch_cf
.catch Ljava/net/SocketTimeoutException; {:try_start_10 .. :try_end_2c} :catch_f7
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_2c} :catch_11f
.catchall {:try_start_10 .. :try_end_2c} :catchall_12c
:catch_2c
move-exception v0
move-object v0, v1
move-object v4, v1
move-object v2, v1
:goto_30
:try_start_30
new-instance v1, Lcom/h/n/URLError;
new-instance v6, Ljava/lang/StringBuilder;
const-string/jumbo v7, "The url is malformed: "
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string/jumbo v6, "."
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v1, v5}, Lcom/h/n/URLError;-><init>(Ljava/lang/String;)V
:try_end_4c
.catchall {:try_start_30 .. :try_end_4c} :catchall_136
invoke-static {v1}, Lcom/sdk/orion/utils/OrionSwitchUtil;->isNeedSwich(Ljava/lang/Throwable;)Z
invoke-static {v1}, Lcom/h/r/Logger;->e(Ljava/lang/Throwable;)V
:cond_52
:goto_52
const-string/jumbo v4, "--------------Request finish--------------"
invoke-static {v4}, Lcom/h/r/Logger;->d(Ljava/lang/Object;)V
new-instance v4, Lcom/h/r/Connection;
invoke-direct {v4, v0, v3, v2, v1}, Lcom/h/r/Connection;-><init>(Lcom/h/r/Network;Lcom/h/r/Headers;Ljava/io/InputStream;Ljava/lang/Exception;)V
return-object v4
:cond_5e
:try_start_5e
invoke-direct {p0, p1}, Lcom/h/r/HttpConnection;->createConnectionAndWriteData(Lcom/h/r/BasicRequest;)Lcom/h/r/Network;
:try_end_61
.catch Ljava/net/MalformedURLException; {:try_start_5e .. :try_end_61} :catch_2c
.catch Ljava/net/UnknownHostException; {:try_start_5e .. :try_end_61} :catch_cf
.catch Ljava/net/SocketTimeoutException; {:try_start_5e .. :try_end_61} :catch_f7
.catch Ljava/lang/Exception; {:try_start_5e .. :try_end_61} :catch_11f
.catchall {:try_start_5e .. :try_end_61} :catchall_12c
move-result-object v0
:try_start_62
const-string/jumbo v2, "-------Response start-------"
invoke-static {v2}, Lcom/h/r/Logger;->d(Ljava/lang/Object;)V
invoke-interface {v0}, Lcom/h/r/Network;->getResponseCode()I
move-result v2
new-instance v4, Ljava/net/URI;
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->url()Ljava/lang/String;
move-result-object v6
invoke-direct {v4, v6}, Ljava/net/URI;-><init>(Ljava/lang/String;)V
invoke-interface {v0}, Lcom/h/r/Network;->getResponseHeaders()Ljava/util/Map;
move-result-object v6
invoke-direct {p0, v4, v2, v6}, Lcom/h/r/HttpConnection;->parseResponseHeaders(Ljava/net/URI;ILjava/util/Map;)Lcom/h/r/Headers;
move-result-object v3
const/16 v4, 0x12d
if-eq v2, v4, :cond_8d
const/16 v4, 0x12e
if-eq v2, v4, :cond_8d
const/16 v4, 0x12f
if-eq v2, v4, :cond_8d
const/16 v4, 0x133
if-ne v2, v4, :cond_ac
:cond_8d
invoke-direct {p0, p1, v3}, Lcom/h/r/HttpConnection;->handleRedirect(Lcom/h/r/BasicRequest;Lcom/h/r/Headers;)Lcom/h/r/Connection;
move-result-object v4
invoke-virtual {v4}, Lcom/h/r/Connection;->responseHeaders()Lcom/h/r/Headers;
move-result-object v3
invoke-virtual {v4}, Lcom/h/r/Connection;->serverStream()Ljava/io/InputStream;
:try_end_98
.catch Ljava/net/MalformedURLException; {:try_start_62 .. :try_end_98} :catch_ca
.catch Ljava/net/UnknownHostException; {:try_start_62 .. :try_end_98} :catch_14a
.catch Ljava/net/SocketTimeoutException; {:try_start_62 .. :try_end_98} :catch_140
.catch Ljava/lang/Exception; {:try_start_62 .. :try_end_98} :catch_139
.catchall {:try_start_62 .. :try_end_98} :catchall_12c
move-result-object v2
:try_start_99
invoke-virtual {v4}, Lcom/h/r/Connection;->exception()Ljava/lang/Exception;
:try_end_9c
.catch Ljava/net/MalformedURLException; {:try_start_99 .. :try_end_9c} :catch_154
.catch Ljava/net/UnknownHostException; {:try_start_99 .. :try_end_9c} :catch_14e
.catch Ljava/net/SocketTimeoutException; {:try_start_99 .. :try_end_9c} :catch_144
.catch Ljava/lang/Exception; {:try_start_99 .. :try_end_9c} :catch_13e
.catchall {:try_start_99 .. :try_end_9c} :catchall_12c
move-result-object v1
:goto_9d
:try_start_9d
const-string/jumbo v4, "-------Response end-------"
invoke-static {v4}, Lcom/h/r/Logger;->d(Ljava/lang/Object;)V
:try_end_a3
.catch Ljava/net/MalformedURLException; {:try_start_9d .. :try_end_a3} :catch_158
.catch Ljava/net/UnknownHostException; {:try_start_9d .. :try_end_a3} :catch_151
.catch Ljava/net/SocketTimeoutException; {:try_start_9d .. :try_end_a3} :catch_147
.catch Ljava/lang/Exception; {:try_start_9d .. :try_end_a3} :catch_13e
.catchall {:try_start_9d .. :try_end_a3} :catchall_12c
if-eqz v1, :cond_52
invoke-static {v1}, Lcom/sdk/orion/utils/OrionSwitchUtil;->isNeedSwich(Ljava/lang/Throwable;)Z
invoke-static {v1}, Lcom/h/r/Logger;->e(Ljava/lang/Throwable;)V
goto :goto_52
:cond_ac
:try_start_ac
invoke-virtual {p1}, Lcom/h/r/BasicRequest;->getRequestMethod()Lcom/h/r/RequestMethod;
move-result-object v4
invoke-static {v4, v2}, Lcom/h/r/HttpConnection;->hasResponseBody(Lcom/h/r/RequestMethod;I)Z
move-result v4
if-eqz v4, :cond_bb
invoke-interface {v0, v2, v3}, Lcom/h/r/Network;->getServerStream(ILcom/h/r/Headers;)Ljava/io/InputStream;
move-result-object v2
goto :goto_9d
:cond_bb
invoke-static {v2}, Lcom/sdk/orion/utils/OrionSwitchUtil;->isSuccessFul(I)Z
move-result v2
if-nez v2, :cond_15c
new-instance v2, Ljava/net/ConnectException;
const-string/jumbo v4, " connect exception"
invoke-direct {v2, v4}, Ljava/net/ConnectException;-><init>(Ljava/lang/String;)V
throw v2
:try_end_ca
.catch Ljava/net/MalformedURLException; {:try_start_ac .. :try_end_ca} :catch_ca
.catch Ljava/net/UnknownHostException; {:try_start_ac .. :try_end_ca} :catch_14a
.catch Ljava/net/SocketTimeoutException; {:try_start_ac .. :try_end_ca} :catch_140
.catch Ljava/lang/Exception; {:try_start_ac .. :try_end_ca} :catch_139
.catchall {:try_start_ac .. :try_end_ca} :catchall_12c
:catch_ca
move-exception v2
move-object v4, v1
move-object v2, v1
goto/16 :goto_30
:catch_cf
move-exception v0
move-object v0, v1
move-object v4, v1
move-object v2, v1
:goto_d3
:try_start_d3
new-instance v1, Lcom/h/n/UnKnownHostError;
new-instance v6, Ljava/lang/StringBuilder;
const-string/jumbo v7, "Hostname can not be resolved: "
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string/jumbo v6, "."
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v1, v5}, Lcom/h/n/UnKnownHostError;-><init>(Ljava/lang/String;)V
:try_end_ef
.catchall {:try_start_d3 .. :try_end_ef} :catchall_136
invoke-static {v1}, Lcom/sdk/orion/utils/OrionSwitchUtil;->isNeedSwich(Ljava/lang/Throwable;)Z
invoke-static {v1}, Lcom/h/r/Logger;->e(Ljava/lang/Throwable;)V
goto/16 :goto_52
:catch_f7
move-exception v0
move-object v0, v1
move-object v4, v1
move-object v2, v1
:goto_fb
:try_start_fb
new-instance v1, Lcom/h/n/TimeoutError;
new-instance v6, Ljava/lang/StringBuilder;
const-string/jumbo v7, "Request time out: "
invoke-direct {v6, v7}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string/jumbo v6, "."
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v1, v5}, Lcom/h/n/TimeoutError;-><init>(Ljava/lang/String;)V
:try_end_117
.catchall {:try_start_fb .. :try_end_117} :catchall_136
invoke-static {v1}, Lcom/sdk/orion/utils/OrionSwitchUtil;->isNeedSwich(Ljava/lang/Throwable;)Z
invoke-static {v1}, Lcom/h/r/Logger;->e(Ljava/lang/Throwable;)V
goto/16 :goto_52
:catch_11f
move-exception v0
move-object v2, v1
move-object v8, v1
move-object v1, v0
move-object v0, v8
:goto_124
invoke-static {v1}, Lcom/sdk/orion/utils/OrionSwitchUtil;->isNeedSwich(Ljava/lang/Throwable;)Z
invoke-static {v1}, Lcom/h/r/Logger;->e(Ljava/lang/Throwable;)V
goto/16 :goto_52
:catchall_12c
move-exception v0
:goto_12d
if-eqz v1, :cond_135
invoke-static {v1}, Lcom/sdk/orion/utils/OrionSwitchUtil;->isNeedSwich(Ljava/lang/Throwable;)Z
invoke-static {v1}, Lcom/h/r/Logger;->e(Ljava/lang/Throwable;)V
:cond_135
throw v0
:catchall_136
move-exception v0
move-object v1, v4
goto :goto_12d
:catch_139
move-exception v2
move-object v8, v2
move-object v2, v1
move-object v1, v8
goto :goto_124
:catch_13e
move-exception v1
goto :goto_124
:catch_140
move-exception v2
move-object v4, v1
move-object v2, v1
goto :goto_fb
:catch_144
move-exception v4
move-object v4, v1
goto :goto_fb
:catch_147
move-exception v4
move-object v4, v1
goto :goto_fb
:catch_14a
move-exception v2
move-object v4, v1
move-object v2, v1
goto :goto_d3
:catch_14e
move-exception v4
move-object v4, v1
goto :goto_d3
:catch_151
move-exception v4
move-object v4, v1
goto :goto_d3
:catch_154
move-exception v4
move-object v4, v1
goto/16 :goto_30
:catch_158
move-exception v4
move-object v4, v1
goto/16 :goto_30
:cond_15c
move-object v2, v1
goto/16 :goto_9d
.end method