public class org.apache.http.impl.execchain.MinimalClientExec implements org.apache.http.impl.execchain.ClientExecChain
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.http.impl.execchain.MinimalClientExec
  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

  private final org.apache.http.protocol.HttpRequestExecutor requestExecutor;
    descriptor: Lorg/apache/http/protocol/HttpRequestExecutor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.http.conn.HttpClientConnectionManager connManager;
    descriptor: Lorg/apache/http/conn/HttpClientConnectionManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.http.ConnectionReuseStrategy reuseStrategy;
    descriptor: Lorg/apache/http/ConnectionReuseStrategy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.http.conn.ConnectionKeepAliveStrategy keepAliveStrategy;
    descriptor: Lorg/apache/http/conn/ConnectionKeepAliveStrategy;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.http.protocol.HttpProcessor httpProcessor;
    descriptor: Lorg/apache/http/protocol/HttpProcessor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.apache.http.protocol.HttpRequestExecutor, org.apache.http.conn.HttpClientConnectionManager, org.apache.http.ConnectionReuseStrategy, org.apache.http.conn.ConnectionKeepAliveStrategy);
    descriptor: (Lorg/apache/http/protocol/HttpRequestExecutor;Lorg/apache/http/conn/HttpClientConnectionManager;Lorg/apache/http/ConnectionReuseStrategy;Lorg/apache/http/conn/ConnectionKeepAliveStrategy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=5, args_size=5
        start local 0 // org.apache.http.impl.execchain.MinimalClientExec this
        start local 1 // org.apache.http.protocol.HttpRequestExecutor requestExecutor
        start local 2 // org.apache.http.conn.HttpClientConnectionManager connManager
        start local 3 // org.apache.http.ConnectionReuseStrategy reuseStrategy
        start local 4 // org.apache.http.conn.ConnectionKeepAliveStrategy keepAliveStrategy
         0: .line 95
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 87
            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.impl.execchain.MinimalClientExec.log:Lorg/apache/commons/logging/Log;
         2: .line 100
            aload 1 /* requestExecutor */
            ldc "HTTP request executor"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 101
            aload 2 /* connManager */
            ldc "Client connection manager"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 102
            aload 3 /* reuseStrategy */
            ldc "Connection reuse strategy"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         5: .line 103
            aload 4 /* keepAliveStrategy */
            ldc "Connection keep alive strategy"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         6: .line 104
            aload 0 /* this */
            new org.apache.http.protocol.ImmutableHttpProcessor
            dup
            iconst_4
            anewarray org.apache.http.HttpRequestInterceptor
            dup
            iconst_0
         7: .line 105
            new org.apache.http.protocol.RequestContent
            dup
            invokespecial org.apache.http.protocol.RequestContent.<init>:()V
            aastore
            dup
            iconst_1
         8: .line 106
            new org.apache.http.protocol.RequestTargetHost
            dup
            invokespecial org.apache.http.protocol.RequestTargetHost.<init>:()V
            aastore
            dup
            iconst_2
         9: .line 107
            new org.apache.http.client.protocol.RequestClientConnControl
            dup
            invokespecial org.apache.http.client.protocol.RequestClientConnControl.<init>:()V
            aastore
            dup
            iconst_3
        10: .line 108
            new org.apache.http.protocol.RequestUserAgent
            dup
        11: .line 109
            ldc "Apache-HttpClient"
            ldc "org.apache.http.client"
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
        12: .line 108
            invokestatic org.apache.http.util.VersionInfo.getUserAgent:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/String;
            invokespecial org.apache.http.protocol.RequestUserAgent.<init>:(Ljava/lang/String;)V
            aastore
            invokespecial org.apache.http.protocol.ImmutableHttpProcessor.<init>:([Lorg/apache/http/HttpRequestInterceptor;)V
        13: .line 104
            putfield org.apache.http.impl.execchain.MinimalClientExec.httpProcessor:Lorg/apache/http/protocol/HttpProcessor;
        14: .line 110
            aload 0 /* this */
            aload 1 /* requestExecutor */
            putfield org.apache.http.impl.execchain.MinimalClientExec.requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor;
        15: .line 111
            aload 0 /* this */
            aload 2 /* connManager */
            putfield org.apache.http.impl.execchain.MinimalClientExec.connManager:Lorg/apache/http/conn/HttpClientConnectionManager;
        16: .line 112
            aload 0 /* this */
            aload 3 /* reuseStrategy */
            putfield org.apache.http.impl.execchain.MinimalClientExec.reuseStrategy:Lorg/apache/http/ConnectionReuseStrategy;
        17: .line 113
            aload 0 /* this */
            aload 4 /* keepAliveStrategy */
            putfield org.apache.http.impl.execchain.MinimalClientExec.keepAliveStrategy:Lorg/apache/http/conn/ConnectionKeepAliveStrategy;
        18: .line 114
            return
        end local 4 // org.apache.http.conn.ConnectionKeepAliveStrategy keepAliveStrategy
        end local 3 // org.apache.http.ConnectionReuseStrategy reuseStrategy
        end local 2 // org.apache.http.conn.HttpClientConnectionManager connManager
        end local 1 // org.apache.http.protocol.HttpRequestExecutor requestExecutor
        end local 0 // org.apache.http.impl.execchain.MinimalClientExec this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   19     0               this  Lorg/apache/http/impl/execchain/MinimalClientExec;
            0   19     1    requestExecutor  Lorg/apache/http/protocol/HttpRequestExecutor;
            0   19     2        connManager  Lorg/apache/http/conn/HttpClientConnectionManager;
            0   19     3      reuseStrategy  Lorg/apache/http/ConnectionReuseStrategy;
            0   19     4  keepAliveStrategy  Lorg/apache/http/conn/ConnectionKeepAliveStrategy;
    MethodParameters:
                   Name  Flags
      requestExecutor    final
      connManager        final
      reuseStrategy      final
      keepAliveStrategy  final

  static void rewriteRequestURI(org.apache.http.client.methods.HttpRequestWrapper, org.apache.http.conn.routing.HttpRoute, boolean);
    descriptor: (Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;Z)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.http.client.methods.HttpRequestWrapper request
        start local 1 // org.apache.http.conn.routing.HttpRoute route
        start local 2 // boolean normalizeUri
         0: .line 121
            aload 0 /* request */
            invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getURI:()Ljava/net/URI;
            astore 3 /* uri */
        start local 3 // java.net.URI uri
         1: .line 122
            aload 3 /* uri */
            ifnull 12
         2: .line 124
            aload 3 /* uri */
            invokevirtual java.net.URI.isAbsolute:()Z
            ifeq 7
         3: .line 125
            aload 3 /* uri */
            aconst_null
            iload 2 /* normalizeUri */
            ifeq 4
            getstatic org.apache.http.client.utils.URIUtils.DROP_FRAGMENT_AND_NORMALIZE:Ljava/util/EnumSet;
            goto 5
      StackMap locals: org.apache.http.client.methods.HttpRequestWrapper org.apache.http.conn.routing.HttpRoute int java.net.URI
      StackMap stack: java.net.URI null
         4: getstatic org.apache.http.client.utils.URIUtils.DROP_FRAGMENT:Ljava/util/EnumSet;
      StackMap locals: org.apache.http.client.methods.HttpRequestWrapper org.apache.http.conn.routing.HttpRoute int java.net.URI
      StackMap stack: java.net.URI null java.util.EnumSet
         5: invokestatic org.apache.http.client.utils.URIUtils.rewriteURI:(Ljava/net/URI;Lorg/apache/http/HttpHost;Ljava/util/EnumSet;)Ljava/net/URI;
            astore 3 /* uri */
         6: .line 126
            goto 8
         7: .line 127
      StackMap locals:
      StackMap stack:
            aload 3 /* uri */
            invokestatic org.apache.http.client.utils.URIUtils.rewriteURI:(Ljava/net/URI;)Ljava/net/URI;
            astore 3 /* uri */
         8: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* request */
            aload 3 /* uri */
            invokevirtual org.apache.http.client.methods.HttpRequestWrapper.setURI:(Ljava/net/URI;)V
        end local 3 // java.net.URI uri
         9: .line 131
            goto 12
      StackMap locals: org.apache.http.client.methods.HttpRequestWrapper org.apache.http.conn.routing.HttpRoute int
      StackMap stack: java.net.URISyntaxException
        10: astore 3 /* ex */
        start local 3 // java.net.URISyntaxException ex
        11: .line 132
            new org.apache.http.ProtocolException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid URI: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* request */
            invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getRequestLine:()Lorg/apache/http/RequestLine;
            invokeinterface org.apache.http.RequestLine.getUri:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* ex */
            invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.net.URISyntaxException ex
        12: .line 134
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean normalizeUri
        end local 1 // org.apache.http.conn.routing.HttpRoute route
        end local 0 // org.apache.http.client.methods.HttpRequestWrapper request
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   13     0       request  Lorg/apache/http/client/methods/HttpRequestWrapper;
            0   13     1         route  Lorg/apache/http/conn/routing/HttpRoute;
            0   13     2  normalizeUri  Z
            1    9     3           uri  Ljava/net/URI;
           11   12     3            ex  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
           0     9      10  Class java.net.URISyntaxException
    Exceptions:
      throws org.apache.http.ProtocolException
    MethodParameters:
              Name  Flags
      request       final
      route         final
      normalizeUri  final

  public org.apache.http.client.methods.CloseableHttpResponse execute(org.apache.http.conn.routing.HttpRoute, org.apache.http.client.methods.HttpRequestWrapper, org.apache.http.client.protocol.HttpClientContext, org.apache.http.client.methods.HttpExecutionAware);
    descriptor: (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;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=5
        start local 0 // org.apache.http.impl.execchain.MinimalClientExec this
        start local 1 // org.apache.http.conn.routing.HttpRoute route
        start local 2 // org.apache.http.client.methods.HttpRequestWrapper request
        start local 3 // org.apache.http.client.protocol.HttpClientContext context
        start local 4 // org.apache.http.client.methods.HttpExecutionAware execAware
         0: .line 142
            aload 1 /* route */
            ldc "HTTP route"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 143
            aload 2 /* request */
            ldc "HTTP request"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 144
            aload 3 /* context */
            ldc "HTTP context"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 146
            aload 2 /* request */
            aload 1 /* route */
            aload 3 /* context */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getRequestConfig:()Lorg/apache/http/client/config/RequestConfig;
            invokevirtual org.apache.http.client.config.RequestConfig.isNormalizeUri:()Z
            invokestatic org.apache.http.impl.execchain.MinimalClientExec.rewriteRequestURI:(Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;Z)V
         4: .line 148
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.connManager:Lorg/apache/http/conn/HttpClientConnectionManager;
            aload 1 /* route */
            aconst_null
            invokeinterface org.apache.http.conn.HttpClientConnectionManager.requestConnection:(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ConnectionRequest;
            astore 5 /* connRequest */
        start local 5 // org.apache.http.conn.ConnectionRequest connRequest
         5: .line 149
            aload 4 /* execAware */
            ifnull 10
         6: .line 150
            aload 4 /* execAware */
            invokeinterface org.apache.http.client.methods.HttpExecutionAware.isAborted:()Z
            ifeq 9
         7: .line 151
            aload 5 /* connRequest */
            invokeinterface org.apache.http.conn.ConnectionRequest.cancel:()Z
            pop
         8: .line 152
            new org.apache.http.impl.execchain.RequestAbortedException
            dup
            ldc "Request aborted"
            invokespecial org.apache.http.impl.execchain.RequestAbortedException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 154
      StackMap locals: org.apache.http.conn.ConnectionRequest
      StackMap stack:
            aload 4 /* execAware */
            aload 5 /* connRequest */
            invokeinterface org.apache.http.client.methods.HttpExecutionAware.setCancellable:(Lorg/apache/http/concurrent/Cancellable;)V
        10: .line 157
      StackMap locals:
      StackMap stack:
            aload 3 /* context */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.getRequestConfig:()Lorg/apache/http/client/config/RequestConfig;
            astore 6 /* config */
        start local 6 // org.apache.http.client.config.RequestConfig config
        11: .line 161
            aload 6 /* config */
            invokevirtual org.apache.http.client.config.RequestConfig.getConnectionRequestTimeout:()I
            istore 8 /* timeout */
        start local 8 // int timeout
        12: .line 162
            aload 5 /* connRequest */
            iload 8 /* timeout */
            ifle 13
            iload 8 /* timeout */
            goto 14
      StackMap locals: org.apache.http.impl.execchain.MinimalClientExec org.apache.http.conn.routing.HttpRoute org.apache.http.client.methods.HttpRequestWrapper org.apache.http.client.protocol.HttpClientContext org.apache.http.client.methods.HttpExecutionAware org.apache.http.conn.ConnectionRequest org.apache.http.client.config.RequestConfig top int
      StackMap stack: org.apache.http.conn.ConnectionRequest
        13: iconst_0
      StackMap locals: org.apache.http.impl.execchain.MinimalClientExec org.apache.http.conn.routing.HttpRoute org.apache.http.client.methods.HttpRequestWrapper org.apache.http.client.protocol.HttpClientContext org.apache.http.client.methods.HttpExecutionAware org.apache.http.conn.ConnectionRequest org.apache.http.client.config.RequestConfig top int
      StackMap stack: org.apache.http.conn.ConnectionRequest int
        14: i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface org.apache.http.conn.ConnectionRequest.get:(JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/HttpClientConnection;
            astore 7 /* managedConn */
        end local 8 // int timeout
        start local 7 // org.apache.http.HttpClientConnection managedConn
        15: .line 163
            goto 24
        end local 7 // org.apache.http.HttpClientConnection managedConn
      StackMap locals: org.apache.http.impl.execchain.MinimalClientExec org.apache.http.conn.routing.HttpRoute org.apache.http.client.methods.HttpRequestWrapper org.apache.http.client.protocol.HttpClientContext org.apache.http.client.methods.HttpExecutionAware org.apache.http.conn.ConnectionRequest org.apache.http.client.config.RequestConfig
      StackMap stack: java.lang.InterruptedException
        16: astore 8 /* interrupted */
        start local 8 // java.lang.InterruptedException interrupted
        17: .line 164
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        18: .line 165
            new org.apache.http.impl.execchain.RequestAbortedException
            dup
            ldc "Request aborted"
            aload 8 /* interrupted */
            invokespecial org.apache.http.impl.execchain.RequestAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.InterruptedException interrupted
        19: .line 166
      StackMap locals:
      StackMap stack: java.util.concurrent.ExecutionException
            astore 8 /* ex */
        start local 8 // java.util.concurrent.ExecutionException ex
        20: .line 167
            aload 8 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            astore 9 /* cause */
        start local 9 // java.lang.Throwable cause
        21: .line 168
            aload 9 /* cause */
            ifnonnull 23
        22: .line 169
            aload 8 /* ex */
            astore 9 /* cause */
        23: .line 171
      StackMap locals: org.apache.http.impl.execchain.MinimalClientExec org.apache.http.conn.routing.HttpRoute org.apache.http.client.methods.HttpRequestWrapper org.apache.http.client.protocol.HttpClientContext org.apache.http.client.methods.HttpExecutionAware org.apache.http.conn.ConnectionRequest org.apache.http.client.config.RequestConfig top java.util.concurrent.ExecutionException java.lang.Throwable
      StackMap stack:
            new org.apache.http.impl.execchain.RequestAbortedException
            dup
            ldc "Request execution failed"
            aload 9 /* cause */
            invokespecial org.apache.http.impl.execchain.RequestAbortedException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.lang.Throwable cause
        end local 8 // java.util.concurrent.ExecutionException ex
        start local 7 // org.apache.http.HttpClientConnection managedConn
        24: .line 174
      StackMap locals: org.apache.http.impl.execchain.MinimalClientExec org.apache.http.conn.routing.HttpRoute org.apache.http.client.methods.HttpRequestWrapper org.apache.http.client.protocol.HttpClientContext org.apache.http.client.methods.HttpExecutionAware org.apache.http.conn.ConnectionRequest org.apache.http.client.config.RequestConfig org.apache.http.HttpClientConnection
      StackMap stack:
            new org.apache.http.impl.execchain.ConnectionHolder
            dup
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.log:Lorg/apache/commons/logging/Log;
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.connManager:Lorg/apache/http/conn/HttpClientConnectionManager;
            aload 7 /* managedConn */
            invokespecial org.apache.http.impl.execchain.ConnectionHolder.<init>:(Lorg/apache/commons/logging/Log;Lorg/apache/http/conn/HttpClientConnectionManager;Lorg/apache/http/HttpClientConnection;)V
            astore 8 /* releaseTrigger */
        start local 8 // org.apache.http.impl.execchain.ConnectionHolder releaseTrigger
        25: .line 176
            aload 4 /* execAware */
            ifnull 30
        26: .line 177
            aload 4 /* execAware */
            invokeinterface org.apache.http.client.methods.HttpExecutionAware.isAborted:()Z
            ifeq 29
        27: .line 178
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.close:()V
        28: .line 179
            new org.apache.http.impl.execchain.RequestAbortedException
            dup
            ldc "Request aborted"
            invokespecial org.apache.http.impl.execchain.RequestAbortedException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 181
      StackMap locals: org.apache.http.impl.execchain.ConnectionHolder
      StackMap stack:
            aload 4 /* execAware */
            aload 8 /* releaseTrigger */
            invokeinterface org.apache.http.client.methods.HttpExecutionAware.setCancellable:(Lorg/apache/http/concurrent/Cancellable;)V
        30: .line 184
      StackMap locals:
      StackMap stack:
            aload 7 /* managedConn */
            invokeinterface org.apache.http.HttpClientConnection.isOpen:()Z
            ifne 40
        31: .line 185
            aload 6 /* config */
            invokevirtual org.apache.http.client.config.RequestConfig.getConnectTimeout:()I
            istore 9 /* timeout */
        start local 9 // int timeout
        32: .line 186
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.connManager:Lorg/apache/http/conn/HttpClientConnectionManager;
        33: .line 187
            aload 7 /* managedConn */
        34: .line 188
            aload 1 /* route */
        35: .line 189
            iload 9 /* timeout */
            ifle 36
            iload 9 /* timeout */
            goto 37
      StackMap locals: org.apache.http.impl.execchain.MinimalClientExec org.apache.http.conn.routing.HttpRoute org.apache.http.client.methods.HttpRequestWrapper org.apache.http.client.protocol.HttpClientContext org.apache.http.client.methods.HttpExecutionAware org.apache.http.conn.ConnectionRequest org.apache.http.client.config.RequestConfig org.apache.http.HttpClientConnection org.apache.http.impl.execchain.ConnectionHolder int
      StackMap stack: org.apache.http.conn.HttpClientConnectionManager org.apache.http.HttpClientConnection org.apache.http.conn.routing.HttpRoute
        36: iconst_0
        37: .line 190
      StackMap locals: org.apache.http.impl.execchain.MinimalClientExec org.apache.http.conn.routing.HttpRoute org.apache.http.client.methods.HttpRequestWrapper org.apache.http.client.protocol.HttpClientContext org.apache.http.client.methods.HttpExecutionAware org.apache.http.conn.ConnectionRequest org.apache.http.client.config.RequestConfig org.apache.http.HttpClientConnection org.apache.http.impl.execchain.ConnectionHolder int
      StackMap stack: org.apache.http.conn.HttpClientConnectionManager org.apache.http.HttpClientConnection org.apache.http.conn.routing.HttpRoute int
            aload 3 /* context */
        38: .line 186
            invokeinterface org.apache.http.conn.HttpClientConnectionManager.connect:(Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;ILorg/apache/http/protocol/HttpContext;)V
        39: .line 191
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.connManager:Lorg/apache/http/conn/HttpClientConnectionManager;
            aload 7 /* managedConn */
            aload 1 /* route */
            aload 3 /* context */
            invokeinterface org.apache.http.conn.HttpClientConnectionManager.routeComplete:(Lorg/apache/http/HttpClientConnection;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;)V
        end local 9 // int timeout
        40: .line 193
      StackMap locals:
      StackMap stack:
            aload 6 /* config */
            invokevirtual org.apache.http.client.config.RequestConfig.getSocketTimeout:()I
            istore 9 /* timeout */
        start local 9 // int timeout
        41: .line 194
            iload 9 /* timeout */
            iflt 43
        42: .line 195
            aload 7 /* managedConn */
            iload 9 /* timeout */
            invokeinterface org.apache.http.HttpClientConnection.setSocketTimeout:(I)V
        43: .line 198
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 10 /* target */
        start local 10 // org.apache.http.HttpHost target
        44: .line 199
            aload 2 /* request */
            invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getOriginal:()Lorg/apache/http/HttpRequest;
            astore 11 /* original */
        start local 11 // org.apache.http.HttpRequest original
        45: .line 200
            aload 11 /* original */
            instanceof org.apache.http.client.methods.HttpUriRequest
            ifeq 49
        46: .line 201
            aload 11 /* original */
            checkcast org.apache.http.client.methods.HttpUriRequest
            invokeinterface org.apache.http.client.methods.HttpUriRequest.getURI:()Ljava/net/URI;
            astore 12 /* uri */
        start local 12 // java.net.URI uri
        47: .line 202
            aload 12 /* uri */
            invokevirtual java.net.URI.isAbsolute:()Z
            ifeq 49
        48: .line 203
            new org.apache.http.HttpHost
            dup
            aload 12 /* uri */
            invokevirtual java.net.URI.getHost:()Ljava/lang/String;
            aload 12 /* uri */
            invokevirtual java.net.URI.getPort:()I
            aload 12 /* uri */
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            invokespecial org.apache.http.HttpHost.<init>:(Ljava/lang/String;ILjava/lang/String;)V
            astore 10 /* target */
        end local 12 // java.net.URI uri
        49: .line 206
      StackMap locals: org.apache.http.HttpHost org.apache.http.HttpRequest
      StackMap stack:
            aload 10 /* target */
            ifnonnull 51
        50: .line 207
            aload 1 /* route */
            invokevirtual org.apache.http.conn.routing.HttpRoute.getTargetHost:()Lorg/apache/http/HttpHost;
            astore 10 /* target */
        51: .line 210
      StackMap locals:
      StackMap stack:
            aload 3 /* context */
            ldc "http.target_host"
            aload 10 /* target */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        52: .line 211
            aload 3 /* context */
            ldc "http.request"
            aload 2 /* request */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        53: .line 212
            aload 3 /* context */
            ldc "http.connection"
            aload 7 /* managedConn */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        54: .line 213
            aload 3 /* context */
            ldc "http.route"
            aload 1 /* route */
            invokevirtual org.apache.http.client.protocol.HttpClientContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
        55: .line 215
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.httpProcessor:Lorg/apache/http/protocol/HttpProcessor;
            aload 2 /* request */
            aload 3 /* context */
            invokeinterface org.apache.http.protocol.HttpProcessor.process:(Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)V
        56: .line 216
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor;
            aload 2 /* request */
            aload 7 /* managedConn */
            aload 3 /* context */
            invokevirtual org.apache.http.protocol.HttpRequestExecutor.execute:(Lorg/apache/http/HttpRequest;Lorg/apache/http/HttpClientConnection;Lorg/apache/http/protocol/HttpContext;)Lorg/apache/http/HttpResponse;
            astore 12 /* response */
        start local 12 // org.apache.http.HttpResponse response
        57: .line 217
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.httpProcessor:Lorg/apache/http/protocol/HttpProcessor;
            aload 12 /* response */
            aload 3 /* context */
            invokeinterface org.apache.http.protocol.HttpProcessor.process:(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V
        58: .line 220
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.reuseStrategy:Lorg/apache/http/ConnectionReuseStrategy;
            aload 12 /* response */
            aload 3 /* context */
            invokeinterface org.apache.http.ConnectionReuseStrategy.keepAlive:(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)Z
            ifeq 63
        59: .line 222
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.keepAliveStrategy:Lorg/apache/http/conn/ConnectionKeepAliveStrategy;
            aload 12 /* response */
            aload 3 /* context */
            invokeinterface org.apache.http.conn.ConnectionKeepAliveStrategy.getKeepAliveDuration:(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)J
            lstore 13 /* duration */
        start local 13 // long duration
        60: .line 223
            aload 8 /* releaseTrigger */
            lload 13 /* duration */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.setValidFor:(JLjava/util/concurrent/TimeUnit;)V
        61: .line 224
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.markReusable:()V
        end local 13 // long duration
        62: .line 225
            goto 64
        63: .line 226
      StackMap locals: org.apache.http.HttpResponse
      StackMap stack:
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.markNonReusable:()V
        64: .line 230
      StackMap locals:
      StackMap stack:
            aload 12 /* response */
            invokeinterface org.apache.http.HttpResponse.getEntity:()Lorg/apache/http/HttpEntity;
            astore 13 /* entity */
        start local 13 // org.apache.http.HttpEntity entity
        65: .line 231
            aload 13 /* entity */
            ifnull 66
            aload 13 /* entity */
            invokeinterface org.apache.http.HttpEntity.isStreaming:()Z
            ifne 69
        66: .line 233
      StackMap locals: org.apache.http.HttpEntity
      StackMap stack:
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.releaseConnection:()V
        67: .line 234
            new org.apache.http.impl.execchain.HttpResponseProxy
            dup
            aload 12 /* response */
            aconst_null
            invokespecial org.apache.http.impl.execchain.HttpResponseProxy.<init>:(Lorg/apache/http/HttpResponse;Lorg/apache/http/impl/execchain/ConnectionHolder;)V
        68: areturn
        69: .line 236
      StackMap locals:
      StackMap stack:
            new org.apache.http.impl.execchain.HttpResponseProxy
            dup
            aload 12 /* response */
            aload 8 /* releaseTrigger */
            invokespecial org.apache.http.impl.execchain.HttpResponseProxy.<init>:(Lorg/apache/http/HttpResponse;Lorg/apache/http/impl/execchain/ConnectionHolder;)V
        70: areturn
        end local 13 // org.apache.http.HttpEntity entity
        end local 12 // org.apache.http.HttpResponse response
        end local 11 // org.apache.http.HttpRequest original
        end local 10 // org.apache.http.HttpHost target
        end local 9 // int timeout
        71: .line 237
      StackMap locals: org.apache.http.impl.execchain.MinimalClientExec org.apache.http.conn.routing.HttpRoute org.apache.http.client.methods.HttpRequestWrapper org.apache.http.client.protocol.HttpClientContext org.apache.http.client.methods.HttpExecutionAware org.apache.http.conn.ConnectionRequest org.apache.http.client.config.RequestConfig org.apache.http.HttpClientConnection org.apache.http.impl.execchain.ConnectionHolder
      StackMap stack: org.apache.http.impl.conn.ConnectionShutdownException
            astore 9 /* ex */
        start local 9 // org.apache.http.impl.conn.ConnectionShutdownException ex
        72: .line 238
            new java.io.InterruptedIOException
            dup
        73: .line 239
            ldc "Connection has been shut down"
        74: .line 238
            invokespecial java.io.InterruptedIOException.<init>:(Ljava/lang/String;)V
            astore 10 /* ioex */
        start local 10 // java.io.InterruptedIOException ioex
        75: .line 240
            aload 10 /* ioex */
            aload 9 /* ex */
            invokevirtual java.io.InterruptedIOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        76: .line 241
            aload 10 /* ioex */
            athrow
        end local 10 // java.io.InterruptedIOException ioex
        end local 9 // org.apache.http.impl.conn.ConnectionShutdownException ex
        77: .line 242
      StackMap locals:
      StackMap stack: org.apache.http.HttpException
            astore 9 /* ex */
        start local 9 // org.apache.http.HttpException ex
        78: .line 243
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.abortConnection:()V
        79: .line 244
            aload 9 /* ex */
            athrow
        end local 9 // org.apache.http.HttpException ex
        80: .line 245
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* ex */
        start local 9 // java.io.IOException ex
        81: .line 246
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.abortConnection:()V
        82: .line 247
            aload 9 /* ex */
            athrow
        end local 9 // java.io.IOException ex
        83: .line 248
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 9 /* ex */
        start local 9 // java.lang.RuntimeException ex
        84: .line 249
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.abortConnection:()V
        85: .line 250
            aload 9 /* ex */
            athrow
        end local 9 // java.lang.RuntimeException ex
        86: .line 251
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 9 /* error */
        start local 9 // java.lang.Error error
        87: .line 252
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.connManager:Lorg/apache/http/conn/HttpClientConnectionManager;
            invokeinterface org.apache.http.conn.HttpClientConnectionManager.shutdown:()V
        88: .line 253
            aload 9 /* error */
            athrow
        end local 9 // java.lang.Error error
        end local 8 // org.apache.http.impl.execchain.ConnectionHolder releaseTrigger
        end local 7 // org.apache.http.HttpClientConnection managedConn
        end local 6 // org.apache.http.client.config.RequestConfig config
        end local 5 // org.apache.http.conn.ConnectionRequest connRequest
        end local 4 // org.apache.http.client.methods.HttpExecutionAware execAware
        end local 3 // org.apache.http.client.protocol.HttpClientContext context
        end local 2 // org.apache.http.client.methods.HttpRequestWrapper request
        end local 1 // org.apache.http.conn.routing.HttpRoute route
        end local 0 // org.apache.http.impl.execchain.MinimalClientExec this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   89     0            this  Lorg/apache/http/impl/execchain/MinimalClientExec;
            0   89     1           route  Lorg/apache/http/conn/routing/HttpRoute;
            0   89     2         request  Lorg/apache/http/client/methods/HttpRequestWrapper;
            0   89     3         context  Lorg/apache/http/client/protocol/HttpClientContext;
            0   89     4       execAware  Lorg/apache/http/client/methods/HttpExecutionAware;
            5   89     5     connRequest  Lorg/apache/http/conn/ConnectionRequest;
           11   89     6          config  Lorg/apache/http/client/config/RequestConfig;
           15   16     7     managedConn  Lorg/apache/http/HttpClientConnection;
           24   89     7     managedConn  Lorg/apache/http/HttpClientConnection;
           12   15     8         timeout  I
           17   19     8     interrupted  Ljava/lang/InterruptedException;
           20   24     8              ex  Ljava/util/concurrent/ExecutionException;
           21   24     9           cause  Ljava/lang/Throwable;
           25   89     8  releaseTrigger  Lorg/apache/http/impl/execchain/ConnectionHolder;
           32   40     9         timeout  I
           41   71     9         timeout  I
           44   71    10          target  Lorg/apache/http/HttpHost;
           45   71    11        original  Lorg/apache/http/HttpRequest;
           47   49    12             uri  Ljava/net/URI;
           57   71    12        response  Lorg/apache/http/HttpResponse;
           60   62    13        duration  J
           65   71    13          entity  Lorg/apache/http/HttpEntity;
           72   77     9              ex  Lorg/apache/http/impl/conn/ConnectionShutdownException;
           75   77    10            ioex  Ljava/io/InterruptedIOException;
           78   80     9              ex  Lorg/apache/http/HttpException;
           81   83     9              ex  Ljava/io/IOException;
           84   86     9              ex  Ljava/lang/RuntimeException;
           87   89     9           error  Ljava/lang/Error;
      Exception table:
        from    to  target  type
          11    15      16  Class java.lang.InterruptedException
          11    15      19  Class java.util.concurrent.ExecutionException
          25    68      71  Class org.apache.http.impl.conn.ConnectionShutdownException
          69    70      71  Class org.apache.http.impl.conn.ConnectionShutdownException
          25    68      77  Class org.apache.http.HttpException
          69    70      77  Class org.apache.http.HttpException
          25    68      80  Class java.io.IOException
          69    70      80  Class java.io.IOException
          25    68      83  Class java.lang.RuntimeException
          69    70      83  Class java.lang.RuntimeException
          25    68      86  Class java.lang.Error
          69    70      86  Class java.lang.Error
    Exceptions:
      throws java.io.IOException, org.apache.http.HttpException
    MethodParameters:
           Name  Flags
      route      final
      request    final
      context    final
      execAware  final
}
SourceFile: "MinimalClientExec.java"
InnerClasses:
  public final UriFlag = org.apache.http.client.utils.URIUtils$UriFlag of org.apache.http.client.utils.URIUtils
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE_CONDITIONAL:Lorg/apache/http/annotation/ThreadingBehavior;)