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 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 -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AuthCacheKeeperprivate final HttpAuthenticatorprivate static final org.slf4j.Loggerprivate final AuthenticationStrategyprivate final org.apache.hc.core5.http.protocol.HttpProcessorprivate final HttpRouteDirector -
Constructor Summary
ConstructorsConstructorDescriptionAsyncConnectExec(org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled) -
Method Summary
Modifier and TypeMethodDescriptionprivate 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 Details
-
LOG
private static final org.slf4j.Logger LOG -
proxyHttpProcessor
private final org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor -
proxyAuthStrategy
-
authenticator
-
authCacheKeeper
-
routeDirector
-
-
Constructor Details
-
AsyncConnectExec
public AsyncConnectExec(org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor, AuthenticationStrategy proxyAuthStrategy, SchemePortResolver schemePortResolver, boolean authCachingDisabled)
-
-
Method Details
-
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, IOException Description 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.HttpExceptionIOException
-
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, IOException - Throws:
org.apache.hc.core5.http.HttpExceptionIOException
-
needAuthentication
private boolean needAuthentication(AuthExchange proxyAuthExchange, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)
-