## Uses of Interface
org.apache.hc.client5.http.async.AsyncExecChainHandler

Packages that use AsyncExecChainHandler
org.apache.hc.client5.http.impl.async: Asynchronous HTTP client API implementation that supports both HTTP/2 and HTTP/1.1 transport.

### Uses of AsyncExecChainHandler in org.apache.hc.client5.http.impl.async

Classes in org.apache.hc.client5.http.impl.async that implement AsyncExecChainHandler
`class` `AsyncConnectExec` Request execution handler in the asynchronous request execution chain that is responsible for establishing connection to the target origin server as specified by the current connection route.
`class` `AsyncHttpRequestRetryExec` Request executor in the asynchronous request execution chain that is responsible for making a decision whether a request that failed due to an I/O exception or received a specific response from the target server should be re-executed.
`class` `AsyncProtocolExec` Request execution handler in the asynchronous request execution chain that is responsible for implementation of HTTP specification requirements.
`class` `AsyncRedirectExec` Request execution handler in the asynchronous request execution chain responsible for handling of request redirects.
`class` `H2AsyncMainClientExec` Usually the last HTTP/2 request execution handler in the asynchronous request execution chain that is responsible for execution of request / response exchanges with the opposite endpoint.

Methods in org.apache.hc.client5.http.impl.async with parameters of type AsyncExecChainHandler
`HttpAsyncClientBuilder` HttpAsyncClientBuilder.`addExecInterceptorAfter(String existing, String name, AsyncExecChainHandler interceptor)` Adds this execution interceptor after interceptor with the given name.
`H2AsyncClientBuilder` H2AsyncClientBuilder.`addExecInterceptorAfter(String existing, String name, AsyncExecChainHandler interceptor)` Adds this execution interceptor after interceptor with the given name.
`HttpAsyncClientBuilder` HttpAsyncClientBuilder.`addExecInterceptorBefore(String existing, String name, AsyncExecChainHandler interceptor)` Adds this execution interceptor before an existing interceptor.
`H2AsyncClientBuilder` H2AsyncClientBuilder.`addExecInterceptorBefore(String existing, String name, AsyncExecChainHandler interceptor)` Adds this execution interceptor before an existing interceptor.
`HttpAsyncClientBuilder` HttpAsyncClientBuilder.`addExecInterceptorFirst(String name, AsyncExecChainHandler interceptor)` Add an interceptor to the head of the processing list.
`H2AsyncClientBuilder` H2AsyncClientBuilder.`addExecInterceptorFirst(String name, AsyncExecChainHandler interceptor)` Add an interceptor to the head of the processing list.
`HttpAsyncClientBuilder` HttpAsyncClientBuilder.`addExecInterceptorLast(String name, AsyncExecChainHandler interceptor)` Add an interceptor to the tail of the processing list.
`H2AsyncClientBuilder` H2AsyncClientBuilder.`addExecInterceptorLast(String name, AsyncExecChainHandler interceptor)` Add an interceptor to the tail of the processing list.
`HttpAsyncClientBuilder` HttpAsyncClientBuilder.`replaceExecInterceptor(String existing, AsyncExecChainHandler interceptor)` Replace an existing interceptor with the given name with new interceptor.
`H2AsyncClientBuilder` H2AsyncClientBuilder.`replaceExecInterceptor(String existing, AsyncExecChainHandler interceptor)` Replace an existing interceptor with the given name with new interceptor.

Method parameters in org.apache.hc.client5.http.impl.async with type arguments of type AsyncExecChainHandler
`protected void` HttpAsyncClientBuilder.`customizeExecChain(NamedElementChain<AsyncExecChainHandler> execChainDefinition)` Request exec chain customization and extension.
`protected void` H2AsyncClientBuilder.`customizeExecChain(NamedElementChain<AsyncExecChainHandler> execChainDefinition)` Request exec chain customization and extension.