Class AsyncConnectExec
- java.lang.Object
-
- org.apache.hc.client5.http.impl.async.AsyncConnectExec
-
- All Implemented Interfaces:
AsyncExecChainHandler
@Contract(threading=STATELESS) @Internal public final class AsyncConnectExec extends java.lang.Object implements AsyncExecChainHandler
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.- Since:
- 5.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classAsyncConnectExec.State
-
Field Summary
Fields Modifier and Type Field Description private AuthCacheKeeperauthCacheKeeperprivate HttpAuthenticatorauthenticatorprivate static org.slf4j.LoggerLOGprivate AuthenticationStrategyproxyAuthStrategyprivate org.apache.hc.core5.http.protocol.HttpProcessorproxyHttpProcessorprivate HttpRouteDirectorrouteDirector
-
Constructor Summary
Constructors Constructor Description AsyncConnectExec(org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcreateTunnel(AsyncConnectExec.State state, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpHost nextHop, AsyncExecChain.Scope scope, AsyncExecCallback asyncExecCallback)voidexecute(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.private booleanneedAuthentication(AuthExchange proxyAuthExchange, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)private voidproceedToNextHop(AsyncConnectExec.State state, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback)
-
-
-
Field Detail
-
LOG
private static final org.slf4j.Logger LOG
-
proxyHttpProcessor
private final org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor
-
proxyAuthStrategy
private final AuthenticationStrategy proxyAuthStrategy
-
authenticator
private final HttpAuthenticator authenticator
-
authCacheKeeper
private final AuthCacheKeeper authCacheKeeper
-
routeDirector
private final HttpRouteDirector routeDirector
-
-
Constructor Detail
-
AsyncConnectExec
public AsyncConnectExec(org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
-
Method Detail
-
execute
public 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, java.io.IOExceptionDescription copied from interface:AsyncExecChainHandlerExecutes 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.- Specified by:
executein interfaceAsyncExecChainHandler- 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.HttpExceptionjava.io.IOException
-
proceedToNextHop
private void proceedToNextHop(AsyncConnectExec.State state, org.apache.hc.core5.http.HttpRequest request, org.apache.hc.core5.http.nio.AsyncEntityProducer entityProducer, AsyncExecChain.Scope scope, AsyncExecChain chain, AsyncExecCallback asyncExecCallback)
-
createTunnel
private void createTunnel(AsyncConnectExec.State state, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpHost nextHop, AsyncExecChain.Scope scope, AsyncExecCallback asyncExecCallback) throws org.apache.hc.core5.http.HttpException, java.io.IOException
- Throws:
org.apache.hc.core5.http.HttpExceptionjava.io.IOException
-
needAuthentication
private boolean needAuthentication(AuthExchange proxyAuthExchange, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)
-
-