HttpClientStack.smali
.class public Lcom/android/volley/toolbox/HttpClientStack;
.super Ljava/lang/Object;
.source "HttpClientStack.java"
# interfaces
.implements Lcom/android/volley/toolbox/HttpStack;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/android/volley/toolbox/HttpClientStack$HttpPatch;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# static fields
.field private static final HEADER_CONTENT_TYPE:Ljava/lang/String; = "Content-Type"
# instance fields
.field protected final mClient:Lorg/apache/http/client/HttpClient;
# direct methods
.method public constructor <init>(Lorg/apache/http/client/HttpClient;)V
.registers 2
.line 57
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 58
iput-object p1, p0, Lcom/android/volley/toolbox/HttpClientStack;->mClient:Lorg/apache/http/client/HttpClient;
return-void
.end method
.method static createHttpRequest(Lcom/android/volley/Request;Ljava/util/Map;)Lorg/apache/http/client/methods/HttpUriRequest;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/android/volley/Request<",
"*>;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Lorg/apache/http/client/methods/HttpUriRequest;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/android/volley/AuthFailureError;
}
.end annotation
.line 98
invoke-virtual {p0}, Lcom/android/volley/Request;->getMethod()I
move-result p1
const-string v0, "Content-Type"
packed-switch p1, :pswitch_data_a8
.line 151
new-instance p0, Ljava/lang/IllegalStateException;
const-string p1, "Unknown request method."
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.line 145
:pswitch_11
new-instance p1, Lcom/android/volley/toolbox/HttpClientStack$HttpPatch;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {p1, v1}, Lcom/android/volley/toolbox/HttpClientStack$HttpPatch;-><init>(Ljava/lang/String;)V
.line 146
invoke-virtual {p0}, Lcom/android/volley/Request;->getBodyContentType()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v0, v1}, Lcom/android/volley/toolbox/HttpClientStack$HttpPatch;->addHeader(Ljava/lang/String;Ljava/lang/String;)V
.line 147
invoke-static {p1, p0}, Lcom/android/volley/toolbox/HttpClientStack;->setEntityIfNonEmptyBody(Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;Lcom/android/volley/Request;)V
return-object p1
.line 142
:pswitch_25
new-instance p1, Lorg/apache/http/client/methods/HttpTrace;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lorg/apache/http/client/methods/HttpTrace;-><init>(Ljava/lang/String;)V
return-object p1
.line 140
:pswitch_2f
new-instance p1, Lorg/apache/http/client/methods/HttpOptions;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lorg/apache/http/client/methods/HttpOptions;-><init>(Ljava/lang/String;)V
return-object p1
.line 138
:pswitch_39
new-instance p1, Lorg/apache/http/client/methods/HttpHead;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lorg/apache/http/client/methods/HttpHead;-><init>(Ljava/lang/String;)V
return-object p1
.line 122
:pswitch_43
new-instance p1, Lorg/apache/http/client/methods/HttpDelete;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lorg/apache/http/client/methods/HttpDelete;-><init>(Ljava/lang/String;)V
return-object p1
.line 132
:pswitch_4d
new-instance p1, Lorg/apache/http/client/methods/HttpPut;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {p1, v1}, Lorg/apache/http/client/methods/HttpPut;-><init>(Ljava/lang/String;)V
.line 133
invoke-virtual {p0}, Lcom/android/volley/Request;->getBodyContentType()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v0, v1}, Lorg/apache/http/client/methods/HttpPut;->addHeader(Ljava/lang/String;Ljava/lang/String;)V
.line 134
invoke-static {p1, p0}, Lcom/android/volley/toolbox/HttpClientStack;->setEntityIfNonEmptyBody(Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;Lcom/android/volley/Request;)V
return-object p1
.line 125
:pswitch_61
new-instance p1, Lorg/apache/http/client/methods/HttpPost;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {p1, v1}, Lorg/apache/http/client/methods/HttpPost;-><init>(Ljava/lang/String;)V
.line 126
invoke-virtual {p0}, Lcom/android/volley/Request;->getBodyContentType()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1, v0, v1}, Lorg/apache/http/client/methods/HttpPost;->addHeader(Ljava/lang/String;Ljava/lang/String;)V
.line 127
invoke-static {p1, p0}, Lcom/android/volley/toolbox/HttpClientStack;->setEntityIfNonEmptyBody(Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;Lcom/android/volley/Request;)V
return-object p1
.line 120
:pswitch_75
new-instance p1, Lorg/apache/http/client/methods/HttpGet;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lorg/apache/http/client/methods/HttpGet;-><init>(Ljava/lang/String;)V
return-object p1
.line 106
:pswitch_7f
invoke-virtual {p0}, Lcom/android/volley/Request;->getPostBody()[B
move-result-object p1
if-eqz p1, :cond_9e
.line 108
new-instance v1, Lorg/apache/http/client/methods/HttpPost;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Lorg/apache/http/client/methods/HttpPost;-><init>(Ljava/lang/String;)V
.line 110
invoke-virtual {p0}, Lcom/android/volley/Request;->getPostBodyContentType()Ljava/lang/String;
move-result-object p0
.line 109
invoke-virtual {v1, v0, p0}, Lorg/apache/http/client/methods/HttpPost;->addHeader(Ljava/lang/String;Ljava/lang/String;)V
.line 112
new-instance p0, Lorg/apache/http/entity/ByteArrayEntity;
invoke-direct {p0, p1}, Lorg/apache/http/entity/ByteArrayEntity;-><init>([B)V
.line 113
invoke-virtual {v1, p0}, Lorg/apache/http/client/methods/HttpPost;->setEntity(Lorg/apache/http/HttpEntity;)V
return-object v1
.line 116
:cond_9e
new-instance p1, Lorg/apache/http/client/methods/HttpGet;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object p0
invoke-direct {p1, p0}, Lorg/apache/http/client/methods/HttpGet;-><init>(Ljava/lang/String;)V
return-object p1
:pswitch_data_a8
.packed-switch -0x1
:pswitch_7f
:pswitch_75
:pswitch_61
:pswitch_4d
:pswitch_43
:pswitch_39
:pswitch_2f
:pswitch_25
:pswitch_11
.end packed-switch
.end method
.method private static getPostParameterPairs(Ljava/util/Map;)Ljava/util/List;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Ljava/util/List<",
"Lorg/apache/http/NameValuePair;",
">;"
}
.end annotation
.line 69
new-instance v0, Ljava/util/ArrayList;
invoke-interface {p0}, Ljava/util/Map;->size()I
move-result v1
invoke-direct {v0, v1}, Ljava/util/ArrayList;-><init>(I)V
.line 70
invoke-interface {p0}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_11
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2c
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 71
new-instance v3, Lorg/apache/http/message/BasicNameValuePair;
invoke-interface {p0, v2}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/String;
invoke-direct {v3, v2, v4}, Lorg/apache/http/message/BasicNameValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_11
:cond_2c
return-object v0
.end method
.method private static setEntityIfNonEmptyBody(Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;Lcom/android/volley/Request;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;",
"Lcom/android/volley/Request<",
"*>;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/android/volley/AuthFailureError;
}
.end annotation
.line 158
invoke-virtual {p1}, Lcom/android/volley/Request;->getBody()[B
move-result-object p1
if-eqz p1, :cond_e
.line 160
new-instance v0, Lorg/apache/http/entity/ByteArrayEntity;
invoke-direct {v0, p1}, Lorg/apache/http/entity/ByteArrayEntity;-><init>([B)V
.line 161
invoke-virtual {p0, v0}, Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;->setEntity(Lorg/apache/http/HttpEntity;)V
:cond_e
return-void
.end method
.method private static setHeaders(Lorg/apache/http/client/methods/HttpUriRequest;Ljava/util/Map;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/apache/http/client/methods/HttpUriRequest;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 62
invoke-interface {p1}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_8
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1e
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 63
invoke-interface {p1, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
invoke-interface {p0, v1, v2}, Lorg/apache/http/client/methods/HttpUriRequest;->setHeader(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_8
:cond_1e
return-void
.end method
# virtual methods
.method protected onPrepareRequest(Lorg/apache/http/client/methods/HttpUriRequest;)V
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
return-void
.end method
.method public performRequest(Lcom/android/volley/Request;Ljava/util/Map;)Lorg/apache/http/HttpResponse;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/android/volley/Request<",
"*>;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)",
"Lorg/apache/http/HttpResponse;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;,
Lcom/android/volley/AuthFailureError;
}
.end annotation
.line 79
invoke-static {p1, p2}, Lcom/android/volley/toolbox/HttpClientStack;->createHttpRequest(Lcom/android/volley/Request;Ljava/util/Map;)Lorg/apache/http/client/methods/HttpUriRequest;
move-result-object v0
.line 80
invoke-static {v0, p2}, Lcom/android/volley/toolbox/HttpClientStack;->setHeaders(Lorg/apache/http/client/methods/HttpUriRequest;Ljava/util/Map;)V
.line 83
invoke-virtual {p1}, Lcom/android/volley/Request;->getHeaders()Ljava/util/Map;
move-result-object p2
invoke-static {v0, p2}, Lcom/android/volley/toolbox/HttpClientStack;->setHeaders(Lorg/apache/http/client/methods/HttpUriRequest;Ljava/util/Map;)V
.line 84
invoke-virtual {p0, v0}, Lcom/android/volley/toolbox/HttpClientStack;->onPrepareRequest(Lorg/apache/http/client/methods/HttpUriRequest;)V
.line 85
invoke-interface {v0}, Lorg/apache/http/client/methods/HttpUriRequest;->getParams()Lorg/apache/http/params/HttpParams;
move-result-object p2
.line 86
invoke-virtual {p1}, Lcom/android/volley/Request;->getTimeoutMs()I
move-result p1
const/16 v1, 0x1388
.line 89
invoke-static {p2, v1}, Lorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V
.line 90
invoke-static {p2, p1}, Lorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V
.line 91
iget-object p1, p0, Lcom/android/volley/toolbox/HttpClientStack;->mClient:Lorg/apache/http/client/HttpClient;
invoke-interface {p1, v0}, Lorg/apache/http/client/HttpClient;->execute(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse;
move-result-object p1
return-object p1
.end method