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 92
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            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 97
            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 98
            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 99
            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 100
            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 101
            aload 0 /* this */
            new org.apache.http.protocol.ImmutableHttpProcessor
            dup
            iconst_4
            anewarray org.apache.http.HttpRequestInterceptor
            dup
            iconst_0
         7: .line 102
            new org.apache.http.protocol.RequestContent
            dup
            invokespecial org.apache.http.protocol.RequestContent.<init>:()V
            aastore
            dup
            iconst_1
         8: .line 103
            new org.apache.http.protocol.RequestTargetHost
            dup
            invokespecial org.apache.http.protocol.RequestTargetHost.<init>:()V
            aastore
            dup
            iconst_2
         9: .line 104
            new org.apache.http.client.protocol.RequestClientConnControl
            dup
            invokespecial org.apache.http.client.protocol.RequestClientConnControl.<init>:()V
            aastore
            dup
            iconst_3
        10: .line 105
            new org.apache.http.protocol.RequestUserAgent
            dup
        11: .line 106
            ldc "Apache-HttpClient"
            ldc "org.apache.http.client"
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
        12: .line 105
            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 101
            putfield org.apache.http.impl.execchain.MinimalClientExec.httpProcessor:Lorg/apache/http/protocol/HttpProcessor;
        14: .line 107
            aload 0 /* this */
            aload 1 /* requestExecutor */
            putfield org.apache.http.impl.execchain.MinimalClientExec.requestExecutor:Lorg/apache/http/protocol/HttpRequestExecutor;
        15: .line 108
            aload 0 /* this */
            aload 2 /* connManager */
            putfield org.apache.http.impl.execchain.MinimalClientExec.connManager:Lorg/apache/http/conn/HttpClientConnectionManager;
        16: .line 109
            aload 0 /* this */
            aload 3 /* reuseStrategy */
            putfield org.apache.http.impl.execchain.MinimalClientExec.reuseStrategy:Lorg/apache/http/ConnectionReuseStrategy;
        17: .line 110
            aload 0 /* this */
            aload 4 /* keepAliveStrategy */
            putfield org.apache.http.impl.execchain.MinimalClientExec.keepAliveStrategy:Lorg/apache/http/conn/ConnectionKeepAliveStrategy;
        18: .line 111
            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);
    descriptor: (Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.apache.http.client.methods.HttpRequestWrapper request
        start local 1 // org.apache.http.conn.routing.HttpRoute route
         0: .line 117
            aload 0 /* request */
            invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getURI:()Ljava/net/URI;
            astore 2 /* uri */
        start local 2 // java.net.URI uri
         1: .line 118
            aload 2 /* uri */
            ifnull 10
         2: .line 120
            aload 2 /* uri */
            invokevirtual java.net.URI.isAbsolute:()Z
            ifeq 5
         3: .line 121
            aload 2 /* uri */
            aconst_null
            iconst_1
            invokestatic org.apache.http.client.utils.URIUtils.rewriteURI:(Ljava/net/URI;Lorg/apache/http/HttpHost;Z)Ljava/net/URI;
            astore 2 /* uri */
         4: .line 122
            goto 6
         5: .line 123
      StackMap locals: java.net.URI
      StackMap stack:
            aload 2 /* uri */
            invokestatic org.apache.http.client.utils.URIUtils.rewriteURI:(Ljava/net/URI;)Ljava/net/URI;
            astore 2 /* uri */
         6: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* request */
            aload 2 /* uri */
            invokevirtual org.apache.http.client.methods.HttpRequestWrapper.setURI:(Ljava/net/URI;)V
        end local 2 // java.net.URI uri
         7: .line 127
            goto 10
      StackMap locals: org.apache.http.client.methods.HttpRequestWrapper org.apache.http.conn.routing.HttpRoute
      StackMap stack: java.net.URISyntaxException
         8: astore 2 /* ex */
        start local 2 // java.net.URISyntaxException ex
         9: .line 128
            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 2 /* ex */
            invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.net.URISyntaxException ex
        10: .line 130
      StackMap locals:
      StackMap stack:
            return
        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   11     0  request  Lorg/apache/http/client/methods/HttpRequestWrapper;
            0   11     1    route  Lorg/apache/http/conn/routing/HttpRoute;
            1    7     2      uri  Ljava/net/URI;
            9   10     2       ex  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
           0     7       8  Class java.net.URISyntaxException
    Exceptions:
      throws org.apache.http.ProtocolException
    MethodParameters:
         Name  Flags
      request  final
      route    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 138
            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 139
            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 140
            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 142
            aload 2 /* request */
            aload 1 /* route */
            invokestatic org.apache.http.impl.execchain.MinimalClientExec.rewriteRequestURI:(Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;)V
         4: .line 144
            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 145
            aload 4 /* execAware */
            ifnull 10
         6: .line 146
            aload 4 /* execAware */
            invokeinterface org.apache.http.client.methods.HttpExecutionAware.isAborted:()Z
            ifeq 9
         7: .line 147
            aload 5 /* connRequest */
            invokeinterface org.apache.http.conn.ConnectionRequest.cancel:()Z
            pop
         8: .line 148
            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 150
      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 153
      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 157
            aload 6 /* config */
            invokevirtual org.apache.http.client.config.RequestConfig.getConnectionRequestTimeout:()I
            istore 8 /* timeout */
        start local 8 // int timeout
        12: .line 158
            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 159
            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 160
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        18: .line 161
            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 162
      StackMap locals:
      StackMap stack: java.util.concurrent.ExecutionException
            astore 8 /* ex */
        start local 8 // java.util.concurrent.ExecutionException ex
        20: .line 163
            aload 8 /* ex */
            invokevirtual java.util.concurrent.ExecutionException.getCause:()Ljava/lang/Throwable;
            astore 9 /* cause */
        start local 9 // java.lang.Throwable cause
        21: .line 164
            aload 9 /* cause */
            ifnonnull 23
        22: .line 165
            aload 8 /* ex */
            astore 9 /* cause */
        23: .line 167
      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 170
      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 172
            aload 4 /* execAware */
            ifnull 30
        26: .line 173
            aload 4 /* execAware */
            invokeinterface org.apache.http.client.methods.HttpExecutionAware.isAborted:()Z
            ifeq 29
        27: .line 174
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.close:()V
        28: .line 175
            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 177
      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 180
      StackMap locals:
      StackMap stack:
            aload 7 /* managedConn */
            invokeinterface org.apache.http.HttpClientConnection.isOpen:()Z
            ifne 40
        31: .line 181
            aload 6 /* config */
            invokevirtual org.apache.http.client.config.RequestConfig.getConnectTimeout:()I
            istore 9 /* timeout */
        start local 9 // int timeout
        32: .line 182
            aload 0 /* this */
            getfield org.apache.http.impl.execchain.MinimalClientExec.connManager:Lorg/apache/http/conn/HttpClientConnectionManager;
        33: .line 183
            aload 7 /* managedConn */
        34: .line 184
            aload 1 /* route */
        35: .line 185
            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 186
      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 182
            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 187
            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 189
      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 190
            iload 9 /* timeout */
            iflt 43
        42: .line 191
            aload 7 /* managedConn */
            iload 9 /* timeout */
            invokeinterface org.apache.http.HttpClientConnection.setSocketTimeout:(I)V
        43: .line 194
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 10 /* target */
        start local 10 // org.apache.http.HttpHost target
        44: .line 195
            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 196
            aload 11 /* original */
            instanceof org.apache.http.client.methods.HttpUriRequest
            ifeq 49
        46: .line 197
            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 198
            aload 12 /* uri */
            invokevirtual java.net.URI.isAbsolute:()Z
            ifeq 49
        48: .line 199
            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 202
      StackMap locals: org.apache.http.HttpHost org.apache.http.HttpRequest
      StackMap stack:
            aload 10 /* target */
            ifnonnull 51
        50: .line 203
            aload 1 /* route */
            invokevirtual org.apache.http.conn.routing.HttpRoute.getTargetHost:()Lorg/apache/http/HttpHost;
            astore 10 /* target */
        51: .line 206
      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 207
            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 208
            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 209
            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 211
            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 212
            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 213
            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 216
            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 218
            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 219
            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 220
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.markReusable:()V
        end local 13 // long duration
        62: .line 221
            goto 64
        63: .line 222
      StackMap locals: org.apache.http.HttpResponse
      StackMap stack:
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.markNonReusable:()V
        64: .line 226
      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 227
            aload 13 /* entity */
            ifnull 66
            aload 13 /* entity */
            invokeinterface org.apache.http.HttpEntity.isStreaming:()Z
            ifne 69
        66: .line 229
      StackMap locals: org.apache.http.HttpEntity
      StackMap stack:
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.releaseConnection:()V
        67: .line 230
            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 232
      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 233
      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 234
            new java.io.InterruptedIOException
            dup
        73: .line 235
            ldc "Connection has been shut down"
        74: .line 234
            invokespecial java.io.InterruptedIOException.<init>:(Ljava/lang/String;)V
            astore 10 /* ioex */
        start local 10 // java.io.InterruptedIOException ioex
        75: .line 236
            aload 10 /* ioex */
            aload 9 /* ex */
            invokevirtual java.io.InterruptedIOException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        76: .line 237
            aload 10 /* ioex */
            athrow
        end local 10 // java.io.InterruptedIOException ioex
        end local 9 // org.apache.http.impl.conn.ConnectionShutdownException ex
        77: .line 238
      StackMap locals:
      StackMap stack: org.apache.http.HttpException
            astore 9 /* ex */
        start local 9 // org.apache.http.HttpException ex
        78: .line 239
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.abortConnection:()V
        79: .line 240
            aload 9 /* ex */
            athrow
        end local 9 // org.apache.http.HttpException ex
        80: .line 241
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* ex */
        start local 9 // java.io.IOException ex
        81: .line 242
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.abortConnection:()V
        82: .line 243
            aload 9 /* ex */
            athrow
        end local 9 // java.io.IOException ex
        83: .line 244
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 9 /* ex */
        start local 9 // java.lang.RuntimeException ex
        84: .line 245
            aload 8 /* releaseTrigger */
            invokevirtual org.apache.http.impl.execchain.ConnectionHolder.abortConnection:()V
        85: .line 246
            aload 9 /* ex */
            athrow
        end local 9 // java.lang.RuntimeException ex
        86: .line 247
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 9 /* error */
        start local 9 // java.lang.Error error
        87: .line 248
            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 249
            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"
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE_CONDITIONAL:Lorg/apache/http/annotation/ThreadingBehavior;)