.class public Lmtopsdk/mtop/common/MtopNetworkResultParser; .super Ljava/lang/Object; # static fields .field private static final TAG:Ljava/lang/String; = "mtopsdk.MtopNetworkResultParser" # direct methods .method public constructor ()V .locals 0 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static parseNetworkRlt(Lmtopsdk/a/b/g;Lmtopsdk/mtop/domain/MtopResponse;Lmtopsdk/mtop/MtopProxy;)Lmtopsdk/mtop/domain/MtopResponse; .locals 4 if-nez p0, :cond_1 new-instance p0, Lmtopsdk/mtop/domain/MtopResponse; const-string p1, "ANDROID_SYS_NETWORK_ERROR" const-string v0, "\u7f51\u7edc\u9519\u8bef" invoke-direct {p0, p1, v0}, Lmtopsdk/mtop/domain/MtopResponse;->(Ljava/lang/String;Ljava/lang/String;)V if-eqz p2, :cond_0 iget-object p1, p2, Lmtopsdk/mtop/MtopProxy;->mtopRequest:Lmtopsdk/mtop/domain/MtopRequest; invoke-virtual {p1}, Lmtopsdk/mtop/domain/MtopRequest;->getApiName()Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setApi(Ljava/lang/String;)V iget-object p1, p2, Lmtopsdk/mtop/MtopProxy;->mtopRequest:Lmtopsdk/mtop/domain/MtopRequest; invoke-virtual {p1}, Lmtopsdk/mtop/domain/MtopRequest;->getVersion()Ljava/lang/String; move-result-object p1 invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setV(Ljava/lang/String;)V :cond_0 return-object p0 :cond_1 const/4 v0, 0x0 new-instance v1, Lmtopsdk/mtop/common/MtopNetworkResultParser$ParseParameter; invoke-virtual {p0}, Lmtopsdk/a/b/g;->a()I move-result v2 invoke-virtual {p0}, Lmtopsdk/a/b/g;->b()Ljava/util/Map; move-result-object v3 invoke-virtual {p0}, Lmtopsdk/a/b/g;->c()Lmtopsdk/a/b/i; move-result-object p0 invoke-direct {v1, v2, v3, p0}, Lmtopsdk/mtop/common/MtopNetworkResultParser$ParseParameter;->(ILjava/util/Map;Lmtopsdk/a/b/i;)V invoke-static {v0, p1, p2, v1}, Lmtopsdk/mtop/common/MtopNetworkResultParser;->parseNetworkRlt(Lmtopsdk/mtop/domain/MtopResponse;Lmtopsdk/mtop/domain/MtopResponse;Lmtopsdk/mtop/MtopProxy;Lmtopsdk/mtop/common/MtopNetworkResultParser$ParseParameter;)Lmtopsdk/mtop/domain/MtopResponse; move-result-object p0 return-object p0 .end method .method public static parseNetworkRlt(Lmtopsdk/mtop/domain/MtopResponse;Lmtopsdk/mtop/domain/MtopResponse;Lmtopsdk/mtop/MtopProxy;Lmtopsdk/mtop/common/MtopNetworkResultParser$ParseParameter;)Lmtopsdk/mtop/domain/MtopResponse; .locals 3 if-nez p0, :cond_0 new-instance p0, Lmtopsdk/mtop/domain/MtopResponse; invoke-direct {p0}, Lmtopsdk/mtop/domain/MtopResponse;->()V :cond_0 const/4 v0, 0x0 if-eqz p2, :cond_1 iget-object v0, p2, Lmtopsdk/mtop/MtopProxy;->mtopRequest:Lmtopsdk/mtop/domain/MtopRequest; invoke-virtual {v0}, Lmtopsdk/mtop/domain/MtopRequest;->getApiName()Ljava/lang/String; move-result-object v0 invoke-virtual {p0, v0}, Lmtopsdk/mtop/domain/MtopResponse;->setApi(Ljava/lang/String;)V iget-object v0, p2, Lmtopsdk/mtop/MtopProxy;->mtopRequest:Lmtopsdk/mtop/domain/MtopRequest; invoke-virtual {v0}, Lmtopsdk/mtop/domain/MtopRequest;->getVersion()Ljava/lang/String; move-result-object v0 invoke-virtual {p0, v0}, Lmtopsdk/mtop/domain/MtopResponse;->setV(Ljava/lang/String;)V iget-object v0, p2, Lmtopsdk/mtop/MtopProxy;->stat:Lmtopsdk/mtop/util/MtopStatistics; invoke-virtual {v0}, Lmtopsdk/mtop/util/MtopStatistics;->getSeqNo()Ljava/lang/String; move-result-object v0 :cond_1 if-nez p3, :cond_2 const-string p1, "mtopsdk.MtopNetworkResultParser" const-string p2, "[parseNetworkRlt]network response is invalid" invoke-static {p1, v0, p2}, Lmtopsdk/common/util/TBSdkLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V const-string p1, "ANDROID_SYS_NETWORK_ERROR" invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setRetCode(Ljava/lang/String;)V const-string p1, "\u7f51\u7edc\u9519\u8bef" invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setRetMsg(Ljava/lang/String;)V return-object p0 :cond_2 iget v1, p3, Lmtopsdk/mtop/common/MtopNetworkResultParser$ParseParameter;->responseCode:I iget-object v2, p3, Lmtopsdk/mtop/common/MtopNetworkResultParser$ParseParameter;->header:Ljava/util/Map; invoke-virtual {p0, v1}, Lmtopsdk/mtop/domain/MtopResponse;->setResponseCode(I)V invoke-virtual {p0, v2}, Lmtopsdk/mtop/domain/MtopResponse;->setHeaderFields(Ljava/util/Map;)V iget-object p3, p3, Lmtopsdk/mtop/common/MtopNetworkResultParser$ParseParameter;->body:Lmtopsdk/a/b/i; if-eqz p3, :cond_3 :try_start_0 invoke-virtual {p3}, Lmtopsdk/a/b/i;->c()[B move-result-object p3 invoke-virtual {p0, p3}, Lmtopsdk/mtop/domain/MtopResponse;->setBytedata([B)V :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception p3 invoke-virtual {p3}, Ljava/io/IOException;->printStackTrace()V :cond_3 :goto_0 if-gez v1, :cond_6 const/16 p1, -0xc8 if-ne p1, v1, :cond_4 const-string p1, "ANDROID_SYS_NO_NETWORK" invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setRetCode(Ljava/lang/String;)V const-string p1, "\u65e0\u7f51\u7edc" :goto_1 invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setRetMsg(Ljava/lang/String;)V goto :goto_2 :cond_4 const-string p1, "ANDROID_SYS_NETWORK_ERROR" invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setRetCode(Ljava/lang/String;)V const-string p1, "\u7f51\u7edc\u9519\u8bef" goto :goto_1 :goto_2 sget-object p1, Lmtopsdk/common/util/TBSdkLog$LogEnable;->ErrorEnable:Lmtopsdk/common/util/TBSdkLog$LogEnable; invoke-static {p1}, Lmtopsdk/common/util/TBSdkLog;->isLogEnable(Lmtopsdk/common/util/TBSdkLog$LogEnable;)Z move-result p1 if-eqz p1, :cond_5 new-instance p1, Ljava/lang/StringBuilder; const/16 p2, 0x80 invoke-direct {p1, p2}, Ljava/lang/StringBuilder;->(I)V const-string p2, "[parseNetworkRlt] api=" invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Lmtopsdk/mtop/domain/MtopResponse;->getApi()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p2, ",v=" invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Lmtopsdk/mtop/domain/MtopResponse;->getV()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p2, ",retCode =" invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Lmtopsdk/mtop/domain/MtopResponse;->getRetCode()Ljava/lang/String; move-result-object p2 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string p2, ",responseCode =" invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; const-string p2, ",responseHeader=" invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; const-string p2, "mtopsdk.MtopNetworkResultParser" invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p2, v0, p1}, Lmtopsdk/common/util/TBSdkLog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V :cond_5 return-object p0 :cond_6 invoke-static {v2, v0}, Lmtopsdk/mtop/unit/UnitConfigManager;->parseUnitSettingHeader(Ljava/util/Map;Ljava/lang/String;)V invoke-static {p0, p2}, Lmtopsdk/mtop/util/ResponseHandlerUtil;->handleDegradeStrategy(Lmtopsdk/mtop/domain/MtopResponse;Lmtopsdk/mtop/MtopProxy;)Lmtopsdk/mtop/util/Result; move-result-object p3 if-eqz p3, :cond_7 invoke-virtual {p3}, Lmtopsdk/mtop/util/Result;->isSuccess()Z move-result v0 if-eqz v0, :cond_7 invoke-virtual {p3}, Lmtopsdk/mtop/util/Result;->getModel()Ljava/lang/Object; move-result-object p0 check-cast p0, Lmtopsdk/mtop/domain/MtopResponse; return-object p0 :cond_7 invoke-static {p0, p1}, Lmtopsdk/mtop/util/ResponseHandlerUtil;->handle304Response(Lmtopsdk/mtop/domain/MtopResponse;Lmtopsdk/mtop/domain/MtopResponse;)Lmtopsdk/mtop/util/Result; move-result-object p1 if-eqz p1, :cond_8 invoke-virtual {p1}, Lmtopsdk/mtop/util/Result;->isSuccess()Z move-result p3 if-eqz p3, :cond_8 invoke-virtual {p1}, Lmtopsdk/mtop/util/Result;->getModel()Ljava/lang/Object; move-result-object p0 check-cast p0, Lmtopsdk/mtop/domain/MtopResponse; return-object p0 :cond_8 invoke-virtual {p0}, Lmtopsdk/mtop/domain/MtopResponse;->getBytedata()[B move-result-object p1 if-nez p1, :cond_9 const-string p1, "ANDROID_SYS_JSONDATA_BLANK" invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setRetCode(Ljava/lang/String;)V const-string p1, "\u8fd4\u56deJSONDATA\u4e3a\u7a7a" invoke-virtual {p0, p1}, Lmtopsdk/mtop/domain/MtopResponse;->setRetMsg(Ljava/lang/String;)V return-object p0 :cond_9 invoke-static {p0}, Lmtopsdk/mtop/common/MtopNetworkResultParser;->parseRetCodeFromResponseHeader(Lmtopsdk/mtop/domain/MtopResponse;)Lmtopsdk/mtop/domain/MtopResponse; move-result-object p0 invoke-virtual {p0}, Lmtopsdk/mtop/domain/MtopResponse;->isExpiredRequest()Z move-result p1 if-eqz p1, :cond_a if-eqz p2, :cond_a invoke-virtual {p2}, Lmtopsdk/mtop/MtopProxy;->getProperty()Lmtopsdk/mtop/common/MtopNetworkProp; move-result-object p1 iget-boolean p1, p1, Lmtopsdk/mtop/common/MtopNetworkProp;->correctTimeStamp:Z if-nez p1, :cond_a invoke-static {p0, p2}, Lmtopsdk/mtop/util/ResponseHandlerUtil;->handleCorrectTimeStamp(Lmtopsdk/mtop/domain/MtopResponse;Lmtopsdk/mtop/MtopProxy;)Lmtopsdk/mtop/domain/MtopResponse; move-result-object p0 :cond_a return-object p0 .end method .method public static parseRetCodeFromResponseHeader(Lmtopsdk/mtop/domain/MtopResponse;)Lmtopsdk/mtop/domain/MtopResponse; .locals 2 if-eqz p0, :cond_2 invoke-virtual {p0}, Lmtopsdk/mtop/domain/MtopResponse;->getHeaderFields()Ljava/util/Map; move-result-object v0 if-nez v0, :cond_0 goto :goto_0 :cond_0 invoke-virtual {p0}, Lmtopsdk/mtop/domain/MtopResponse;->getHeaderFields()Ljava/util/Map; move-result-object v0 const-string v1, "x-retcode" invoke-static {v0, v1}, Lcom/taobao/tao/remotebusiness/listener/c;->a(Ljava/util/Map;Ljava/lang/String;)Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lmtopsdk/common/util/StringUtils;->isNotBlank(Ljava/lang/String;)Z move-result v1 if-eqz v1, :cond_1 invoke-virtual {p0, v0}, Lmtopsdk/mtop/domain/MtopResponse;->setRetCode(Ljava/lang/String;)V goto :goto_0 :cond_1 invoke-virtual {p0}, Lmtopsdk/mtop/domain/MtopResponse;->parseJsonByte()V :cond_2 :goto_0 return-object p0 .end method