public class org.apache.http.impl.execchain.ProtocolExec 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.ProtocolExec
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.impl.execchain.ClientExecChain requestExecutor;
descriptor: Lorg/apache/http/impl/execchain/ClientExecChain;
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.impl.execchain.ClientExecChain, org.apache.http.protocol.HttpProcessor);
descriptor: (Lorg/apache/http/impl/execchain/ClientExecChain;Lorg/apache/http/protocol/HttpProcessor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 0
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.ProtocolExec.log:Lorg/apache/commons/logging/Log;
2: aload 1
ldc "HTTP client request executor"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 2
ldc "HTTP protocol processor"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
4: aload 0
aload 1
putfield org.apache.http.impl.execchain.ProtocolExec.requestExecutor:Lorg/apache/http/impl/execchain/ClientExecChain;
5: aload 0
aload 2
putfield org.apache.http.impl.execchain.ProtocolExec.httpProcessor:Lorg/apache/http/protocol/HttpProcessor;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/http/impl/execchain/ProtocolExec;
0 7 1 requestExecutor Lorg/apache/http/impl/execchain/ClientExecChain;
0 7 2 httpProcessor Lorg/apache/http/protocol/HttpProcessor;
MethodParameters:
Name Flags
requestExecutor final
httpProcessor final
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: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getURI:()Ljava/net/URI;
astore 4
start local 4 1: aload 4
ifnull 6
2: aload 1
aload 4
aload 2
iload 3
invokestatic org.apache.http.client.utils.URIUtils.rewriteURIForRoute:(Ljava/net/URI;Lorg/apache/http/conn/routing/RouteInfo;Z)Ljava/net/URI;
invokevirtual org.apache.http.client.methods.HttpRequestWrapper.setURI:(Ljava/net/URI;)V
3: goto 6
StackMap locals: org.apache.http.impl.execchain.ProtocolExec org.apache.http.client.methods.HttpRequestWrapper org.apache.http.conn.routing.HttpRoute int java.net.URI
StackMap stack: java.net.URISyntaxException
4: astore 5
start local 5 5: new org.apache.http.ProtocolException
dup
new java.lang.StringBuilder
dup
ldc "Invalid URI: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokespecial org.apache.http.ProtocolException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 6: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/http/impl/execchain/ProtocolExec;
0 7 1 request Lorg/apache/http/client/methods/HttpRequestWrapper;
0 7 2 route Lorg/apache/http/conn/routing/HttpRoute;
0 7 3 normalizeUri Z
1 7 4 uri Ljava/net/URI;
5 6 5 ex Ljava/net/URISyntaxException;
Exception table:
from to target type
2 3 4 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=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ldc "HTTP route"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "HTTP request"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 3
ldc "HTTP context"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 2
invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getOriginal:()Lorg/apache/http/HttpRequest;
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aload 5
instanceof org.apache.http.client.methods.HttpUriRequest
ifeq 8
6: aload 5
checkcast org.apache.http.client.methods.HttpUriRequest
invokeinterface org.apache.http.client.methods.HttpUriRequest.getURI:()Ljava/net/URI;
astore 6
7: goto 16
8: StackMap locals: org.apache.http.HttpRequest java.net.URI
StackMap stack:
aload 5
invokeinterface org.apache.http.HttpRequest.getRequestLine:()Lorg/apache/http/RequestLine;
invokeinterface org.apache.http.RequestLine.getUri:()Ljava/lang/String;
astore 7
start local 7 9: aload 7
invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
astore 6
10: goto 16
StackMap locals: org.apache.http.impl.execchain.ProtocolExec 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.HttpRequest java.net.URI java.lang.String
StackMap stack: java.lang.IllegalArgumentException
11: astore 8
start local 8 12: aload 0
getfield org.apache.http.impl.execchain.ProtocolExec.log:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 16
13: aload 0
getfield org.apache.http.impl.execchain.ProtocolExec.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unable to parse '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' as a valid URI; "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: ldc "request URI and Host header may be inconsistent"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
15: invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 8 end local 7 16: StackMap locals:
StackMap stack:
aload 2
aload 6
invokevirtual org.apache.http.client.methods.HttpRequestWrapper.setURI:(Ljava/net/URI;)V
17: aload 0
aload 2
aload 1
aload 3
invokevirtual org.apache.http.client.protocol.HttpClientContext.getRequestConfig:()Lorg/apache/http/client/config/RequestConfig;
invokevirtual org.apache.http.client.config.RequestConfig.isNormalizeUri:()Z
invokevirtual org.apache.http.impl.execchain.ProtocolExec.rewriteRequestURI:(Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/conn/routing/HttpRoute;Z)V
18: aload 2
invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getParams:()Lorg/apache/http/params/HttpParams;
astore 7
start local 7 19: aload 7
ldc "http.virtual-host"
invokeinterface org.apache.http.params.HttpParams.getParameter:(Ljava/lang/String;)Ljava/lang/Object;
checkcast org.apache.http.HttpHost
astore 8
start local 8 20: aload 8
ifnull 28
aload 8
invokevirtual org.apache.http.HttpHost.getPort:()I
iconst_m1
if_icmpne 28
21: aload 1
invokevirtual org.apache.http.conn.routing.HttpRoute.getTargetHost:()Lorg/apache/http/HttpHost;
invokevirtual org.apache.http.HttpHost.getPort:()I
istore 9
start local 9 22: iload 9
iconst_m1
if_icmpeq 26
23: new org.apache.http.HttpHost
dup
aload 8
invokevirtual org.apache.http.HttpHost.getHostName:()Ljava/lang/String;
iload 9
24: aload 8
invokevirtual org.apache.http.HttpHost.getSchemeName:()Ljava/lang/String;
25: invokespecial org.apache.http.HttpHost.<init>:(Ljava/lang/String;ILjava/lang/String;)V
astore 8
26: StackMap locals: org.apache.http.params.HttpParams org.apache.http.HttpHost int
StackMap stack:
aload 0
getfield org.apache.http.impl.execchain.ProtocolExec.log:Lorg/apache/commons/logging/Log;
invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
ifeq 28
27: aload 0
getfield org.apache.http.impl.execchain.ProtocolExec.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Using virtual host"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
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
end local 9 28: StackMap locals:
StackMap stack:
aconst_null
astore 9
start local 9 29: aload 8
ifnull 32
30: aload 8
astore 9
31: goto 34
32: StackMap locals: org.apache.http.HttpHost
StackMap stack:
aload 6
ifnull 34
aload 6
invokevirtual java.net.URI.isAbsolute:()Z
ifeq 34
aload 6
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
ifnull 34
33: new org.apache.http.HttpHost
dup
aload 6
invokevirtual java.net.URI.getHost:()Ljava/lang/String;
aload 6
invokevirtual java.net.URI.getPort:()I
aload 6
invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
invokespecial org.apache.http.HttpHost.<init>:(Ljava/lang/String;ILjava/lang/String;)V
astore 9
34: StackMap locals:
StackMap stack:
aload 9
ifnonnull 36
35: aload 2
invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getTarget:()Lorg/apache/http/HttpHost;
astore 9
36: StackMap locals:
StackMap stack:
aload 9
ifnonnull 38
37: aload 1
invokevirtual org.apache.http.conn.routing.HttpRoute.getTargetHost:()Lorg/apache/http/HttpHost;
astore 9
38: StackMap locals:
StackMap stack:
aload 6
ifnull 49
39: aload 6
invokevirtual java.net.URI.getUserInfo:()Ljava/lang/String;
astore 10
start local 10 40: aload 10
ifnull 49
41: aload 3
invokevirtual org.apache.http.client.protocol.HttpClientContext.getCredentialsProvider:()Lorg/apache/http/client/CredentialsProvider;
astore 11
start local 11 42: aload 11
ifnonnull 45
43: new org.apache.http.impl.client.BasicCredentialsProvider
dup
invokespecial org.apache.http.impl.client.BasicCredentialsProvider.<init>:()V
astore 11
44: aload 3
aload 11
invokevirtual org.apache.http.client.protocol.HttpClientContext.setCredentialsProvider:(Lorg/apache/http/client/CredentialsProvider;)V
45: StackMap locals: java.lang.String org.apache.http.client.CredentialsProvider
StackMap stack:
aload 11
46: new org.apache.http.auth.AuthScope
dup
aload 9
invokespecial org.apache.http.auth.AuthScope.<init>:(Lorg/apache/http/HttpHost;)V
47: new org.apache.http.auth.UsernamePasswordCredentials
dup
aload 10
invokespecial org.apache.http.auth.UsernamePasswordCredentials.<init>:(Ljava/lang/String;)V
48: invokeinterface org.apache.http.client.CredentialsProvider.setCredentials:(Lorg/apache/http/auth/AuthScope;Lorg/apache/http/auth/Credentials;)V
end local 11 end local 10 49: StackMap locals:
StackMap stack:
aload 3
ldc "http.target_host"
aload 9
invokevirtual org.apache.http.client.protocol.HttpClientContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
50: aload 3
ldc "http.route"
aload 1
invokevirtual org.apache.http.client.protocol.HttpClientContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
51: aload 3
ldc "http.request"
aload 2
invokevirtual org.apache.http.client.protocol.HttpClientContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
52: aload 0
getfield org.apache.http.impl.execchain.ProtocolExec.httpProcessor:Lorg/apache/http/protocol/HttpProcessor;
aload 2
aload 3
invokeinterface org.apache.http.protocol.HttpProcessor.process:(Lorg/apache/http/HttpRequest;Lorg/apache/http/protocol/HttpContext;)V
53: aload 0
getfield org.apache.http.impl.execchain.ProtocolExec.requestExecutor:Lorg/apache/http/impl/execchain/ClientExecChain;
aload 1
aload 2
54: aload 3
aload 4
55: invokeinterface org.apache.http.impl.execchain.ClientExecChain.execute:(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/client/methods/HttpRequestWrapper;Lorg/apache/http/client/protocol/HttpClientContext;Lorg/apache/http/client/methods/HttpExecutionAware;)Lorg/apache/http/client/methods/CloseableHttpResponse;
astore 10
start local 10 56: aload 3
ldc "http.response"
aload 10
invokevirtual org.apache.http.client.protocol.HttpClientContext.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
57: aload 0
getfield org.apache.http.impl.execchain.ProtocolExec.httpProcessor:Lorg/apache/http/protocol/HttpProcessor;
aload 10
aload 3
invokeinterface org.apache.http.protocol.HttpProcessor.process:(Lorg/apache/http/HttpResponse;Lorg/apache/http/protocol/HttpContext;)V
58: aload 10
59: areturn
60: StackMap locals: org.apache.http.impl.execchain.ProtocolExec 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.HttpRequest java.net.URI org.apache.http.params.HttpParams org.apache.http.HttpHost org.apache.http.HttpHost org.apache.http.client.methods.CloseableHttpResponse
StackMap stack: java.lang.RuntimeException
astore 11
start local 11 61: aload 10
invokeinterface org.apache.http.client.methods.CloseableHttpResponse.close:()V
62: aload 11
athrow
end local 11 63: StackMap locals:
StackMap stack: java.io.IOException
astore 11
start local 11 64: aload 10
invokeinterface org.apache.http.client.methods.CloseableHttpResponse.close:()V
65: aload 11
athrow
end local 11 66: StackMap locals:
StackMap stack: org.apache.http.HttpException
astore 11
start local 11 67: aload 10
invokeinterface org.apache.http.client.methods.CloseableHttpResponse.close:()V
68: aload 11
athrow
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Lorg/apache/http/impl/execchain/ProtocolExec;
0 69 1 route Lorg/apache/http/conn/routing/HttpRoute;
0 69 2 request Lorg/apache/http/client/methods/HttpRequestWrapper;
0 69 3 context Lorg/apache/http/client/protocol/HttpClientContext;
0 69 4 execAware Lorg/apache/http/client/methods/HttpExecutionAware;
4 69 5 original Lorg/apache/http/HttpRequest;
5 69 6 uri Ljava/net/URI;
9 16 7 uriString Ljava/lang/String;
12 16 8 ex Ljava/lang/IllegalArgumentException;
19 69 7 params Lorg/apache/http/params/HttpParams;
20 69 8 virtualHost Lorg/apache/http/HttpHost;
22 28 9 port I
29 69 9 target Lorg/apache/http/HttpHost;
40 49 10 userinfo Ljava/lang/String;
42 49 11 credsProvider Lorg/apache/http/client/CredentialsProvider;
56 69 10 response Lorg/apache/http/client/methods/CloseableHttpResponse;
61 63 11 ex Ljava/lang/RuntimeException;
64 66 11 ex Ljava/io/IOException;
67 69 11 ex Lorg/apache/http/HttpException;
Exception table:
from to target type
9 10 11 Class java.lang.IllegalArgumentException
56 59 60 Class java.lang.RuntimeException
56 59 63 Class java.io.IOException
56 59 66 Class org.apache.http.HttpException
Exceptions:
throws java.io.IOException, org.apache.http.HttpException
MethodParameters:
Name Flags
route final
request final
context final
execAware final
}
SourceFile: "ProtocolExec.java"
RuntimeInvisibleAnnotations:
org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE_CONDITIONAL:Lorg/apache/http/annotation/ThreadingBehavior;)