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
# 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
.prologue
.line 55
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 56
iput-object p1, p0, Lcom/android/volley/toolbox/HttpClientStack;->mClient:Lorg/apache/http/client/HttpClient;
.line 57
return-void
.end method
.method private static addHeaders(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
.prologue
.line 60
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 v2
:goto_8
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_1e
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 61
invoke-interface {p1, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-interface {p0, v0, v1}, Lorg/apache/http/client/methods/HttpUriRequest;->setHeader(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_8
.line 63
:cond_1e
return-void
.end method
.method static createHttpRequest(Lcom/android/volley/Request;Ljava/util/Map;)Lorg/apache/http/client/methods/HttpUriRequest;
.registers 6
.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
.prologue
.line 96
invoke-virtual {p0}, Lcom/android/volley/Request;->getMethod()I
move-result v0
packed-switch v0, :pswitch_data_ae
.line 142
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Unknown request method."
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 101
:pswitch_f
invoke-virtual {p0}, Lcom/android/volley/Request;->getPostBody()[B
move-result-object v1
.line 102
if-eqz v1, :cond_30
.line 103
new-instance v0, Lorg/apache/http/client/methods/HttpPost;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v2
invoke-direct {v0, v2}, Lorg/apache/http/client/methods/HttpPost;-><init>(Ljava/lang/String;)V
.line 104
const-string v2, "Content-Type"
invoke-virtual {p0}, Lcom/android/volley/Request;->getPostBodyContentType()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v2, v3}, Lorg/apache/http/client/methods/HttpPost;->addHeader(Ljava/lang/String;Ljava/lang/String;)V
.line 106
new-instance v2, Lorg/apache/http/entity/ByteArrayEntity;
invoke-direct {v2, v1}, Lorg/apache/http/entity/ByteArrayEntity;-><init>([B)V
.line 107
invoke-virtual {v0, v2}, Lorg/apache/http/client/methods/HttpPost;->setEntity(Lorg/apache/http/HttpEntity;)V
.line 139
:goto_2f
return-object v0
.line 110
:cond_30
new-instance v0, Lorg/apache/http/client/methods/HttpGet;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/http/client/methods/HttpGet;-><init>(Ljava/lang/String;)V
goto :goto_2f
.line 114
:pswitch_3a
new-instance v0, Lorg/apache/http/client/methods/HttpGet;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/http/client/methods/HttpGet;-><init>(Ljava/lang/String;)V
goto :goto_2f
.line 116
:pswitch_44
new-instance v0, Lorg/apache/http/client/methods/HttpDelete;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/http/client/methods/HttpDelete;-><init>(Ljava/lang/String;)V
goto :goto_2f
.line 118
:pswitch_4e
new-instance v0, Lorg/apache/http/client/methods/HttpPost;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/http/client/methods/HttpPost;-><init>(Ljava/lang/String;)V
.line 119
const-string v1, "Content-Type"
invoke-virtual {p0}, Lcom/android/volley/Request;->getBodyContentType()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/apache/http/client/methods/HttpPost;->addHeader(Ljava/lang/String;Ljava/lang/String;)V
.line 120
invoke-static {v0, p0}, Lcom/android/volley/toolbox/HttpClientStack;->setEntityIfNonEmptyBody(Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;Lcom/android/volley/Request;)V
goto :goto_2f
.line 124
:pswitch_64
new-instance v0, Lorg/apache/http/client/methods/HttpPut;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/http/client/methods/HttpPut;-><init>(Ljava/lang/String;)V
.line 125
const-string v1, "Content-Type"
invoke-virtual {p0}, Lcom/android/volley/Request;->getBodyContentType()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lorg/apache/http/client/methods/HttpPut;->addHeader(Ljava/lang/String;Ljava/lang/String;)V
.line 126
invoke-static {v0, p0}, Lcom/android/volley/toolbox/HttpClientStack;->setEntityIfNonEmptyBody(Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;Lcom/android/volley/Request;)V
goto :goto_2f
.line 130
:pswitch_7a
new-instance v0, Lorg/apache/http/client/methods/HttpHead;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/http/client/methods/HttpHead;-><init>(Ljava/lang/String;)V
goto :goto_2f
.line 132
:pswitch_84
new-instance v0, Lorg/apache/http/client/methods/HttpOptions;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/http/client/methods/HttpOptions;-><init>(Ljava/lang/String;)V
goto :goto_2f
.line 134
:pswitch_8e
new-instance v0, Lorg/apache/http/client/methods/HttpTrace;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/http/client/methods/HttpTrace;-><init>(Ljava/lang/String;)V
goto :goto_2f
.line 136
:pswitch_98
new-instance v0, Lcom/android/volley/toolbox/HttpClientStack$HttpPatch;
invoke-virtual {p0}, Lcom/android/volley/Request;->getUrl()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lcom/android/volley/toolbox/HttpClientStack$HttpPatch;-><init>(Ljava/lang/String;)V
.line 137
const-string v1, "Content-Type"
invoke-virtual {p0}, Lcom/android/volley/Request;->getBodyContentType()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Lcom/android/volley/toolbox/HttpClientStack$HttpPatch;->addHeader(Ljava/lang/String;Ljava/lang/String;)V
.line 138
invoke-static {v0, p0}, Lcom/android/volley/toolbox/HttpClientStack;->setEntityIfNonEmptyBody(Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;Lcom/android/volley/Request;)V
goto :goto_2f
.line 96
:pswitch_data_ae
.packed-switch -0x1
:pswitch_f
:pswitch_3a
:pswitch_4e
:pswitch_64
:pswitch_44
:pswitch_7a
:pswitch_84
:pswitch_8e
:pswitch_98
.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
.prologue
.line 67
new-instance v2, Ljava/util/ArrayList;
invoke-interface {p0}, Ljava/util/Map;->size()I
move-result v0
invoke-direct {v2, v0}, Ljava/util/ArrayList;-><init>(I)V
.line 68
invoke-interface {p0}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_11
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2c
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 69
new-instance v4, Lorg/apache/http/message/BasicNameValuePair;
invoke-interface {p0, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-direct {v4, v0, v1}, Lorg/apache/http/message/BasicNameValuePair;-><init>(Ljava/lang/String;Ljava/lang/String;)V
invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_11
.line 71
:cond_2c
return-object v2
.end method
.method private static setEntityIfNonEmptyBody(Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;Lcom/android/volley/Request;)V
.registers 4
.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
.prologue
.line 148
invoke-virtual {p1}, Lcom/android/volley/Request;->getBody()[B
move-result-object v0
.line 149
if-eqz v0, :cond_e
.line 150
new-instance v1, Lorg/apache/http/entity/ByteArrayEntity;
invoke-direct {v1, v0}, Lorg/apache/http/entity/ByteArrayEntity;-><init>([B)V
.line 151
invoke-virtual {p0, v1}, Lorg/apache/http/client/methods/HttpEntityEnclosingRequestBase;->setEntity(Lorg/apache/http/HttpEntity;)V
.line 153
:cond_e
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
.prologue
.line 162
return-void
.end method
.method public performRequest(Lcom/android/volley/Request;Ljava/util/Map;)Lorg/apache/http/HttpResponse;
.registers 7
.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
.prologue
.line 77
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 78
invoke-static {v0, p2}, Lcom/android/volley/toolbox/HttpClientStack;->addHeaders(Lorg/apache/http/client/methods/HttpUriRequest;Ljava/util/Map;)V
.line 79
invoke-virtual {p1}, Lcom/android/volley/Request;->getHeaders()Ljava/util/Map;
move-result-object v1
invoke-static {v0, v1}, Lcom/android/volley/toolbox/HttpClientStack;->addHeaders(Lorg/apache/http/client/methods/HttpUriRequest;Ljava/util/Map;)V
.line 80
invoke-virtual {p0, v0}, Lcom/android/volley/toolbox/HttpClientStack;->onPrepareRequest(Lorg/apache/http/client/methods/HttpUriRequest;)V
.line 81
invoke-interface {v0}, Lorg/apache/http/client/methods/HttpUriRequest;->getParams()Lorg/apache/http/params/HttpParams;
move-result-object v1
.line 82
invoke-virtual {p1}, Lcom/android/volley/Request;->getTimeoutMs()I
move-result v2
.line 85
const/16 v3, 0x1388
invoke-static {v1, v3}, Lorg/apache/http/params/HttpConnectionParams;->setConnectionTimeout(Lorg/apache/http/params/HttpParams;I)V
.line 86
invoke-static {v1, v2}, Lorg/apache/http/params/HttpConnectionParams;->setSoTimeout(Lorg/apache/http/params/HttpParams;I)V
.line 87
iget-object v1, p0, Lcom/android/volley/toolbox/HttpClientStack;->mClient:Lorg/apache/http/client/HttpClient;
invoke-interface {v1, v0}, Lorg/apache/http/client/HttpClient;->execute(Lorg/apache/http/client/methods/HttpUriRequest;)Lorg/apache/http/HttpResponse;
move-result-object v0
return-object v0
.end method