Package org.apache.hc.client5.http.async
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 TypeMethodDescriptionvoid
execute
(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 ornull
if 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.HttpException
IOException
-