.class public Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Lcom/ea/eadp/http/models/HttpRequest; # static fields .field private static final LOG_TAG:Ljava/lang/String; = "NimbleAndroidHttpRequest" # instance fields .field private body:Ljava/lang/String; .field private final headers:Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/HashMap<", "Ljava/lang/String;", "Ljava/lang/String;", ">;" } .end annotation .end field .field private final nimbleNetwork:Lcom/ea/nimble/INetwork; .field private resource:Ljava/net/URL; # direct methods .method public constructor ()V .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 31 invoke-direct {p0}, Ljava/lang/Object;->()V .line 33 :try_start_0 invoke-static {}, Lcom/ea/nimble/Network;->getComponent()Lcom/ea/nimble/INetwork; move-result-object v0 iput-object v0, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->nimbleNetwork:Lcom/ea/nimble/INetwork; :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 .line 38 new-instance v0, Ljava/util/HashMap; invoke-direct {v0}, Ljava/util/HashMap;->()V iput-object v0, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->headers:Ljava/util/HashMap; return-void :catch_0 move-exception v0 .line 35 invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 const/4 v1, 0x0 new-array v1, v1, [Ljava/lang/Object; const-string v2, "NimbleAndroidHttpRequest" invoke-static {v2, v0, v1}, Lcom/ea/nimble/Log$Helper;->LOGES(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V .line 36 new-instance v0, Ljava/io/IOException; const-string v1, "NimbleNetwork unavailble at this time." invoke-direct {v0, v1}, Ljava/io/IOException;->(Ljava/lang/String;)V throw v0 .end method .method public static synthetic access$000(Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;Lcom/ea/nimble/NetworkConnectionHandle;Lcom/ea/eadp/http/models/HttpRequestListener;)V .locals 0 .line 20 invoke-direct {p0, p1, p2}, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->sendResponseCallback(Lcom/ea/nimble/NetworkConnectionHandle;Lcom/ea/eadp/http/models/HttpRequestListener;)V return-void .end method .method private sendResponseCallback(Lcom/ea/nimble/NetworkConnectionHandle;Lcom/ea/eadp/http/models/HttpRequestListener;)V .locals 4 .line 172 new-instance v0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpResponse; invoke-direct {v0}, Lcom/ea/nimble/pushtng/NimbleAndroidHttpResponse;->()V .line 173 invoke-interface {p1}, Lcom/ea/nimble/NetworkConnectionHandle;->getResponse()Lcom/ea/nimble/IHttpResponse; move-result-object v1 invoke-interface {v1}, Lcom/ea/nimble/IHttpResponse;->getStatusCode()I move-result v1 invoke-interface {v0, v1}, Lcom/ea/eadp/http/models/HttpResponse;->setCode(I)V .line 174 invoke-interface {p1}, Lcom/ea/nimble/NetworkConnectionHandle;->getResponse()Lcom/ea/nimble/IHttpResponse; move-result-object v1 invoke-interface {v1}, Lcom/ea/nimble/IHttpResponse;->getUrl()Ljava/net/URL; move-result-object v1 if-nez v1, :cond_0 const/4 v1, 0x0 goto :goto_0 .line 175 :cond_0 invoke-virtual {v1}, Ljava/net/URL;->toString()Ljava/lang/String; move-result-object v1 :goto_0 invoke-interface {v0, v1}, Lcom/ea/eadp/http/models/HttpResponse;->setUrl(Ljava/lang/String;)V .line 177 :try_start_0 invoke-interface {p1}, Lcom/ea/nimble/NetworkConnectionHandle;->getResponse()Lcom/ea/nimble/IHttpResponse; move-result-object v1 invoke-interface {v1}, Lcom/ea/nimble/IHttpResponse;->getDataStream()Ljava/io/InputStream; move-result-object v1 invoke-static {v1}, Lcom/ea/nimble/Utility;->readStringFromStream(Ljava/io/InputStream;)Ljava/lang/String; move-result-object v1 invoke-interface {v0, v1}, Lcom/ea/eadp/http/models/HttpResponse;->setBody(Ljava/lang/String;)V :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_1 :catch_0 move-exception v1 .line 179 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "IOException reading response body: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const/4 v2, 0x0 new-array v2, v2, [Ljava/lang/Object; const-string v3, "NimbleAndroidHttpRequest" invoke-static {v3, v1, v2}, Lcom/ea/nimble/Log$Helper;->LOGES(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V .line 181 :goto_1 invoke-interface {p1}, Lcom/ea/nimble/NetworkConnectionHandle;->getResponse()Lcom/ea/nimble/IHttpResponse; move-result-object p1 invoke-interface {p1}, Lcom/ea/nimble/IHttpResponse;->getHeaders()Ljava/util/Map; move-result-object p1 invoke-interface {v0, p1}, Lcom/ea/eadp/http/models/HttpResponse;->setHeaders(Ljava/util/Map;)V .line 182 invoke-interface {p2, v0}, Lcom/ea/eadp/http/models/HttpRequestListener;->onComplete(Lcom/ea/eadp/http/models/HttpResponse;)V return-void .end method # virtual methods .method public delete()Lcom/ea/eadp/http/models/HttpResponse; .locals 2 .line 159 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 160 new-instance v0, Ljava/lang/UnsupportedOperationException; const-string v1, "Synchronous communication not supported." invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw v0 .end method .method public deleteAsync(Lcom/ea/eadp/http/models/HttpRequestListener;)V .locals 1 .line 166 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 167 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string v0, "Delete requests not supported." invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public get()Lcom/ea/eadp/http/models/HttpResponse; .locals 2 .line 107 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 108 new-instance v0, Ljava/lang/UnsupportedOperationException; const-string v1, "Synchronous communication not supported." invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw v0 .end method .method public getAsync(Lcom/ea/eadp/http/models/HttpRequestListener;)V .locals 4 .line 114 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->nimbleNetwork:Lcom/ea/nimble/INetwork; iget-object v1, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->resource:Ljava/net/URL; iget-object v2, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->headers:Ljava/util/HashMap; .line 115 new-instance v3, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest$1; invoke-direct {v3, p0, p1}, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest$1;->(Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;Lcom/ea/eadp/http/models/HttpRequestListener;)V invoke-interface {v0, v1, v2, v3}, Lcom/ea/nimble/INetwork;->sendGetRequest(Ljava/net/URL;Ljava/util/HashMap;Lcom/ea/nimble/NetworkConnectionCallback;)Lcom/ea/nimble/NetworkConnectionHandle; return-void .end method .method public getResource()Ljava/net/URL; .locals 1 .line 52 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->resource:Ljava/net/URL; return-object v0 .end method .method public getValueForHeader(Ljava/lang/String;)Ljava/lang/String; .locals 1 .line 67 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->headers:Ljava/util/HashMap; .line 68 invoke-virtual {v0, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/lang/String; return-object p1 .end method .method public post()Lcom/ea/eadp/http/models/HttpResponse; .locals 2 .line 126 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 127 new-instance v0, Ljava/lang/UnsupportedOperationException; const-string v1, "Synchronous communication not supported." invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw v0 .end method .method public postAsync(Lcom/ea/eadp/http/models/HttpRequestListener;)V .locals 5 .line 133 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->nimbleNetwork:Lcom/ea/nimble/INetwork; iget-object v1, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->resource:Ljava/net/URL; iget-object v2, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->headers:Ljava/util/HashMap; iget-object v3, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->body:Ljava/lang/String; .line 134 sget-object v4, Ljava/nio/charset/StandardCharsets;->UTF_8:Ljava/nio/charset/Charset; invoke-virtual {v3, v4}, Ljava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B move-result-object v3 new-instance v4, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest$2; invoke-direct {v4, p0, p1}, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest$2;->(Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;Lcom/ea/eadp/http/models/HttpRequestListener;)V invoke-interface {v0, v1, v2, v3, v4}, Lcom/ea/nimble/INetwork;->sendPostRequest(Ljava/net/URL;Ljava/util/HashMap;[BLcom/ea/nimble/NetworkConnectionCallback;)Lcom/ea/nimble/NetworkConnectionHandle; return-void .end method .method public put()Lcom/ea/eadp/http/models/HttpResponse; .locals 2 .line 145 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 146 new-instance v0, Ljava/lang/UnsupportedOperationException; const-string v1, "Synchronous communication not supported." invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw v0 .end method .method public putAsync(Lcom/ea/eadp/http/models/HttpRequestListener;)V .locals 1 .line 152 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 153 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string v0, "Put requests not supported." invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public setBody(Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; .locals 1 .line 74 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iput-object p1, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->body:Ljava/lang/String; const-string p1, "Content-Type" const-string v0, "application/x-www-form-urlencoded" .line 76 invoke-virtual {p0, p1, v0}, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->setHeader(Ljava/lang/String;Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; return-object p0 .end method .method public setBody(Ljava/lang/String;Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; .locals 0 .line 82 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 84 invoke-virtual {p0, p1}, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->setBody(Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; move-result-object p1 return-object p1 .end method .method public setHeader(Ljava/lang/String;Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; .locals 1 .line 59 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iget-object v0, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->headers:Ljava/util/HashMap; .line 60 invoke-virtual {v0, p1, p2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-object p0 .end method .method public setJsonBody(Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; .locals 1 .line 90 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iput-object p1, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->body:Ljava/lang/String; const-string p1, "Content-Type" const-string v0, "application/json" .line 92 invoke-virtual {p0, p1, v0}, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->setHeader(Ljava/lang/String;Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; return-object p0 .end method .method public setJsonBody(Ljava/lang/String;Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; .locals 0 .line 99 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V .line 101 invoke-virtual {p0, p1}, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->setJsonBody(Ljava/lang/String;)Lcom/ea/eadp/http/models/HttpRequest; move-result-object p1 return-object p1 .end method .method public setResource(Ljava/net/URL;)Lcom/ea/eadp/http/models/HttpRequest; .locals 0 .line 44 invoke-static {p0}, Lcom/ea/nimble/Log$Helper;->LOGPUBLICFUNC(Ljava/lang/Object;)V iput-object p1, p0, Lcom/ea/nimble/pushtng/NimbleAndroidHttpRequest;->resource:Ljava/net/URL; return-object p0 .end method