.class public Lorg/apache/http/impl/execchain/MainClientExec; .super Ljava/lang/Object; .source "MainClientExec.java" # interfaces .implements Lorg/apache/http/impl/execchain/ClientExecChain; # instance fields .field private final authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; .field private final connManager:Lorg/apache/http/conn/HttpClientConnectionManager; .field private final keepAliveStrategy:Lorg/apache/http/conn/ConnectionKeepAliveStrategy; .field private final log:Lorg/apache/commons/logging/Log; .field private final proxyAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; .field private final proxyHttpProcessor:Lorg/apache/http/protocol/HttpProcessor; .field private final requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor; .field private final reuseStrategy:Lorg/apache/http/ConnectionReuseStrategy; .field private final routeDirector:Lorg/apache/http/conn/routing/HttpRouteDirector; .field private final targetAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; .field private final userTokenHandler:Lorg/apache/http/client/UserTokenHandler; # direct methods .method public constructor (Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/HttpClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/client/UserTokenHandler;)V .registers 17 .line 144 new-instance v5, Lorg/apache/http/protocol/ImmutableHttpProcessor; const/4 v0, 0x1 new-array v0, v0, [Lorg/apache/http/HttpRequestInterceptor; new-instance v1, Lorg/apache/http/protocol/RequestTargetHost; invoke-direct {v1}, Lorg/apache/http/protocol/RequestTargetHost;->()V const/4 v2, 0x0 aput-object v1, v0, v2 invoke-direct {v5, v0}, Lorg/apache/http/protocol/ImmutableHttpProcessor;->([Lorg/apache/http/HttpRequestInterceptor;)V move-object v0, p0 move-object v1, p1 move-object v2, p2 move-object v3, p3 move-object v4, p4 move-object v6, p5 move-object v7, p6 move-object/from16 v8, p7 invoke-direct/range {v0 .. v8}, Lorg/apache/http/impl/execchain/MainClientExec;->(Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/HttpClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/client/UserTokenHandler;)V return-void .end method .method public constructor (Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/HttpClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/client/UserTokenHandler;)V .registers 10 .line 115 invoke-direct {p0}, Ljava/lang/Object;->()V .line 91 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log; move-result-object v0 iput-object v0, p0, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; .line 116 const-string v0, "HTTP request executor" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 117 const-string v0, "Client connection manager" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 118 const-string v0, "Connection reuse strategy" invoke-static {p3, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 119 const-string v0, "Connection keep alive strategy" invoke-static {p4, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 120 const-string v0, "Proxy HTTP processor" invoke-static {p5, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 121 const-string v0, "Target authentication strategy" invoke-static {p6, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 122 const-string v0, "Proxy authentication strategy" invoke-static {p7, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 123 const-string v0, "User token handler" invoke-static {p8, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 124 new-instance v0, Lorg/apache/http/impl/auth/HttpAuthenticator; invoke-direct {v0}, Lorg/apache/http/impl/auth/HttpAuthenticator;->()V iput-object v0, p0, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; .line 125 new-instance v0, Lorg/apache/http/conn/routing/BasicRouteDirector; invoke-direct {v0}, Lorg/apache/http/conn/routing/BasicRouteDirector;->()V iput-object v0, p0, Lorg/apache/http/impl/execchain/MainClientExec;->routeDirector:Lorg/apache/http/conn/routing/HttpRouteDirector; .line 126 iput-object p1, p0, Lorg/apache/http/impl/execchain/MainClientExec;->requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor; .line 127 iput-object p2, p0, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; .line 128 iput-object p3, p0, Lorg/apache/http/impl/execchain/MainClientExec;->reuseStrategy:Lorg/apache/http/ConnectionReuseStrategy; .line 129 iput-object p4, p0, Lorg/apache/http/impl/execchain/MainClientExec;->keepAliveStrategy:Lorg/apache/http/conn/ConnectionKeepAliveStrategy; .line 130 iput-object p5, p0, Lorg/apache/http/impl/execchain/MainClientExec;->proxyHttpProcessor:Lorg/apache/http/protocol/HttpProcessor; .line 131 iput-object p6, p0, Lorg/apache/http/impl/execchain/MainClientExec;->targetAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; .line 132 iput-object p7, p0, Lorg/apache/http/impl/execchain/MainClientExec;->proxyAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; .line 133 iput-object p8, p0, Lorg/apache/http/impl/execchain/MainClientExec;->userTokenHandler:Lorg/apache/http/client/UserTokenHandler; return-void .end method .method private createTunnelToProxy(Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/client/protocol/HttpClientContext;)Z .registers 4 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException; } .end annotation .line 556 new-instance p1, Lorg/apache/http/HttpException; const-string p2, "Proxy chains are not supported." invoke-direct {p1, p2}, Lorg/apache/http/HttpException;->(Ljava/lang/String;)V throw p1 .end method .method private createTunnelToTarget(Lorg/apache/http/auth/AuthState;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/protocol/HttpClientContext;)Z .registers 22 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation move-object/from16 v0, p0 move-object/from16 v1, p2 move-object/from16 v8, p5 .line 462 invoke-virtual/range {p5 .. p5}, Lorg/apache/http/client/protocol/HttpClientContext;->getRequestConfig()Lorg/apache/http/client/config/RequestConfig; move-result-object v9 .line 463 invoke-virtual {v9}, Lorg/apache/http/client/config/RequestConfig;->getConnectTimeout()I move-result v10 .line 465 invoke-virtual/range {p3 .. p3}, Lorg/apache/http/conn/routing/HttpRoute;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v2 .line 466 invoke-virtual/range {p3 .. p3}, Lorg/apache/http/conn/routing/HttpRoute;->getProxyHost()Lorg/apache/http/HttpHost; move-result-object v11 .line 469 invoke-virtual {v2}, Lorg/apache/http/HttpHost;->toHostString()Ljava/lang/String; move-result-object v2 .line 470 new-instance v12, Lorg/apache/http/message/BasicHttpRequest; const-string v3, "CONNECT" invoke-interface/range {p4 .. p4}, Lorg/apache/http/HttpRequest;->getProtocolVersion()Lorg/apache/http/ProtocolVersion; move-result-object v4 invoke-direct {v12, v3, v2, v4}, Lorg/apache/http/message/BasicHttpRequest;->(Ljava/lang/String;Ljava/lang/String;Lorg/apache/http/ProtocolVersion;)V .line 472 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor; iget-object v3, v0, Lorg/apache/http/impl/execchain/MainClientExec;->proxyHttpProcessor:Lorg/apache/http/protocol/HttpProcessor; invoke-virtual {v2, v12, v3, v8}, Lorg/apache/http/protocol/HttpRequestExecutor;->preProcess(Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/protocol/HttpContext;)V const/4 v13, 0x0 :goto_2d move-object v2, v13 :goto_2e const/4 v3, 0x0 if-nez v2, :cond_d1 .line 475 invoke-interface/range {p2 .. p2}, Lorg/apache/http/HttpClientConnection;->isOpen()Z move-result v2 if-nez v2, :cond_42 .line 476 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; move-object/from16 v14, p3 if-lez v10, :cond_3e move v3, v10 :cond_3e invoke-interface {v2, v1, v14, v3, v8}, Lorg/apache/http/conn/HttpClientConnectionManager;->connect(Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/protocol/HttpContext;)V goto :goto_44 :cond_42 move-object/from16 v14, p3 .line 483 :goto_44 const-string v2, "Proxy-Authorization" invoke-interface {v12, v2}, Lorg/apache/http/HttpRequest;->removeHeaders(Ljava/lang/String;)V .line 484 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; move-object/from16 v15, p1 invoke-virtual {v2, v12, v15, v8}, Lorg/apache/http/impl/auth/HttpAuthenticator;->generateAuthResponse(Lorg/apache/http/HttpRequest;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)V .line 486 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor; invoke-virtual {v2, v12, v1, v8}, Lorg/apache/http/protocol/HttpRequestExecutor;->execute(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse; move-result-object v7 .line 487 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor; iget-object v3, v0, Lorg/apache/http/impl/execchain/MainClientExec;->proxyHttpProcessor:Lorg/apache/http/protocol/HttpProcessor; invoke-virtual {v2, v7, v3, v8}, Lorg/apache/http/protocol/HttpRequestExecutor;->postProcess(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpProcessor;Lorg/apache/http/protocol/HttpContext;)V .line 489 invoke-interface {v7}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine; move-result-object v2 invoke-interface {v2}, Lorg/apache/http/StatusLine;->getStatusCode()I move-result v2 const/16 v3, 0xc8 if-lt v2, v3, :cond_b7 .line 495 invoke-virtual {v9}, Lorg/apache/http/client/config/RequestConfig;->isAuthenticationEnabled()Z move-result v2 if-eqz v2, :cond_b3 .line 496 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; iget-object v5, v0, Lorg/apache/http/impl/execchain/MainClientExec;->proxyAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; move-object v3, v11 move-object v4, v7 move-object/from16 v6, p1 move-object/from16 p4, v7 move-object/from16 v7, p5 invoke-virtual/range {v2 .. v7}, Lorg/apache/http/impl/auth/HttpAuthenticator;->isAuthenticationRequested(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)Z move-result v2 if-eqz v2, :cond_b0 .line 498 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; iget-object v5, v0, Lorg/apache/http/impl/execchain/MainClientExec;->proxyAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; move-object v3, v11 move-object/from16 v4, p4 move-object/from16 v6, p1 move-object/from16 v7, p5 invoke-virtual/range {v2 .. v7}, Lorg/apache/http/impl/auth/HttpAuthenticator;->handleAuthChallenge(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)Z move-result v2 if-eqz v2, :cond_b0 .line 501 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->reuseStrategy:Lorg/apache/http/ConnectionReuseStrategy; move-object/from16 v3, p4 invoke-interface {v2, v3, v8}, Lorg/apache/http/ConnectionReuseStrategy;->keepAlive(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z move-result v2 if-eqz v2, :cond_ab .line 502 iget-object v2, v0, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; const-string v4, "Connection kept alive" invoke-interface {v2, v4}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 504 invoke-interface {v3}, Lorg/apache/http/HttpResponse;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v2 .line 505 invoke-static {v2}, Lorg/apache/http/util/EntityUtils;->consume(Lorg/apache/http/HttpEntity;)V goto :goto_2d .line 507 :cond_ab invoke-interface/range {p2 .. p2}, Lorg/apache/http/HttpClientConnection;->close()V goto/16 :goto_2d :cond_b0 move-object/from16 v3, p4 goto :goto_b4 :cond_b3 move-object v3, v7 :goto_b4 move-object v2, v3 goto/16 :goto_2e :cond_b7 move-object v3, v7 .line 491 new-instance v1, Lorg/apache/http/HttpException; new-instance v2, Ljava/lang/StringBuilder; const-string v4, "Unexpected response to CONNECT request: " invoke-direct {v2, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-interface {v3}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Lorg/apache/http/HttpException;->(Ljava/lang/String;)V throw v1 .line 515 :cond_d1 invoke-interface {v2}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine; move-result-object v4 invoke-interface {v4}, Lorg/apache/http/StatusLine;->getStatusCode()I move-result v4 const/16 v5, 0x12b if-le v4, v5, :cond_107 .line 520 invoke-interface {v2}, Lorg/apache/http/HttpResponse;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v3 if-eqz v3, :cond_eb .line 522 new-instance v4, Lorg/apache/http/entity/BufferedHttpEntity; invoke-direct {v4, v3}, Lorg/apache/http/entity/BufferedHttpEntity;->(Lorg/apache/http/HttpEntity;)V invoke-interface {v2, v4}, Lorg/apache/http/HttpResponse;->setEntity(Lorg/apache/http/HttpEntity;)V .line 525 :cond_eb invoke-interface/range {p2 .. p2}, Lorg/apache/http/HttpClientConnection;->close()V .line 526 new-instance v1, Lorg/apache/http/impl/execchain/TunnelRefusedException; new-instance v3, Ljava/lang/StringBuilder; const-string v4, "CONNECT refused by proxy: " invoke-direct {v3, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-interface {v2}, Lorg/apache/http/HttpResponse;->getStatusLine()Lorg/apache/http/StatusLine; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-direct {v1, v3, v2}, Lorg/apache/http/impl/execchain/TunnelRefusedException;->(Ljava/lang/String;Lorg/apache/http/HttpResponse;)V throw v1 :cond_107 return v3 .end method .method private needAuthentication(Lorg/apache/http/auth/AuthState;Lorg/apache/http/auth/AuthState;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/protocol/HttpClientContext;)Z .registers 16 .line 565 invoke-virtual {p5}, Lorg/apache/http/client/protocol/HttpClientContext;->getRequestConfig()Lorg/apache/http/client/config/RequestConfig; move-result-object v0 .line 566 invoke-virtual {v0}, Lorg/apache/http/client/config/RequestConfig;->isAuthenticationEnabled()Z move-result v0 if-eqz v0, :cond_70 .line 567 invoke-virtual {p5}, Lorg/apache/http/client/protocol/HttpClientContext;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v0 if-nez v0, :cond_14 .line 569 invoke-virtual {p3}, Lorg/apache/http/conn/routing/HttpRoute;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v0 .line 571 :cond_14 invoke-virtual {v0}, Lorg/apache/http/HttpHost;->getPort()I move-result v1 if-gez v1, :cond_30 .line 572 new-instance v1, Lorg/apache/http/HttpHost; invoke-virtual {v0}, Lorg/apache/http/HttpHost;->getHostName()Ljava/lang/String; move-result-object v2 invoke-virtual {p3}, Lorg/apache/http/conn/routing/HttpRoute;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v3 invoke-virtual {v3}, Lorg/apache/http/HttpHost;->getPort()I move-result v3 invoke-virtual {v0}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String; move-result-object v0 invoke-direct {v1, v2, v3, v0}, Lorg/apache/http/HttpHost;->(Ljava/lang/String;ILjava/lang/String;)V move-object v0, v1 .line 577 :cond_30 iget-object v4, p0, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; iget-object v7, p0, Lorg/apache/http/impl/execchain/MainClientExec;->targetAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; move-object v5, v0 move-object v6, p4 move-object v8, p1 move-object v9, p5 invoke-virtual/range {v4 .. v9}, Lorg/apache/http/impl/auth/HttpAuthenticator;->isAuthenticationRequested(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)Z move-result v1 .line 580 invoke-virtual {p3}, Lorg/apache/http/conn/routing/HttpRoute;->getProxyHost()Lorg/apache/http/HttpHost; move-result-object v2 if-nez v2, :cond_46 .line 583 invoke-virtual {p3}, Lorg/apache/http/conn/routing/HttpRoute;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v2 .line 585 :cond_46 iget-object v3, p0, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; iget-object v6, p0, Lorg/apache/http/impl/execchain/MainClientExec;->proxyAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; move-object v4, v2 move-object v5, p4 move-object v7, p2 move-object v8, p5 invoke-virtual/range {v3 .. v8}, Lorg/apache/http/impl/auth/HttpAuthenticator;->isAuthenticationRequested(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)Z move-result p3 if-eqz v1, :cond_61 .line 589 iget-object v4, p0, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; iget-object v7, p0, Lorg/apache/http/impl/execchain/MainClientExec;->targetAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; move-object v5, v0 move-object v6, p4 move-object v8, p1 move-object v9, p5 invoke-virtual/range {v4 .. v9}, Lorg/apache/http/impl/auth/HttpAuthenticator;->handleAuthChallenge(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)Z move-result p1 return p1 :cond_61 if-eqz p3, :cond_70 .line 593 iget-object v3, p0, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; iget-object v6, p0, Lorg/apache/http/impl/execchain/MainClientExec;->proxyAuthStrategy:Lorg/apache/http/client/AuthenticationStrategy; move-object v4, v2 move-object v5, p4 move-object v7, p2 move-object v8, p5 invoke-virtual/range {v3 .. v8}, Lorg/apache/http/impl/auth/HttpAuthenticator;->handleAuthChallenge(Lorg/apache/http/HttpHost;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/AuthenticationStrategy;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)Z move-result p1 return p1 :cond_70 const/4 p1, 0x0 return p1 .end method # virtual methods .method establishRoute(Lorg/apache/http/auth/AuthState;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/protocol/HttpClientContext;)V .registers 13 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 383 invoke-virtual {p5}, Lorg/apache/http/client/protocol/HttpClientContext;->getRequestConfig()Lorg/apache/http/client/config/RequestConfig; move-result-object v0 .line 384 invoke-virtual {v0}, Lorg/apache/http/client/config/RequestConfig;->getConnectTimeout()I move-result v0 .line 385 new-instance v1, Lorg/apache/http/conn/routing/RouteTracker; invoke-direct {v1, p3}, Lorg/apache/http/conn/routing/RouteTracker;->(Lorg/apache/http/conn/routing/HttpRoute;)V .line 388 :cond_d invoke-virtual {v1}, Lorg/apache/http/conn/routing/RouteTracker;->toRoute()Lorg/apache/http/conn/routing/HttpRoute; move-result-object v2 .line 389 iget-object v3, p0, Lorg/apache/http/impl/execchain/MainClientExec;->routeDirector:Lorg/apache/http/conn/routing/HttpRouteDirector; invoke-interface {v3, p3, v2}, Lorg/apache/http/conn/routing/HttpRouteDirector;->nextStep(Lorg/apache/http/conn/routing/RouteInfo;Lorg/apache/http/conn/routing/RouteInfo;)I move-result v3 const/4 v4, 0x0 packed-switch v3, :pswitch_data_b4 .line 440 new-instance p1, Ljava/lang/IllegalStateException; new-instance p2, Ljava/lang/StringBuilder; const-string p3, "Unknown step indicator " invoke-direct {p2, p3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p2 const-string p3, " from RouteDirector." invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 429 :pswitch_36 iget-object v2, p0, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; invoke-interface {v2, p2, p3, p5}, Lorg/apache/http/conn/HttpClientConnectionManager;->upgrade(Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)V .line 430 invoke-virtual {p3}, Lorg/apache/http/conn/routing/HttpRoute;->isSecure()Z move-result v2 invoke-virtual {v1, v2}, Lorg/apache/http/conn/routing/RouteTracker;->layerProtocol(Z)V goto :goto_92 .line 422 :pswitch_43 invoke-virtual {v2}, Lorg/apache/http/conn/routing/HttpRoute;->getHopCount()I move-result v2 add-int/lit8 v2, v2, -0x1 .line 423 invoke-direct {p0, p3, v2, p5}, Lorg/apache/http/impl/execchain/MainClientExec;->createTunnelToProxy(Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/client/protocol/HttpClientContext;)Z move-result v4 .line 424 iget-object v5, p0, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; const-string v6, "Tunnel to proxy created." invoke-interface {v5, v6}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 425 invoke-virtual {p3, v2}, Lorg/apache/http/conn/routing/HttpRoute;->getHopTarget(I)Lorg/apache/http/HttpHost; move-result-object v2 invoke-virtual {v1, v2, v4}, Lorg/apache/http/conn/routing/RouteTracker;->tunnelProxy(Lorg/apache/http/HttpHost;Z)V goto :goto_92 .line 411 :pswitch_5c invoke-direct/range {p0 .. p5}, Lorg/apache/http/impl/execchain/MainClientExec;->createTunnelToTarget(Lorg/apache/http/auth/AuthState;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/protocol/HttpClientContext;)Z move-result v2 .line 413 iget-object v4, p0, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; const-string v5, "Tunnel to target created." invoke-interface {v4, v5}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 414 invoke-virtual {v1, v2}, Lorg/apache/http/conn/routing/RouteTracker;->tunnelTarget(Z)V goto :goto_92 .line 402 :pswitch_6b iget-object v2, p0, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; if-lez v0, :cond_71 move v5, v0 goto :goto_72 :cond_71 move v5, v4 :goto_72 invoke-interface {v2, p2, p3, v5, p5}, Lorg/apache/http/conn/HttpClientConnectionManager;->connect(Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/protocol/HttpContext;)V .line 407 invoke-virtual {p3}, Lorg/apache/http/conn/routing/HttpRoute;->getProxyHost()Lorg/apache/http/HttpHost; move-result-object v2 .line 408 invoke-virtual {v1, v2, v4}, Lorg/apache/http/conn/routing/RouteTracker;->connectProxy(Lorg/apache/http/HttpHost;Z)V goto :goto_92 .line 394 :pswitch_7d iget-object v2, p0, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; if-lez v0, :cond_82 move v4, v0 :cond_82 invoke-interface {v2, p2, p3, v4, p5}, Lorg/apache/http/conn/HttpClientConnectionManager;->connect(Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/protocol/HttpContext;)V .line 399 invoke-virtual {p3}, Lorg/apache/http/conn/routing/HttpRoute;->isSecure()Z move-result v2 invoke-virtual {v1, v2}, Lorg/apache/http/conn/routing/RouteTracker;->connectTarget(Z)V goto :goto_92 .line 437 :pswitch_8d iget-object v2, p0, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; invoke-interface {v2, p2, p3, p5}, Lorg/apache/http/conn/HttpClientConnectionManager;->routeComplete(Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)V :goto_92 if-gtz v3, :cond_d return-void .line 434 :pswitch_95 new-instance p1, Lorg/apache/http/HttpException; new-instance p2, Ljava/lang/StringBuilder; const-string p4, "Unable to establish route: planned = " invoke-direct {p2, p4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 const-string p3, "; current = " invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-direct {p1, p2}, Lorg/apache/http/HttpException;->(Ljava/lang/String;)V throw p1 :pswitch_data_b4 .packed-switch -0x1 :pswitch_95 :pswitch_8d :pswitch_7d :pswitch_6b :pswitch_5c :pswitch_43 :pswitch_36 .end packed-switch .end method .method public execute(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/client/protocol/HttpClientContext;Lorg/apache/http/client/methods/HttpExecutionAware;)Lorg/apache/http/client/methods/CloseableHttpResponse; .registers 29 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException;, Lorg/apache/http/HttpException; } .end annotation move-object/from16 v7, p0 move-object/from16 v8, p1 move-object/from16 v9, p2 move-object/from16 v10, p3 move-object/from16 v11, p4 .line 155 const-string v12, "Proxy-Authorization" const-string v13, "Authorization" const-string v1, "HTTP route" invoke-static {v8, v1}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 156 const-string v1, "HTTP request" invoke-static {v9, v1}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 157 const-string v1, "HTTP context" invoke-static {v10, v1}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 159 invoke-virtual/range {p3 .. p3}, Lorg/apache/http/client/protocol/HttpClientContext;->getTargetAuthState()Lorg/apache/http/auth/AuthState; move-result-object v1 if-nez v1, :cond_2d .line 161 new-instance v1, Lorg/apache/http/auth/AuthState; invoke-direct {v1}, Lorg/apache/http/auth/AuthState;->()V .line 162 const-string v2, "http.auth.target-scope" invoke-virtual {v10, v2, v1}, Lorg/apache/http/client/protocol/HttpClientContext;->setAttribute(Ljava/lang/String;Ljava/lang/Object;)V :cond_2d move-object v14, v1 .line 164 invoke-virtual/range {p3 .. p3}, Lorg/apache/http/client/protocol/HttpClientContext;->getProxyAuthState()Lorg/apache/http/auth/AuthState; move-result-object v1 if-nez v1, :cond_3e .line 166 new-instance v1, Lorg/apache/http/auth/AuthState; invoke-direct {v1}, Lorg/apache/http/auth/AuthState;->()V .line 167 const-string v2, "http.auth.proxy-scope" invoke-virtual {v10, v2, v1}, Lorg/apache/http/client/protocol/HttpClientContext;->setAttribute(Ljava/lang/String;Ljava/lang/Object;)V :cond_3e move-object v15, v1 .line 170 instance-of v1, v9, Lorg/apache/http/HttpEntityEnclosingRequest; if-eqz v1, :cond_49 .line 171 move-object v1, v9 check-cast v1, Lorg/apache/http/HttpEntityEnclosingRequest; invoke-static {v1}, Lorg/apache/http/impl/execchain/RequestEntityProxy;->enhance(Lorg/apache/http/HttpEntityEnclosingRequest;)V .line 174 :cond_49 invoke-virtual/range {p3 .. p3}, Lorg/apache/http/client/protocol/HttpClientContext;->getUserToken()Ljava/lang/Object; move-result-object v6 .line 176 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; invoke-interface {v1, v8, v6}, Lorg/apache/http/conn/HttpClientConnectionManager;->requestConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ConnectionRequest; move-result-object v1 .line 177 const-string v5, "Request aborted" if-eqz v11, :cond_6a .line 178 invoke-interface/range {p4 .. p4}, Lorg/apache/http/client/methods/HttpExecutionAware;->isAborted()Z move-result v2 if-nez v2, :cond_61 .line 182 invoke-interface {v11, v1}, Lorg/apache/http/client/methods/HttpExecutionAware;->setCancellable(Lorg/apache/http/concurrent/Cancellable;)V goto :goto_6a .line 179 :cond_61 invoke-interface {v1}, Lorg/apache/http/conn/ConnectionRequest;->cancel()Z .line 180 new-instance v1, Lorg/apache/http/impl/execchain/RequestAbortedException; invoke-direct {v1, v5}, Lorg/apache/http/impl/execchain/RequestAbortedException;->(Ljava/lang/String;)V throw v1 .line 186 :cond_6a :goto_6a invoke-virtual/range {p3 .. p3}, Lorg/apache/http/client/protocol/HttpClientContext;->getRequestConfig()Lorg/apache/http/client/config/RequestConfig; move-result-object v16 .line 190 :try_start_6e invoke-virtual/range {v16 .. v16}, Lorg/apache/http/client/config/RequestConfig;->getConnectionRequestTimeout()I move-result v2 const-wide/16 v17, 0x0 if-lez v2, :cond_78 int-to-long v2, v2 goto :goto_7a :cond_78 move-wide/from16 v2, v17 .line 191 :goto_7a sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-interface {v1, v2, v3, v4}, Lorg/apache/http/conn/ConnectionRequest;->get(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/HttpClientConnection; move-result-object v4 :try_end_80 .catch Ljava/lang/InterruptedException; {:try_start_6e .. :try_end_80} :catch_3f0 .catch Ljava/util/concurrent/ExecutionException; {:try_start_6e .. :try_end_80} :catch_3de .line 203 const-string v1, "http.connection" invoke-virtual {v10, v1, v4}, Lorg/apache/http/client/protocol/HttpClientContext;->setAttribute(Ljava/lang/String;Ljava/lang/Object;)V .line 205 invoke-virtual/range {v16 .. v16}, Lorg/apache/http/client/config/RequestConfig;->isStaleConnectionCheckEnabled()Z move-result v1 if-eqz v1, :cond_a8 .line 207 invoke-interface {v4}, Lorg/apache/http/HttpClientConnection;->isOpen()Z move-result v1 if-eqz v1, :cond_a8 .line 208 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; const-string v2, "Stale connection check" invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 209 invoke-interface {v4}, Lorg/apache/http/HttpClientConnection;->isStale()Z move-result v1 if-eqz v1, :cond_a8 .line 210 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; const-string v2, "Stale connection detected" invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 211 invoke-interface {v4}, Lorg/apache/http/HttpClientConnection;->close()V .line 216 :cond_a8 new-instance v3, Lorg/apache/http/impl/execchain/ConnectionHolder; iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; iget-object v2, v7, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; invoke-direct {v3, v1, v2, v4}, Lorg/apache/http/impl/execchain/ConnectionHolder;->(Lorg/apache/commons/logging/Log;Lorg/apache/http/conn/HttpClientConnectionManager;Lorg/apache/http/HttpClientConnection;)V if-eqz v11, :cond_d2 .line 219 :try_start_b3 invoke-interface {v11, v3}, Lorg/apache/http/client/methods/HttpExecutionAware;->setCancellable(Lorg/apache/http/concurrent/Cancellable;)V goto :goto_d2 :catch_b7 move-exception v0 move-object v1, v0 goto/16 :goto_390 :catch_bb move-exception v0 move-object v1, v0 move-object v11, v3 move-object/from16 v22, v15 goto/16 :goto_39b :catch_c2 move-exception v0 move-object v1, v0 move-object v11, v3 move-object/from16 v22, v15 goto/16 :goto_3b6 :catch_c9 move-exception v0 move-object v1, v0 move-object v11, v3 goto/16 :goto_3cf :catch_ce move-exception v0 move-object v1, v0 goto/16 :goto_3d3 :cond_d2 :goto_d2 const/4 v2, 0x1 move v1, v2 :goto_d4 if-le v1, v2, :cond_e5 .line 225 invoke-static/range {p2 .. p2}, Lorg/apache/http/impl/execchain/RequestEntityProxy;->isRepeatable(Lorg/apache/http/HttpRequest;)Z move-result v19 if-eqz v19, :cond_dd goto :goto_e5 .line 226 :cond_dd new-instance v1, Lorg/apache/http/client/NonRepeatableRequestException; const-string v2, "Cannot retry request with a non-repeatable request entity." invoke-direct {v1, v2}, Lorg/apache/http/client/NonRepeatableRequestException;->(Ljava/lang/String;)V throw v1 :cond_e5 :goto_e5 if-eqz v11, :cond_f4 .line 230 invoke-interface/range {p4 .. p4}, Lorg/apache/http/client/methods/HttpExecutionAware;->isAborted()Z move-result v19 if-nez v19, :cond_ee goto :goto_f4 .line 231 :cond_ee new-instance v1, Lorg/apache/http/impl/execchain/RequestAbortedException; invoke-direct {v1, v5}, Lorg/apache/http/impl/execchain/RequestAbortedException;->(Ljava/lang/String;)V throw v1 :try_end_f4 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_b3 .. :try_end_f4} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_b3 .. :try_end_f4} :catch_c9 .catch Ljava/io/IOException; {:try_start_b3 .. :try_end_f4} :catch_c2 .catch Ljava/lang/RuntimeException; {:try_start_b3 .. :try_end_f4} :catch_bb .catch Ljava/lang/Error; {:try_start_b3 .. :try_end_f4} :catch_b7 .line 234 :cond_f4 :goto_f4 :try_start_f4 invoke-interface {v4}, Lorg/apache/http/HttpClientConnection;->isOpen()Z move-result v19 :try_end_f8 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_f4 .. :try_end_f8} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_f4 .. :try_end_f8} :catch_3cc .catch Ljava/io/IOException; {:try_start_f4 .. :try_end_f8} :catch_3b1 .catch Ljava/lang/RuntimeException; {:try_start_f4 .. :try_end_f8} :catch_396 .catch Ljava/lang/Error; {:try_start_f4 .. :try_end_f8} :catch_b7 if-nez v19, :cond_169 .line 235 :try_start_fa iget-object v2, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; move/from16 v20, v1 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V :try_end_103 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_fa .. :try_end_103} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_fa .. :try_end_103} :catch_161 .catch Ljava/io/IOException; {:try_start_fa .. :try_end_103} :catch_157 .catch Ljava/lang/RuntimeException; {:try_start_fa .. :try_end_103} :catch_14d .catch Ljava/lang/Error; {:try_start_fa .. :try_end_103} :catch_b7 move-object/from16 v21, v3 :try_start_105 const-string v3, "Opening connection " invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-interface {v2, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V :try_end_116 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_105 .. :try_end_116} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_105 .. :try_end_116} :catch_183 .catch Ljava/io/IOException; {:try_start_105 .. :try_end_116} :catch_14b .catch Ljava/lang/RuntimeException; {:try_start_105 .. :try_end_116} :catch_149 .catch Ljava/lang/Error; {:try_start_105 .. :try_end_116} :catch_b7 move-object/from16 v1, p0 const/16 v19, 0x1 move-object v2, v15 move-object/from16 v8, v21 move-object v3, v4 move-object v8, v4 move-object/from16 v4, p1 move-object/from16 v22, v15 move-object v15, v5 move-object/from16 v5, p2 move-object/from16 v23, v6 move-object/from16 v6, p3 .line 237 :try_start_12a invoke-virtual/range {v1 .. v6}, Lorg/apache/http/impl/execchain/MainClientExec;->establishRoute(Lorg/apache/http/auth/AuthState;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/HttpRequest;Lorg/apache/http/client/protocol/HttpClientContext;)V :try_end_12d .catch Lorg/apache/http/impl/execchain/TunnelRefusedException; {:try_start_12a .. :try_end_12d} :catch_12e .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_12a .. :try_end_12d} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_12a .. :try_end_12d} :catch_183 .catch Ljava/io/IOException; {:try_start_12a .. :try_end_12d} :catch_181 .catch Ljava/lang/RuntimeException; {:try_start_12a .. :try_end_12d} :catch_17f .catch Ljava/lang/Error; {:try_start_12a .. :try_end_12d} :catch_b7 goto :goto_175 :catch_12e move-exception v0 move-object v1, v0 .line 239 :try_start_130 iget-object v2, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; invoke-interface {v2}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v2 if-eqz v2, :cond_141 .line 240 iget-object v2, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; invoke-virtual {v1}, Lorg/apache/http/impl/execchain/TunnelRefusedException;->getMessage()Ljava/lang/String; move-result-object v3 invoke-interface {v2, v3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 242 :cond_141 invoke-virtual {v1}, Lorg/apache/http/impl/execchain/TunnelRefusedException;->getResponse()Lorg/apache/http/HttpResponse; move-result-object v1 :try_end_145 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_130 .. :try_end_145} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_130 .. :try_end_145} :catch_183 .catch Ljava/io/IOException; {:try_start_130 .. :try_end_145} :catch_181 .catch Ljava/lang/RuntimeException; {:try_start_130 .. :try_end_145} :catch_17f .catch Ljava/lang/Error; {:try_start_130 .. :try_end_145} :catch_b7 move-object/from16 v11, v21 goto/16 :goto_33a :catch_149 move-exception v0 goto :goto_150 :catch_14b move-exception v0 goto :goto_15a :catch_14d move-exception v0 move-object/from16 v21, v3 :goto_150 move-object/from16 v22, v15 :goto_152 move-object v1, v0 :goto_153 move-object/from16 v11, v21 goto/16 :goto_39b :catch_157 move-exception v0 move-object/from16 v21, v3 :goto_15a move-object/from16 v22, v15 :goto_15c move-object v1, v0 :goto_15d move-object/from16 v11, v21 goto/16 :goto_3b6 :catch_161 move-exception v0 move-object/from16 v21, v3 :goto_164 move-object v1, v0 move-object/from16 v11, v21 goto/16 :goto_3cf :cond_169 move/from16 v20, v1 move/from16 v19, v2 move-object/from16 v21, v3 move-object v8, v4 move-object/from16 v23, v6 move-object/from16 v22, v15 move-object v15, v5 .line 246 :goto_175 :try_start_175 invoke-virtual/range {v16 .. v16}, Lorg/apache/http/client/config/RequestConfig;->getSocketTimeout()I move-result v1 :try_end_179 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_175 .. :try_end_179} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_175 .. :try_end_179} :catch_38c .catch Ljava/io/IOException; {:try_start_175 .. :try_end_179} :catch_388 .catch Ljava/lang/RuntimeException; {:try_start_175 .. :try_end_179} :catch_384 .catch Ljava/lang/Error; {:try_start_175 .. :try_end_179} :catch_b7 if-ltz v1, :cond_185 .line 248 :try_start_17b invoke-interface {v8, v1}, Lorg/apache/http/HttpClientConnection;->setSocketTimeout(I)V goto :goto_185 :catch_17f move-exception v0 goto :goto_152 :catch_181 move-exception v0 goto :goto_15c :catch_183 move-exception v0 goto :goto_164 :cond_185 :goto_185 if-eqz v11, :cond_194 .line 251 invoke-interface/range {p4 .. p4}, Lorg/apache/http/client/methods/HttpExecutionAware;->isAborted()Z move-result v1 if-nez v1, :cond_18e goto :goto_194 .line 252 :cond_18e new-instance v1, Lorg/apache/http/impl/execchain/RequestAbortedException; invoke-direct {v1, v15}, Lorg/apache/http/impl/execchain/RequestAbortedException;->(Ljava/lang/String;)V throw v1 :try_end_194 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_17b .. :try_end_194} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_17b .. :try_end_194} :catch_183 .catch Ljava/io/IOException; {:try_start_17b .. :try_end_194} :catch_181 .catch Ljava/lang/RuntimeException; {:try_start_17b .. :try_end_194} :catch_17f .catch Ljava/lang/Error; {:try_start_17b .. :try_end_194} :catch_b7 .line 255 :cond_194 :goto_194 :try_start_194 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; invoke-interface {v1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v1 :try_end_19a .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_194 .. :try_end_19a} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_194 .. :try_end_19a} :catch_38c .catch Ljava/io/IOException; {:try_start_194 .. :try_end_19a} :catch_388 .catch Ljava/lang/RuntimeException; {:try_start_194 .. :try_end_19a} :catch_384 .catch Ljava/lang/Error; {:try_start_194 .. :try_end_19a} :catch_b7 if-eqz v1, :cond_1b8 .line 256 :try_start_19c iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "Executing request " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual/range {p2 .. p2}, Lorg/apache/http/client/methods/HttpRequestWrapper;->getRequestLine()Lorg/apache/http/RequestLine; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V :try_end_1b8 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_19c .. :try_end_1b8} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_19c .. :try_end_1b8} :catch_183 .catch Ljava/io/IOException; {:try_start_19c .. :try_end_1b8} :catch_181 .catch Ljava/lang/RuntimeException; {:try_start_19c .. :try_end_1b8} :catch_17f .catch Ljava/lang/Error; {:try_start_19c .. :try_end_1b8} :catch_b7 .line 259 :cond_1b8 :try_start_1b8 invoke-virtual {v9, v13}, Lorg/apache/http/client/methods/HttpRequestWrapper;->containsHeader(Ljava/lang/String;)Z move-result v1 :try_end_1bc .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_1b8 .. :try_end_1bc} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_1b8 .. :try_end_1bc} :catch_38c .catch Ljava/io/IOException; {:try_start_1b8 .. :try_end_1bc} :catch_388 .catch Ljava/lang/RuntimeException; {:try_start_1b8 .. :try_end_1bc} :catch_384 .catch Ljava/lang/Error; {:try_start_1b8 .. :try_end_1bc} :catch_b7 if-nez v1, :cond_1e7 .line 260 :try_start_1be iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; invoke-interface {v1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v1 if-eqz v1, :cond_1e2 .line 261 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "Target auth state: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v14}, Lorg/apache/http/auth/AuthState;->getState()Lorg/apache/http/auth/AuthProtocolState; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 263 :cond_1e2 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; invoke-virtual {v1, v9, v14, v10}, Lorg/apache/http/impl/auth/HttpAuthenticator;->generateAuthResponse(Lorg/apache/http/HttpRequest;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)V :try_end_1e7 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_1be .. :try_end_1e7} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_1be .. :try_end_1e7} :catch_183 .catch Ljava/io/IOException; {:try_start_1be .. :try_end_1e7} :catch_181 .catch Ljava/lang/RuntimeException; {:try_start_1be .. :try_end_1e7} :catch_17f .catch Ljava/lang/Error; {:try_start_1be .. :try_end_1e7} :catch_b7 .line 265 :cond_1e7 :try_start_1e7 invoke-virtual {v9, v12}, Lorg/apache/http/client/methods/HttpRequestWrapper;->containsHeader(Ljava/lang/String;)Z move-result v1 :try_end_1eb .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_1e7 .. :try_end_1eb} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_1e7 .. :try_end_1eb} :catch_38c .catch Ljava/io/IOException; {:try_start_1e7 .. :try_end_1eb} :catch_388 .catch Ljava/lang/RuntimeException; {:try_start_1e7 .. :try_end_1eb} :catch_384 .catch Ljava/lang/Error; {:try_start_1e7 .. :try_end_1eb} :catch_b7 if-nez v1, :cond_235 :try_start_1ed invoke-virtual/range {p1 .. p1}, Lorg/apache/http/conn/routing/HttpRoute;->isTunnelled()Z move-result v1 if-nez v1, :cond_235 .line 266 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; invoke-interface {v1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v1 :try_end_1f9 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_1ed .. :try_end_1f9} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_1ed .. :try_end_1f9} :catch_183 .catch Ljava/io/IOException; {:try_start_1ed .. :try_end_1f9} :catch_230 .catch Ljava/lang/RuntimeException; {:try_start_1ed .. :try_end_1f9} :catch_22b .catch Ljava/lang/Error; {:try_start_1ed .. :try_end_1f9} :catch_b7 if-eqz v1, :cond_217 .line 267 :try_start_1fb iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "Proxy auth state: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual/range {v22 .. v22}, Lorg/apache/http/auth/AuthState;->getState()Lorg/apache/http/auth/AuthProtocolState; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V :try_end_217 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_1fb .. :try_end_217} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_1fb .. :try_end_217} :catch_183 .catch Ljava/io/IOException; {:try_start_1fb .. :try_end_217} :catch_181 .catch Ljava/lang/RuntimeException; {:try_start_1fb .. :try_end_217} :catch_17f .catch Ljava/lang/Error; {:try_start_1fb .. :try_end_217} :catch_b7 .line 269 :cond_217 :try_start_217 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->authenticator:Lorg/apache/http/impl/auth/HttpAuthenticator; :try_end_219 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_217 .. :try_end_219} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_217 .. :try_end_219} :catch_183 .catch Ljava/io/IOException; {:try_start_217 .. :try_end_219} :catch_230 .catch Ljava/lang/RuntimeException; {:try_start_217 .. :try_end_219} :catch_22b .catch Ljava/lang/Error; {:try_start_217 .. :try_end_219} :catch_b7 move-object/from16 v6, v22 :try_start_21b invoke-virtual {v1, v9, v6, v10}, Lorg/apache/http/impl/auth/HttpAuthenticator;->generateAuthResponse(Lorg/apache/http/HttpRequest;Lorg/apache/http/auth/AuthState;Lorg/apache/http/protocol/HttpContext;)V :try_end_21e .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_21b .. :try_end_21e} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_21b .. :try_end_21e} :catch_183 .catch Ljava/io/IOException; {:try_start_21b .. :try_end_21e} :catch_225 .catch Ljava/lang/RuntimeException; {:try_start_21b .. :try_end_21e} :catch_21f .catch Ljava/lang/Error; {:try_start_21b .. :try_end_21e} :catch_b7 goto :goto_237 :catch_21f move-exception v0 move-object v1, v0 move-object/from16 v22, v6 goto/16 :goto_153 :catch_225 move-exception v0 move-object v1, v0 move-object/from16 v22, v6 goto/16 :goto_15d :catch_22b move-exception v0 move-object/from16 v6, v22 goto/16 :goto_152 :catch_230 move-exception v0 move-object/from16 v6, v22 goto/16 :goto_15c :cond_235 move-object/from16 v6, v22 .line 272 :goto_237 :try_start_237 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor; invoke-virtual {v1, v9, v8, v10}, Lorg/apache/http/protocol/HttpRequestExecutor;->execute(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse; move-result-object v5 .line 275 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->reuseStrategy:Lorg/apache/http/ConnectionReuseStrategy; invoke-interface {v1, v5, v10}, Lorg/apache/http/ConnectionReuseStrategy;->keepAlive(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z move-result v1 :try_end_243 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_237 .. :try_end_243} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_237 .. :try_end_243} :catch_38c .catch Ljava/io/IOException; {:try_start_237 .. :try_end_243} :catch_380 .catch Ljava/lang/RuntimeException; {:try_start_237 .. :try_end_243} :catch_37c .catch Ljava/lang/Error; {:try_start_237 .. :try_end_243} :catch_b7 if-eqz v1, :cond_2b5 .line 277 :try_start_245 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->keepAliveStrategy:Lorg/apache/http/conn/ConnectionKeepAliveStrategy; invoke-interface {v1, v5, v10}, Lorg/apache/http/conn/ConnectionKeepAliveStrategy;->getKeepAliveDuration(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)J move-result-wide v1 .line 278 iget-object v3, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; invoke-interface {v3}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v3 :try_end_251 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_245 .. :try_end_251} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_245 .. :try_end_251} :catch_38c .catch Ljava/io/IOException; {:try_start_245 .. :try_end_251} :catch_2ad .catch Ljava/lang/RuntimeException; {:try_start_245 .. :try_end_251} :catch_2a5 .catch Ljava/lang/Error; {:try_start_245 .. :try_end_251} :catch_b7 if-eqz v3, :cond_294 cmp-long v3, v1, v17 if-lez v3, :cond_277 .line 281 :try_start_257 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V const-string v4, "for " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3, v1, v2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v3 const-string v4, " " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 goto :goto_279 .line 283 :cond_277 const-string v3, "indefinitely" .line 285 :goto_279 iget-object v4, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; move-object/from16 v22, v5 new-instance v5, Ljava/lang/StringBuilder; invoke-direct {v5}, Ljava/lang/StringBuilder;->()V const-string v11, "Connection can be kept alive " invoke-virtual {v5, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v5 invoke-virtual {v5, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-interface {v4, v3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V :try_end_293 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_257 .. :try_end_293} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_257 .. :try_end_293} :catch_183 .catch Ljava/io/IOException; {:try_start_257 .. :try_end_293} :catch_225 .catch Ljava/lang/RuntimeException; {:try_start_257 .. :try_end_293} :catch_21f .catch Ljava/lang/Error; {:try_start_257 .. :try_end_293} :catch_b7 goto :goto_296 :cond_294 move-object/from16 v22, v5 .line 287 :goto_296 :try_start_296 sget-object v3, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; :try_end_298 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_296 .. :try_end_298} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_296 .. :try_end_298} :catch_38c .catch Ljava/io/IOException; {:try_start_296 .. :try_end_298} :catch_2ad .catch Ljava/lang/RuntimeException; {:try_start_296 .. :try_end_298} :catch_2a5 .catch Ljava/lang/Error; {:try_start_296 .. :try_end_298} :catch_b7 move-object/from16 v11, v21 :try_start_29a invoke-virtual {v11, v1, v2, v3}, Lorg/apache/http/impl/execchain/ConnectionHolder;->setValidFor(JLjava/util/concurrent/TimeUnit;)V .line 288 invoke-virtual {v11}, Lorg/apache/http/impl/execchain/ConnectionHolder;->markReusable()V :try_end_2a0 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_29a .. :try_end_2a0} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_29a .. :try_end_2a0} :catch_34d .catch Ljava/io/IOException; {:try_start_29a .. :try_end_2a0} :catch_2a3 .catch Ljava/lang/RuntimeException; {:try_start_29a .. :try_end_2a0} :catch_2a1 .catch Ljava/lang/Error; {:try_start_29a .. :try_end_2a0} :catch_b7 goto :goto_2bc :catch_2a1 move-exception v0 goto :goto_2a8 :catch_2a3 move-exception v0 goto :goto_2b0 :catch_2a5 move-exception v0 move-object/from16 v11, v21 :goto_2a8 move-object v1, v0 move-object/from16 v22, v6 goto/16 :goto_39b :catch_2ad move-exception v0 move-object/from16 v11, v21 :goto_2b0 move-object v1, v0 move-object/from16 v22, v6 goto/16 :goto_3b6 :cond_2b5 move-object/from16 v22, v5 move-object/from16 v11, v21 .line 290 :try_start_2b9 invoke-virtual {v11}, Lorg/apache/http/impl/execchain/ConnectionHolder;->markNonReusable()V :try_end_2bc .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_2b9 .. :try_end_2bc} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_2b9 .. :try_end_2bc} :catch_34d .catch Ljava/io/IOException; {:try_start_2b9 .. :try_end_2bc} :catch_378 .catch Ljava/lang/RuntimeException; {:try_start_2b9 .. :try_end_2bc} :catch_374 .catch Ljava/lang/Error; {:try_start_2b9 .. :try_end_2bc} :catch_b7 :goto_2bc move-object/from16 v1, p0 move-object v2, v14 move-object v3, v6 move-object/from16 v4, p1 move-object/from16 v21, v22 move-object/from16 v5, v21 move-object/from16 v22, v6 move-object/from16 v6, p3 .line 293 :try_start_2ca invoke-direct/range {v1 .. v6}, Lorg/apache/http/impl/execchain/MainClientExec;->needAuthentication(Lorg/apache/http/auth/AuthState;Lorg/apache/http/auth/AuthState;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/HttpResponse;Lorg/apache/http/client/protocol/HttpClientContext;)Z move-result v1 if-eqz v1, :cond_338 .line 296 invoke-interface/range {v21 .. v21}, Lorg/apache/http/HttpResponse;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v1 .line 297 invoke-virtual {v11}, Lorg/apache/http/impl/execchain/ConnectionHolder;->isReusable()Z move-result v2 if-eqz v2, :cond_2de .line 298 invoke-static {v1}, Lorg/apache/http/util/EntityUtils;->consume(Lorg/apache/http/HttpEntity;)V goto :goto_311 .line 300 :cond_2de invoke-interface {v8}, Lorg/apache/http/HttpClientConnection;->close()V .line 301 invoke-virtual/range {v22 .. v22}, Lorg/apache/http/auth/AuthState;->getState()Lorg/apache/http/auth/AuthProtocolState; move-result-object v1 sget-object v2, Lorg/apache/http/auth/AuthProtocolState;->SUCCESS:Lorg/apache/http/auth/AuthProtocolState; if-ne v1, v2, :cond_2f9 invoke-virtual/range {v22 .. v22}, Lorg/apache/http/auth/AuthState;->isConnectionBased()Z move-result v1 if-eqz v1, :cond_2f9 .line 303 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; const-string v2, "Resetting proxy auth state" invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 304 invoke-virtual/range {v22 .. v22}, Lorg/apache/http/auth/AuthState;->reset()V .line 306 :cond_2f9 invoke-virtual {v14}, Lorg/apache/http/auth/AuthState;->getState()Lorg/apache/http/auth/AuthProtocolState; move-result-object v1 sget-object v2, Lorg/apache/http/auth/AuthProtocolState;->SUCCESS:Lorg/apache/http/auth/AuthProtocolState; if-ne v1, v2, :cond_311 invoke-virtual {v14}, Lorg/apache/http/auth/AuthState;->isConnectionBased()Z move-result v1 if-eqz v1, :cond_311 .line 308 iget-object v1, v7, Lorg/apache/http/impl/execchain/MainClientExec;->log:Lorg/apache/commons/logging/Log; const-string v2, "Resetting target auth state" invoke-interface {v1, v2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 309 invoke-virtual {v14}, Lorg/apache/http/auth/AuthState;->reset()V .line 313 :cond_311 :goto_311 invoke-virtual/range {p2 .. p2}, Lorg/apache/http/client/methods/HttpRequestWrapper;->getOriginal()Lorg/apache/http/HttpRequest; move-result-object v1 .line 314 invoke-interface {v1, v13}, Lorg/apache/http/HttpRequest;->containsHeader(Ljava/lang/String;)Z move-result v2 if-nez v2, :cond_31e .line 315 invoke-virtual {v9, v13}, Lorg/apache/http/client/methods/HttpRequestWrapper;->removeHeaders(Ljava/lang/String;)V .line 317 :cond_31e invoke-interface {v1, v12}, Lorg/apache/http/HttpRequest;->containsHeader(Ljava/lang/String;)Z move-result v1 if-nez v1, :cond_327 .line 318 invoke-virtual {v9, v12}, Lorg/apache/http/client/methods/HttpRequestWrapper;->removeHeaders(Ljava/lang/String;)V :cond_327 add-int/lit8 v1, v20, 0x1 move-object v4, v8 move-object v3, v11 move-object v5, v15 move/from16 v2, v19 move-object/from16 v15, v22 move-object/from16 v6, v23 move-object/from16 v8, p1 move-object/from16 v11, p4 goto/16 :goto_d4 :cond_338 move-object/from16 v1, v21 :goto_33a if-nez v23, :cond_350 .line 326 iget-object v2, v7, Lorg/apache/http/impl/execchain/MainClientExec;->userTokenHandler:Lorg/apache/http/client/UserTokenHandler; invoke-interface {v2, v10}, Lorg/apache/http/client/UserTokenHandler;->getUserToken(Lorg/apache/http/protocol/HttpContext;)Ljava/lang/Object; move-result-object v6 .line 327 const-string v2, "http.user-token" invoke-virtual {v10, v2, v6}, Lorg/apache/http/client/protocol/HttpClientContext;->setAttribute(Ljava/lang/String;Ljava/lang/Object;)V goto :goto_352 :catch_348 move-exception v0 goto :goto_39a :catch_34a move-exception v0 goto/16 :goto_3b5 :catch_34d move-exception v0 goto/16 :goto_3ce :cond_350 move-object/from16 v6, v23 :goto_352 if-eqz v6, :cond_357 .line 330 invoke-virtual {v11, v6}, Lorg/apache/http/impl/execchain/ConnectionHolder;->setState(Ljava/lang/Object;)V .line 334 :cond_357 invoke-interface {v1}, Lorg/apache/http/HttpResponse;->getEntity()Lorg/apache/http/HttpEntity; move-result-object v2 if-eqz v2, :cond_36a .line 335 invoke-interface {v2}, Lorg/apache/http/HttpEntity;->isStreaming()Z move-result v2 if-nez v2, :cond_364 goto :goto_36a .line 340 :cond_364 new-instance v2, Lorg/apache/http/impl/execchain/HttpResponseProxy; invoke-direct {v2, v1, v11}, Lorg/apache/http/impl/execchain/HttpResponseProxy;->(Lorg/apache/http/HttpResponse;Lorg/apache/http/impl/execchain/ConnectionHolder;)V return-object v2 .line 337 :cond_36a :goto_36a invoke-virtual {v11}, Lorg/apache/http/impl/execchain/ConnectionHolder;->releaseConnection()V .line 338 new-instance v2, Lorg/apache/http/impl/execchain/HttpResponseProxy; const/4 v3, 0x0 invoke-direct {v2, v1, v3}, Lorg/apache/http/impl/execchain/HttpResponseProxy;->(Lorg/apache/http/HttpResponse;Lorg/apache/http/impl/execchain/ConnectionHolder;)V :try_end_373 .catch Lorg/apache/http/impl/conn/ConnectionShutdownException; {:try_start_2ca .. :try_end_373} :catch_ce .catch Lorg/apache/http/HttpException; {:try_start_2ca .. :try_end_373} :catch_34d .catch Ljava/io/IOException; {:try_start_2ca .. :try_end_373} :catch_34a .catch Ljava/lang/RuntimeException; {:try_start_2ca .. :try_end_373} :catch_348 .catch Ljava/lang/Error; {:try_start_2ca .. :try_end_373} :catch_b7 return-object v2 :catch_374 move-exception v0 move-object/from16 v22, v6 goto :goto_39a :catch_378 move-exception v0 move-object/from16 v22, v6 goto :goto_3b5 :catch_37c move-exception v0 move-object/from16 v22, v6 goto :goto_385 :catch_380 move-exception v0 move-object/from16 v22, v6 goto :goto_389 :catch_384 move-exception v0 :goto_385 move-object/from16 v11, v21 goto :goto_39a :catch_388 move-exception v0 :goto_389 move-object/from16 v11, v21 goto :goto_3b5 :catch_38c move-exception v0 move-object/from16 v11, v21 goto :goto_3ce .line 369 :goto_390 iget-object v2, v7, Lorg/apache/http/impl/execchain/MainClientExec;->connManager:Lorg/apache/http/conn/HttpClientConnectionManager; invoke-interface {v2}, Lorg/apache/http/conn/HttpClientConnectionManager;->shutdown()V .line 370 throw v1 :catch_396 move-exception v0 move-object v11, v3 move-object/from16 v22, v15 :goto_39a move-object v1, v0 .line 360 :goto_39b invoke-virtual {v11}, Lorg/apache/http/impl/execchain/ConnectionHolder;->abortConnection()V .line 361 invoke-virtual/range {v22 .. v22}, Lorg/apache/http/auth/AuthState;->isConnectionBased()Z move-result v2 if-eqz v2, :cond_3a7 .line 362 invoke-virtual/range {v22 .. v22}, Lorg/apache/http/auth/AuthState;->reset()V .line 364 :cond_3a7 invoke-virtual {v14}, Lorg/apache/http/auth/AuthState;->isConnectionBased()Z move-result v2 if-eqz v2, :cond_3b0 .line 365 invoke-virtual {v14}, Lorg/apache/http/auth/AuthState;->reset()V .line 367 :cond_3b0 throw v1 :catch_3b1 move-exception v0 move-object v11, v3 move-object/from16 v22, v15 :goto_3b5 move-object v1, v0 .line 351 :goto_3b6 invoke-virtual {v11}, Lorg/apache/http/impl/execchain/ConnectionHolder;->abortConnection()V .line 352 invoke-virtual/range {v22 .. v22}, Lorg/apache/http/auth/AuthState;->isConnectionBased()Z move-result v2 if-eqz v2, :cond_3c2 .line 353 invoke-virtual/range {v22 .. v22}, Lorg/apache/http/auth/AuthState;->reset()V .line 355 :cond_3c2 invoke-virtual {v14}, Lorg/apache/http/auth/AuthState;->isConnectionBased()Z move-result v2 if-eqz v2, :cond_3cb .line 356 invoke-virtual {v14}, Lorg/apache/http/auth/AuthState;->reset()V .line 358 :cond_3cb throw v1 :catch_3cc move-exception v0 move-object v11, v3 :goto_3ce move-object v1, v0 .line 348 :goto_3cf invoke-virtual {v11}, Lorg/apache/http/impl/execchain/ConnectionHolder;->abortConnection()V .line 349 throw v1 .line 343 :goto_3d3 new-instance v2, Ljava/io/InterruptedIOException; const-string v3, "Connection has been shut down" invoke-direct {v2, v3}, Ljava/io/InterruptedIOException;->(Ljava/lang/String;)V .line 345 invoke-virtual {v2, v1}, Ljava/io/InterruptedIOException;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable; .line 346 throw v2 :catch_3de move-exception v0 move-object v1, v0 .line 196 invoke-virtual {v1}, Ljava/util/concurrent/ExecutionException;->getCause()Ljava/lang/Throwable; move-result-object v2 if-nez v2, :cond_3e7 goto :goto_3e8 :cond_3e7 move-object v1, v2 .line 200 :goto_3e8 new-instance v2, Lorg/apache/http/impl/execchain/RequestAbortedException; const-string v3, "Request execution failed" invoke-direct {v2, v3, v1}, Lorg/apache/http/impl/execchain/RequestAbortedException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v2 :catch_3f0 move-exception v0 move-object v15, v5 move-object v1, v0 .line 193 invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread; move-result-object v2 invoke-virtual {v2}, Ljava/lang/Thread;->interrupt()V .line 194 new-instance v2, Lorg/apache/http/impl/execchain/RequestAbortedException; invoke-direct {v2, v15, v1}, Lorg/apache/http/impl/execchain/RequestAbortedException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v2 .end method