Package org.apache.http.impl.execchain
Class ServiceUnavailableRetryExec
- java.lang.Object
-
- org.apache.http.impl.execchain.ServiceUnavailableRetryExec
-
- All Implemented Interfaces:
ClientExecChain
@Contract(threading=IMMUTABLE_CONDITIONAL) public class ServiceUnavailableRetryExec extends java.lang.Object implements ClientExecChain
Request executor in the request execution chain that is responsible for making a decision whether a request that received a non-2xx response from the target server should be re-executed.Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.
- Since:
- 4.3
-
-
Constructor Summary
Constructors Constructor Description ServiceUnavailableRetryExec(ClientExecChain requestExecutor, ServiceUnavailableRetryStrategy retryStrategy)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CloseableHttpResponse
execute(HttpRoute route, HttpRequestWrapper request, HttpClientContext context, HttpExecutionAware execAware)
Executes th request either by transmitting it to the target server or by passing it onto the next executor in the request execution chain.
-
-
-
Constructor Detail
-
ServiceUnavailableRetryExec
public ServiceUnavailableRetryExec(ClientExecChain requestExecutor, ServiceUnavailableRetryStrategy retryStrategy)
-
-
Method Detail
-
execute
public CloseableHttpResponse execute(HttpRoute route, HttpRequestWrapper request, HttpClientContext context, HttpExecutionAware execAware) throws java.io.IOException, HttpException
Description copied from interface:ClientExecChain
Executes th request either by transmitting it to the target server or by passing it onto the next executor in the request execution chain.- Specified by:
execute
in interfaceClientExecChain
- Parameters:
route
- connection route.request
- current request.context
- current HTTP context.execAware
- receiver of notifications of blocking I/O operations.- Returns:
- HTTP response either received from the opposite endpoint or generated locally.
- Throws:
java.io.IOException
- in case of a I/O error. (this type of exceptions are potentially recoverable).HttpException
- in case of an HTTP protocol error (usually this type of exceptions are non-recoverable).
-
-