public class org.apache.http.client.protocol.RequestAuthCache implements org.apache.http.HttpRequestInterceptor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.http.client.protocol.RequestAuthCache
  super_class: java.lang.Object
{
  private final org.apache.commons.logging.Log log;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.http.client.protocol.RequestAuthCache this
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putfield org.apache.http.client.protocol.RequestAuthCache.log:Lorg/apache/commons/logging/Log;
         2: .line 65
            return
        end local 0 // org.apache.http.client.protocol.RequestAuthCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/http/client/protocol/RequestAuthCache;

  public void process(org.apache.http.HttpRequest, org.apache.http.protocol.HttpContext);
    descriptor: (Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // org.apache.http.client.protocol.RequestAuthCache this
        start local 1 // org.apache.http.HttpRequest request
        start local 2 // org.apache.http.protocol.HttpContext context
         0: .line 70
            aload 1 /* request */
            ldc "HTTP request"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 71
            aload 2 /* context */
            ldc "HTTP context"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 73
            aload 2 /* context */
            invokestatic org.apache.http.client.protocol.HttpClientContext.adapt:(Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/client/protocol/HttpClientContext;
            astore 3 /* clientContext */
        start local 3 // org.apache.http.client.protocol.HttpClientContext clientContext
         3: .line 75
            aload 3 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getAuthCache:()Lorg/apache/http/client/AuthCache;
            astore 4 /* authCache */
        start local 4 // org.apache.http.client.AuthCache authCache
         4: .line 76
            aload 4 /* authCache */
            ifnonnull 7
         5: .line 77
            aload 0 /* this */
            getfield org.apache.http.client.protocol.RequestAuthCache.log:Lorg/apache/commons/logging/Log;
            ldc "Auth cache not set in the context"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         6: .line 78
            return
         7: .line 81
      StackMap locals: org.apache.http.client.protocol.HttpClientContext org.apache.http.client.AuthCache
      StackMap stack:
            aload 3 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getCredentialsProvider:()Lorg/apache/http/client/CredentialsProvider;
            astore 5 /* credsProvider */
        start local 5 // org.apache.http.client.CredentialsProvider credsProvider
         8: .line 82
            aload 5 /* credsProvider */
            ifnonnull 11
         9: .line 83
            aload 0 /* this */
            getfield org.apache.http.client.protocol.RequestAuthCache.log:Lorg/apache/commons/logging/Log;
            ldc "Credentials provider not set in the context"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        10: .line 84
            return
        11: .line 87
      StackMap locals: org.apache.http.client.CredentialsProvider
      StackMap stack:
            aload 3 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getHttpRoute:()Lorg/apache/http/conn/routing/RouteInfo;
            astore 6 /* route */
        start local 6 // org.apache.http.conn.routing.RouteInfo route
        12: .line 88
            aload 6 /* route */
            ifnonnull 15
        13: .line 89
            aload 0 /* this */
            getfield org.apache.http.client.protocol.RequestAuthCache.log:Lorg/apache/commons/logging/Log;
            ldc "Route info not set in the context"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        14: .line 90
            return
        15: .line 93
      StackMap locals: org.apache.http.conn.routing.RouteInfo
      StackMap stack:
            aload 3 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getTargetHost:()Lorg/apache/http/HttpHost;
            astore 7 /* target */
        start local 7 // org.apache.http.HttpHost target
        16: .line 94
            aload 7 /* target */
            ifnonnull 19
        17: .line 95
            aload 0 /* this */
            getfield org.apache.http.client.protocol.RequestAuthCache.log:Lorg/apache/commons/logging/Log;
            ldc "Target host not set in the context"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        18: .line 96
            return
        19: .line 99
      StackMap locals: org.apache.http.HttpHost
      StackMap stack:
            aload 7 /* target */
            invokevirtual org.apache.http.HttpHost.getPort:()I
            ifge 25
        20: .line 100
            new org.apache.http.HttpHost
            dup
        21: .line 101
            aload 7 /* target */
            invokevirtual org.apache.http.HttpHost.getHostName:()Ljava/lang/String;
        22: .line 102
            aload 6 /* route */
            invokeinterface org.apache.http.conn.routing.RouteInfo.getTargetHost:()Lorg/apache/http/HttpHost;
            invokevirtual org.apache.http.HttpHost.getPort:()I
        23: .line 103
            aload 7 /* target */
            invokevirtual org.apache.http.HttpHost.getSchemeName:()Ljava/lang/String;
        24: .line 100
            invokespecial org.apache.http.HttpHost.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            astore 7 /* target */
        25: .line 106
      StackMap locals:
      StackMap stack:
            aload 3 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getTargetAuthState:()Lorg/apache/http/auth/AuthState;
            astore 8 /* targetState */
        start local 8 // org.apache.http.auth.AuthState targetState
        26: .line 107
            aload 8 /* targetState */
            ifnull 30
            aload 8 /* targetState */
            invokevirtual org.apache.http.auth.AuthState.getState:()Lorg/apache/http/auth/AuthProtocolState;
            getstatic org.apache.http.auth.AuthProtocolState.UNCHALLENGED:Lorg/apache/http/auth/AuthProtocolState;
            if_acmpne 30
        27: .line 108
            aload 4 /* authCache */
            aload 7 /* target */
            invokeinterface org.apache.http.client.AuthCache.get:(Lorg/apache/http/HttpHost;)Lorg/apache/http/auth/AuthScheme;
            astore 9 /* authScheme */
        start local 9 // org.apache.http.auth.AuthScheme authScheme
        28: .line 109
            aload 9 /* authScheme */
            ifnull 30
        29: .line 110
            aload 0 /* this */
            aload 7 /* target */
            aload 9 /* authScheme */
            aload 8 /* targetState */
            aload 5 /* credsProvider */
            invokevirtual org.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
        end local 9 // org.apache.http.auth.AuthScheme authScheme
        30: .line 114
      StackMap locals: org.apache.http.auth.AuthState
      StackMap stack:
            aload 6 /* route */
            invokeinterface org.apache.http.conn.routing.RouteInfo.getProxyHost:()Lorg/apache/http/HttpHost;
            astore 9 /* proxy */
        start local 9 // org.apache.http.HttpHost proxy
        31: .line 115
            aload 3 /* clientContext */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getProxyAuthState:()Lorg/apache/http/auth/AuthState;
            astore 10 /* proxyState */
        start local 10 // org.apache.http.auth.AuthState proxyState
        32: .line 116
            aload 9 /* proxy */
            ifnull 36
            aload 10 /* proxyState */
            ifnull 36
            aload 10 /* proxyState */
            invokevirtual org.apache.http.auth.AuthState.getState:()Lorg/apache/http/auth/AuthProtocolState;
            getstatic org.apache.http.auth.AuthProtocolState.UNCHALLENGED:Lorg/apache/http/auth/AuthProtocolState;
            if_acmpne 36
        33: .line 117
            aload 4 /* authCache */
            aload 9 /* proxy */
            invokeinterface org.apache.http.client.AuthCache.get:(Lorg/apache/http/HttpHost;)Lorg/apache/http/auth/AuthScheme;
            astore 11 /* authScheme */
        start local 11 // org.apache.http.auth.AuthScheme authScheme
        34: .line 118
            aload 11 /* authScheme */
            ifnull 36
        35: .line 119
            aload 0 /* this */
            aload 9 /* proxy */
            aload 11 /* authScheme */
            aload 10 /* proxyState */
            aload 5 /* credsProvider */
            invokevirtual org.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
        end local 11 // org.apache.http.auth.AuthScheme authScheme
        36: .line 122
      StackMap locals: org.apache.http.HttpHost org.apache.http.auth.AuthState
      StackMap stack:
            return
        end local 10 // org.apache.http.auth.AuthState proxyState
        end local 9 // org.apache.http.HttpHost proxy
        end local 8 // org.apache.http.auth.AuthState targetState
        end local 7 // org.apache.http.HttpHost target
        end local 6 // org.apache.http.conn.routing.RouteInfo route
        end local 5 // org.apache.http.client.CredentialsProvider credsProvider
        end local 4 // org.apache.http.client.AuthCache authCache
        end local 3 // org.apache.http.client.protocol.HttpClientContext clientContext
        end local 2 // org.apache.http.protocol.HttpContext context
        end local 1 // org.apache.http.HttpRequest request
        end local 0 // org.apache.http.client.protocol.RequestAuthCache this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   37     0           this  Lorg/apache/http/client/protocol/RequestAuthCache;
            0   37     1        request  Lorg/apache/http/HttpRequest;
            0   37     2        context  Lorg/apache/http/protocol/HttpContext;
            3   37     3  clientContext  Lorg/apache/http/client/protocol/HttpClientContext;
            4   37     4      authCache  Lorg/apache/http/client/AuthCache;
            8   37     5  credsProvider  Lorg/apache/http/client/CredentialsProvider;
           12   37     6          route  Lorg/apache/http/conn/routing/RouteInfo;
           16   37     7         target  Lorg/apache/http/HttpHost;
           26   37     8    targetState  Lorg/apache/http/auth/AuthState;
           28   30     9     authScheme  Lorg/apache/http/auth/AuthScheme;
           31   37     9          proxy  Lorg/apache/http/HttpHost;
           32   37    10     proxyState  Lorg/apache/http/auth/AuthState;
           34   36    11     authScheme  Lorg/apache/http/auth/AuthScheme;
    Exceptions:
      throws org.apache.http.HttpException, java.io.IOException
    MethodParameters:
         Name  Flags
      request  final
      context  final

  private void doPreemptiveAuth(org.apache.http.HttpHost, org.apache.http.auth.AuthScheme, org.apache.http.auth.AuthState, org.apache.http.client.CredentialsProvider);
    descriptor: (Lorg/apache/http/HttpHost;Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/AuthState;Lorg/apache/http/client/CredentialsProvider;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.apache.http.client.protocol.RequestAuthCache this
        start local 1 // org.apache.http.HttpHost host
        start local 2 // org.apache.http.auth.AuthScheme authScheme
        start local 3 // org.apache.http.auth.AuthState authState
        start local 4 // org.apache.http.client.CredentialsProvider credsProvider
         0: .line 129
            aload 2 /* authScheme */
            invokeinterface org.apache.http.auth.AuthScheme.getSchemeName:()Ljava/lang/String;
            astore 5 /* schemeName */
        start local 5 // java.lang.String schemeName
         1: .line 130
            aload 0 /* this */
            getfield org.apache.http.client.protocol.RequestAuthCache.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 3
         2: .line 131
            aload 0 /* this */
            getfield org.apache.http.client.protocol.RequestAuthCache.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Re-using cached '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* schemeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' auth scheme for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* host */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         3: .line 134
      StackMap locals: java.lang.String
      StackMap stack:
            new org.apache.http.auth.AuthScope
            dup
            aload 1 /* host */
            getstatic org.apache.http.auth.AuthScope.ANY_REALM:Ljava/lang/String;
            aload 5 /* schemeName */
            invokespecial org.apache.http.auth.AuthScope.<init>:(Lorg/apache/http/HttpHost;Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* authScope */
        start local 6 // org.apache.http.auth.AuthScope authScope
         4: .line 135
            aload 4 /* credsProvider */
            aload 6 /* authScope */
            invokeinterface org.apache.http.client.CredentialsProvider.getCredentials:(Lorg/apache/http/auth/AuthScope;)Lorg/apache/http/auth/Credentials;
            astore 7 /* creds */
        start local 7 // org.apache.http.auth.Credentials creds
         5: .line 137
            aload 7 /* creds */
            ifnull 8
         6: .line 138
            aload 3 /* authState */
            aload 2 /* authScheme */
            aload 7 /* creds */
            invokevirtual org.apache.http.auth.AuthState.update:(Lorg/apache/http/auth/AuthScheme;Lorg/apache/http/auth/Credentials;)V
         7: .line 139
            goto 9
         8: .line 140
      StackMap locals: org.apache.http.auth.AuthScope org.apache.http.auth.Credentials
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.client.protocol.RequestAuthCache.log:Lorg/apache/commons/logging/Log;
            ldc "No credentials for preemptive authentication"
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         9: .line 142
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.apache.http.auth.Credentials creds
        end local 6 // org.apache.http.auth.AuthScope authScope
        end local 5 // java.lang.String schemeName
        end local 4 // org.apache.http.client.CredentialsProvider credsProvider
        end local 3 // org.apache.http.auth.AuthState authState
        end local 2 // org.apache.http.auth.AuthScheme authScheme
        end local 1 // org.apache.http.HttpHost host
        end local 0 // org.apache.http.client.protocol.RequestAuthCache this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/apache/http/client/protocol/RequestAuthCache;
            0   10     1           host  Lorg/apache/http/HttpHost;
            0   10     2     authScheme  Lorg/apache/http/auth/AuthScheme;
            0   10     3      authState  Lorg/apache/http/auth/AuthState;
            0   10     4  credsProvider  Lorg/apache/http/client/CredentialsProvider;
            1   10     5     schemeName  Ljava/lang/String;
            4   10     6      authScope  Lorg/apache/http/auth/AuthScope;
            5   10     7          creds  Lorg/apache/http/auth/Credentials;
    MethodParameters:
               Name  Flags
      host           final
      authScheme     final
      authState      final
      credsProvider  final
}
SourceFile: "RequestAuthCache.java"
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE:Lorg/apache/http/annotation/ThreadingBehavior;)