org.apache.http.impl.execchain
Interface ClientExecChain
- All Known Implementing Classes:
- BackoffStrategyExec, MainClientExec, MinimalClientExec, ProtocolExec, RedirectExec, RetryExec, ServiceUnavailableRetryExec
public interface ClientExecChain
This interface represents an element in the HTTP request execution chain. Each element can
either be a decorator around another element that implements a cross cutting aspect or
a self-contained executor capable of producing a response for the given request.
Important: please note it is required for decorators that implement post execution aspects
or response post-processing of any sort to release resources associated with the response
by calling Closeable.close()
methods in case of an I/O, protocol or
runtime exception, or in case the response is not propagated to the caller.
- Since:
- 4.3
execute
CloseableHttpResponse execute(org.apache.http.conn.routing.HttpRoute route,
HttpRequestWrapper request,
HttpClientContext clientContext,
HttpExecutionAware execAware)
throws java.io.IOException,
org.apache.http.HttpException
- Executes th request either by transmitting it to the target server or
by passing it onto the next executor in the request execution chain.
- Parameters:
route
- connection route.request
- current request.clientContext
- 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).
org.apache.http.HttpException
- in case of an HTTP protocol error
(usually this type of exceptions are non-recoverable).