Interface ExecChainHandler
- All Known Implementing Classes:
BackoffStrategyExec, CachingExec, ConnectExec, ContentCompressionExec, HttpRequestRetryExec, MainClientExec, ProtocolExec, RedirectExec
@Contract(threading=STATELESS)
public interface ExecChainHandler
Abstract request execution handler in a classic client side request execution chain.
Handlers 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.
For information regarding the handler chain behaviour in case of a request re-execution,
please refer to the HttpRequestRetryExec javadoc.
Well known request execution handlers could be referred to by name using one of the
ChainElement enum values.
- Since:
- 4.3
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionorg.apache.hc.core5.http.ClassicHttpResponseexecute(org.apache.hc.core5.http.ClassicHttpRequest request, ExecChain.Scope scope, ExecChain chain) Executes the actual HTTP request.
-
Method Details
-
execute
org.apache.hc.core5.http.ClassicHttpResponse execute(org.apache.hc.core5.http.ClassicHttpRequest request, ExecChain.Scope scope, ExecChain chain) throws IOException, org.apache.hc.core5.http.HttpException Executes the actual HTTP request. The handler can choose to return a response message or delegate request execution to the next element in the execution chain.- Parameters:
request- the actual request.scope- the execution scope .chain- the next element in the request execution chain.- Throws:
IOExceptionorg.apache.hc.core5.http.HttpException
-