.class public Lorg/apache/http/client/protocol/RequestAuthCache; .super Ljava/lang/Object; .source "RequestAuthCache.java" # interfaces .implements Lorg/apache/http/HttpRequestInterceptor; # instance fields .field private final log:Lorg/apache/commons/logging/Log; # direct methods .method public constructor ()V .registers 2 .line 64 invoke-direct {p0}, Ljava/lang/Object;->()V .line 61 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/client/protocol/RequestAuthCache;->log:Lorg/apache/commons/logging/Log; return-void .end method .method private doPreemptiveAuth(Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/AuthState;Lorg/apache/http/client/CredentialsProvider;)V .registers 9 .line 129 invoke-interface {p2}, Lorg/apache/http/auth/AuthScheme;->getSchemeName()Ljava/lang/String; move-result-object v0 .line 130 iget-object v1, p0, Lorg/apache/http/client/protocol/RequestAuthCache;->log:Lorg/apache/commons/logging/Log; invoke-interface {v1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v1 if-eqz v1, :cond_2a .line 131 iget-object v1, p0, Lorg/apache/http/client/protocol/RequestAuthCache;->log:Lorg/apache/commons/logging/Log; new-instance v2, Ljava/lang/StringBuilder; const-string v3, "Re-using cached \'" invoke-direct {v2, v3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, "\' auth scheme for " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, p1}, 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 134 :cond_2a new-instance v1, Lorg/apache/http/auth/AuthScope; sget-object v2, Lorg/apache/http/auth/AuthScope;->ANY_REALM:Ljava/lang/String; invoke-direct {v1, p1, v2, v0}, Lorg/apache/http/auth/AuthScope;->(Lorg/apache/http/HttpHost;Ljava/lang/String;Ljava/lang/String;)V .line 135 invoke-interface {p4, v1}, Lorg/apache/http/client/CredentialsProvider;->getCredentials(Lorg/apache/http/auth/AuthScope;)Lorg/apache/http/auth/Credentials; move-result-object p1 if-eqz p1, :cond_3b .line 138 invoke-virtual {p3, p2, p1}, Lorg/apache/http/auth/AuthState;->update(Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/Credentials;)V goto :goto_42 .line 140 :cond_3b iget-object p1, p0, Lorg/apache/http/client/protocol/RequestAuthCache;->log:Lorg/apache/commons/logging/Log; const-string p2, "No credentials for preemptive authentication" invoke-interface {p1, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V :goto_42 return-void .end method # virtual methods .method public process(Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)V .registers 9 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 70 const-string v0, "HTTP request" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 71 const-string p1, "HTTP context" invoke-static {p2, p1}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 73 invoke-static {p2}, Lorg/apache/http/client/protocol/HttpClientContext;->adapt(Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/protocol/HttpClientContext; move-result-object p1 .line 75 invoke-virtual {p1}, Lorg/apache/http/client/protocol/HttpClientContext;->getAuthCache()Lorg/apache/http/client/AuthCache; move-result-object p2 if-nez p2, :cond_1c .line 77 iget-object p1, p0, Lorg/apache/http/client/protocol/RequestAuthCache;->log:Lorg/apache/commons/logging/Log; const-string p2, "Auth cache not set in the context" invoke-interface {p1, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V return-void .line 81 :cond_1c invoke-virtual {p1}, Lorg/apache/http/client/protocol/HttpClientContext;->getCredentialsProvider()Lorg/apache/http/client/CredentialsProvider; move-result-object v0 if-nez v0, :cond_2a .line 83 iget-object p1, p0, Lorg/apache/http/client/protocol/RequestAuthCache;->log:Lorg/apache/commons/logging/Log; const-string p2, "Credentials provider not set in the context" invoke-interface {p1, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V return-void .line 87 :cond_2a invoke-virtual {p1}, Lorg/apache/http/client/protocol/HttpClientContext;->getHttpRoute()Lorg/apache/http/conn/routing/RouteInfo; move-result-object v1 if-nez v1, :cond_38 .line 89 iget-object p1, p0, Lorg/apache/http/client/protocol/RequestAuthCache;->log:Lorg/apache/commons/logging/Log; const-string p2, "Route info not set in the context" invoke-interface {p1, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V return-void .line 93 :cond_38 invoke-virtual {p1}, Lorg/apache/http/client/protocol/HttpClientContext;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v2 if-nez v2, :cond_46 .line 95 iget-object p1, p0, Lorg/apache/http/client/protocol/RequestAuthCache;->log:Lorg/apache/commons/logging/Log; const-string p2, "Target host not set in the context" invoke-interface {p1, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V return-void .line 99 :cond_46 invoke-virtual {v2}, Lorg/apache/http/HttpHost;->getPort()I move-result v3 if-gez v3, :cond_62 .line 100 new-instance v3, Lorg/apache/http/HttpHost; invoke-virtual {v2}, Lorg/apache/http/HttpHost;->getHostName()Ljava/lang/String; move-result-object v4 invoke-interface {v1}, Lorg/apache/http/conn/routing/RouteInfo;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v5 invoke-virtual {v5}, Lorg/apache/http/HttpHost;->getPort()I move-result v5 invoke-virtual {v2}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String; move-result-object v2 invoke-direct {v3, v4, v5, v2}, Lorg/apache/http/HttpHost;->(Ljava/lang/String;ILjava/lang/String;)V move-object v2, v3 .line 106 :cond_62 invoke-virtual {p1}, Lorg/apache/http/client/protocol/HttpClientContext;->getTargetAuthState()Lorg/apache/http/auth/AuthState; move-result-object v3 if-eqz v3, :cond_79 .line 107 invoke-virtual {v3}, Lorg/apache/http/auth/AuthState;->getState()Lorg/apache/http/auth/AuthProtocolState; move-result-object v4 sget-object v5, Lorg/apache/http/auth/AuthProtocolState;->UNCHALLENGED:Lorg/apache/http/auth/AuthProtocolState; if-ne v4, v5, :cond_79 .line 108 invoke-interface {p2, v2}, Lorg/apache/http/client/AuthCache;->get(Lorg/apache/http/HttpHost;)Lorg/apache/http/auth/AuthScheme; move-result-object v4 if-eqz v4, :cond_79 .line 110 invoke-direct {p0, v2, v4, v3, v0}, Lorg/apache/http/client/protocol/RequestAuthCache;->doPreemptiveAuth(Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/AuthState;Lorg/apache/http/client/CredentialsProvider;)V .line 114 :cond_79 invoke-interface {v1}, Lorg/apache/http/conn/routing/RouteInfo;->getProxyHost()Lorg/apache/http/HttpHost; move-result-object v1 .line 115 invoke-virtual {p1}, Lorg/apache/http/client/protocol/HttpClientContext;->getProxyAuthState()Lorg/apache/http/auth/AuthState; move-result-object p1 if-eqz v1, :cond_96 if-eqz p1, :cond_96 .line 116 invoke-virtual {p1}, Lorg/apache/http/auth/AuthState;->getState()Lorg/apache/http/auth/AuthProtocolState; move-result-object v2 sget-object v3, Lorg/apache/http/auth/AuthProtocolState;->UNCHALLENGED:Lorg/apache/http/auth/AuthProtocolState; if-ne v2, v3, :cond_96 .line 117 invoke-interface {p2, v1}, Lorg/apache/http/client/AuthCache;->get(Lorg/apache/http/HttpHost;)Lorg/apache/http/auth/AuthScheme; move-result-object p2 if-eqz p2, :cond_96 .line 119 invoke-direct {p0, v1, p2, p1, v0}, Lorg/apache/http/client/protocol/RequestAuthCache;->doPreemptiveAuth(Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/AuthState;Lorg/apache/http/client/CredentialsProvider;)V :cond_96 return-void .end method