Interface AsyncExecChainHandler
- All Known Implementing Classes:
AsyncCachingExec, AsyncConnectExec, AsyncHttpRequestRetryExec, AsyncProtocolExec, AsyncRedirectExec, H2AsyncMainClientExec, HttpAsyncMainClientExec
@Contract(threading=STATELESS)
public interface AsyncExecChainHandler
Abstract request execution handler in an asynchronous 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.
For information regarding the handler chain behaviour in case of a request re-execution,
please refer to the AsyncHttpRequestRetryExec javadoc.
Well known request execution handlers could be referred to by name using one of the
ChainElement enum values.
- Since:
- 5.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidexecute(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) Executes the actual HTTP request.
-
Method Details
-
execute
void execute(org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback) throws org.apache.hc.core5.http.HttpException, IOException Executes the actual HTTP request. The handler can choose to return a response message immediately inside the call or asynchronously at some later point or delegate request execution to the next element in the execution chain.- Parameters:
request- the actual request.entityProducer- the request entity producer ornullif the request does not enclose an entity.scope- the execution scope .chain- the next element in the request execution chain.asyncExecCallback- the execution callback.- Throws:
org.apache.hc.core5.http.HttpExceptionIOException
-