public class org.apache.http.impl.execchain.ServiceUnavailableRetryExec 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.ServiceUnavailableRetryExec
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.client.ServiceUnavailableRetryStrategy retryStrategy;
descriptor: Lorg/apache/http/client/ServiceUnavailableRetryStrategy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.apache.http.impl.execchain.ClientExecChain, org.apache.http.client.ServiceUnavailableRetryStrategy);
descriptor: (Lorg/apache/http/impl/execchain/ClientExecChain;Lorg/apache/http/client/ServiceUnavailableRetryStrategy;)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.ServiceUnavailableRetryExec.log:Lorg/apache/commons/logging/Log;
2: aload 1
ldc "HTTP request executor"
invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
3: aload 2
ldc "Retry strategy"
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.ServiceUnavailableRetryExec.requestExecutor:Lorg/apache/http/impl/execchain/ClientExecChain;
5: aload 0
aload 2
putfield org.apache.http.impl.execchain.ServiceUnavailableRetryExec.retryStrategy:Lorg/apache/http/client/ServiceUnavailableRetryStrategy;
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/ServiceUnavailableRetryExec;
0 7 1 requestExecutor Lorg/apache/http/impl/execchain/ClientExecChain;
0 7 2 retryStrategy Lorg/apache/http/client/ServiceUnavailableRetryStrategy;
MethodParameters:
Name Flags
requestExecutor final
retryStrategy 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=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.apache.http.client.methods.HttpRequestWrapper.getAllHeaders:()[Lorg/apache/http/Header;
astore 5
start local 5 1: iconst_1
istore 6
start local 6 2: StackMap locals: org.apache.http.Header[] int
StackMap stack:
aload 0
getfield org.apache.http.impl.execchain.ServiceUnavailableRetryExec.requestExecutor:Lorg/apache/http/impl/execchain/ClientExecChain;
3: aload 1
aload 2
aload 3
aload 4
4: 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 7
start local 7 5: aload 0
getfield org.apache.http.impl.execchain.ServiceUnavailableRetryExec.retryStrategy:Lorg/apache/http/client/ServiceUnavailableRetryStrategy;
aload 7
iload 6
aload 3
invokeinterface org.apache.http.client.ServiceUnavailableRetryStrategy.retryRequest:(Lorg/apache/http/HttpResponse;ILorg/apache/http/protocol/HttpContext;)Z
ifeq 18
6: aload 2
invokestatic org.apache.http.impl.execchain.RequestEntityProxy.isRepeatable:(Lorg/apache/http/HttpRequest;)Z
ifeq 18
7: aload 7
invokeinterface org.apache.http.client.methods.CloseableHttpResponse.close:()V
8: aload 0
getfield org.apache.http.impl.execchain.ServiceUnavailableRetryExec.retryStrategy:Lorg/apache/http/client/ServiceUnavailableRetryStrategy;
invokeinterface org.apache.http.client.ServiceUnavailableRetryStrategy.getRetryInterval:()J
lstore 8
start local 8 9: lload 8
lconst_0
lcmp
ifle 16
10: aload 0
getfield org.apache.http.impl.execchain.ServiceUnavailableRetryExec.log:Lorg/apache/commons/logging/Log;
new java.lang.StringBuilder
dup
ldc "Wait for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.commons.logging.Log.trace:(Ljava/lang/Object;)V
11: lload 8
invokestatic java.lang.Thread.sleep:(J)V
12: goto 16
StackMap locals: org.apache.http.impl.execchain.ServiceUnavailableRetryExec 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.Header[] int org.apache.http.client.methods.CloseableHttpResponse long
StackMap stack: java.lang.InterruptedException
13: pop
14: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
15: new java.io.InterruptedIOException
dup
invokespecial java.io.InterruptedIOException.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual org.apache.http.client.methods.HttpRequestWrapper.setHeaders:([Lorg/apache/http/Header;)V
end local 8 17: goto 23
18: StackMap locals:
StackMap stack:
aload 7
19: areturn
20: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 8
start local 8 21: aload 7
invokeinterface org.apache.http.client.methods.CloseableHttpResponse.close:()V
22: aload 8
athrow
end local 8 end local 7 23: StackMap locals:
StackMap stack:
iinc 6 1
goto 2
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 24 0 this Lorg/apache/http/impl/execchain/ServiceUnavailableRetryExec;
0 24 1 route Lorg/apache/http/conn/routing/HttpRoute;
0 24 2 request Lorg/apache/http/client/methods/HttpRequestWrapper;
0 24 3 context Lorg/apache/http/client/protocol/HttpClientContext;
0 24 4 execAware Lorg/apache/http/client/methods/HttpExecutionAware;
1 24 5 origheaders [Lorg/apache/http/Header;
2 24 6 c I
5 23 7 response Lorg/apache/http/client/methods/CloseableHttpResponse;
9 17 8 nextInterval J
21 23 8 ex Ljava/lang/RuntimeException;
Exception table:
from to target type
10 12 13 Class java.lang.InterruptedException
5 19 20 Class java.lang.RuntimeException
Exceptions:
throws java.io.IOException, org.apache.http.HttpException
MethodParameters:
Name Flags
route final
request final
context final
execAware final
}
SourceFile: "ServiceUnavailableRetryExec.java"
RuntimeInvisibleAnnotations:
org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.IMMUTABLE_CONDITIONAL:Lorg/apache/http/annotation/ThreadingBehavior;)