HttpClientFactory.smali
.class Lcom/amazonaws/http/HttpClientFactory;
.super Ljava/lang/Object;
.source "HttpClientFactory.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/amazonaws/http/HttpClientFactory$LocationHeaderNotRequiredRedirectHandler;
}
.end annotation
# static fields
.field private static final HTTPS_PORT:I = 0x1bb
.field private static final HTTP_PORT:I = 0x50
# direct methods
.method constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public createHttpClient(Lcom/amazonaws/ClientConfiguration;)Lorg/apache/http/client/HttpClient;
.registers 10
.line 1
new-instance v0, Lorg/apache/http/params/BasicHttpParams;
invoke-direct {v0}, Lorg/apache/http/params/BasicHttpParams;-><init>()V
.line 2
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getConnectionTimeout()I
move-result v1
invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V
.line 3
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getSocketTimeout()I
move-result v1
invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V
const/4 v1, 0x1
.line 4
invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;->setStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;Z)V
.line 5
invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;->setTcpNoDelay(Lorg/apache/http/params/HttpParams;Z)V
.line 6
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getSocketBufferSizeHints()[I
move-result-object v2
const/4 v3, 0x0
aget v2, v2, v3
.line 7
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getSocketBufferSizeHints()[I
move-result-object v3
aget v1, v3, v1
if-gtz v2, :cond_2b
if-lez v1, :cond_32
.line 8
:cond_2b
invoke-static {v2, v1}, Ljava/lang/Math;->max(II)I
move-result v1
.line 9
invoke-static {v0, v1}, Lorg/apache/http/params/HttpConnectionParams;->setSocketBufferSize(Lorg/apache/http/params/HttpParams;I)V
.line 10
:cond_32
invoke-static {p1, v0}, Lcom/amazonaws/http/ConnectionManagerFactory;->createThreadSafeClientConnManager(Lcom/amazonaws/ClientConfiguration;Lorg/apache/http/params/HttpParams;)Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;
move-result-object v1
.line 11
new-instance v2, Lcom/amazonaws/http/impl/client/SdkHttpClient;
invoke-direct {v2, v1, v0}, Lcom/amazonaws/http/impl/client/SdkHttpClient;-><init>(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/params/HttpParams;)V
.line 12
sget-object v3, Lcom/amazonaws/http/impl/client/HttpRequestNoRetryHandler;->Singleton:Lcom/amazonaws/http/impl/client/HttpRequestNoRetryHandler;
invoke-virtual {v2, v3}, Lorg/apache/http/impl/client/DefaultHttpClient;->setHttpRequestRetryHandler(Lorg/apache/http/client/HttpRequestRetryHandler;)V
.line 13
new-instance v3, Lcom/amazonaws/http/HttpClientFactory$LocationHeaderNotRequiredRedirectHandler;
const/4 v4, 0x0
invoke-direct {v3, v4}, Lcom/amazonaws/http/HttpClientFactory$LocationHeaderNotRequiredRedirectHandler;-><init>(Lcom/amazonaws/http/HttpClientFactory$1;)V
invoke-virtual {v2, v3}, Lorg/apache/http/impl/client/DefaultHttpClient;->setRedirectHandler(Lorg/apache/http/client/RedirectHandler;)V
.line 14
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getLocalAddress()Ljava/net/InetAddress;
move-result-object v3
if-eqz v3, :cond_56
.line 15
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getLocalAddress()Ljava/net/InetAddress;
move-result-object v3
invoke-static {v0, v3}, Lorg/apache/http/conn/params/ConnRouteParams;->setLocalAddress(Lorg/apache/http/params/HttpParams;Ljava/net/InetAddress;)V
.line 16
:cond_56
new-instance v0, Lorg/apache/http/conn/scheme/Scheme;
invoke-static {}, Lorg/apache/http/conn/scheme/PlainSocketFactory;->getSocketFactory()Lorg/apache/http/conn/scheme/PlainSocketFactory;
move-result-object v3
const/16 v4, 0x50
const-string v5, "http"
invoke-direct {v0, v5, v3, v4}, Lorg/apache/http/conn/scheme/Scheme;-><init>(Ljava/lang/String;Lorg/apache/http/conn/scheme/SocketFactory;I)V
.line 17
invoke-static {}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->getSocketFactory()Lorg/apache/http/conn/ssl/SSLSocketFactory;
move-result-object v3
.line 18
sget-object v4, Lorg/apache/http/conn/ssl/SSLSocketFactory;->STRICT_HOSTNAME_VERIFIER:Lorg/apache/http/conn/ssl/X509HostnameVerifier;
invoke-virtual {v3, v4}, Lorg/apache/http/conn/ssl/SSLSocketFactory;->setHostnameVerifier(Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V
.line 19
new-instance v4, Lorg/apache/http/conn/scheme/Scheme;
const/16 v5, 0x1bb
const-string v6, "https"
invoke-direct {v4, v6, v3, v5}, Lorg/apache/http/conn/scheme/Scheme;-><init>(Ljava/lang/String;Lorg/apache/http/conn/scheme/SocketFactory;I)V
.line 20
invoke-virtual {v1}, Lorg/apache/http/impl/conn/tsccm/ThreadSafeClientConnManager;->getSchemeRegistry()Lorg/apache/http/conn/scheme/SchemeRegistry;
move-result-object v1
.line 21
invoke-virtual {v1, v0}, Lorg/apache/http/conn/scheme/SchemeRegistry;->register(Lorg/apache/http/conn/scheme/Scheme;)Lorg/apache/http/conn/scheme/Scheme;
.line 22
invoke-virtual {v1, v4}, Lorg/apache/http/conn/scheme/SchemeRegistry;->register(Lorg/apache/http/conn/scheme/Scheme;)Lorg/apache/http/conn/scheme/Scheme;
.line 23
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getProxyHost()Ljava/lang/String;
move-result-object v0
.line 24
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getProxyPort()I
move-result v1
if-eqz v0, :cond_dc
if-lez v1, :cond_dc
.line 25
sget-object v3, Lcom/amazonaws/http/AmazonHttpClient;->log:Lcom/amazonaws/logging/Log;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Configuring Proxy. Proxy Host: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v5, " Proxy Port: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-interface {v3, v4}, Lcom/amazonaws/logging/Log;->info(Ljava/lang/Object;)V
.line 26
new-instance v3, Lorg/apache/http/HttpHost;
invoke-direct {v3, v0, v1}, Lorg/apache/http/HttpHost;-><init>(Ljava/lang/String;I)V
.line 27
invoke-virtual {v2}, Lorg/apache/http/impl/client/DefaultHttpClient;->getParams()Lorg/apache/http/params/HttpParams;
move-result-object v4
const-string v5, "http.route.default-proxy"
invoke-interface {v4, v5, v3}, Lorg/apache/http/params/HttpParams;->setParameter(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/http/params/HttpParams;
.line 28
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getProxyUsername()Ljava/lang/String;
move-result-object v3
.line 29
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getProxyPassword()Ljava/lang/String;
move-result-object v4
.line 30
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getProxyDomain()Ljava/lang/String;
move-result-object v5
.line 31
invoke-virtual {p1}, Lcom/amazonaws/ClientConfiguration;->getProxyWorkstation()Ljava/lang/String;
move-result-object p1
if-eqz v3, :cond_dc
if-eqz v4, :cond_dc
.line 32
invoke-virtual {v2}, Lorg/apache/http/impl/client/DefaultHttpClient;->getCredentialsProvider()Lorg/apache/http/client/CredentialsProvider;
move-result-object v6
new-instance v7, Lorg/apache/http/auth/AuthScope;
invoke-direct {v7, v0, v1}, Lorg/apache/http/auth/AuthScope;-><init>(Ljava/lang/String;I)V
new-instance v0, Lorg/apache/http/auth/NTCredentials;
invoke-direct {v0, v3, v4, p1, v5}, Lorg/apache/http/auth/NTCredentials;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v6, v7, v0}, Lorg/apache/http/client/CredentialsProvider;->setCredentials(Lorg/apache/http/auth/AuthScope;Lorg/apache/http/auth/Credentials;)V
:cond_dc
return-object v2
.end method