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 class
AsyncConnectExec.State
-
Field Summary
Fields Modifier and Type Field Description private AuthCacheKeeper
authCacheKeeper
private HttpAuthenticator
authenticator
private static org.slf4j.Logger
LOG
private AuthenticationStrategy
proxyAuthStrategy
private org.apache.hc.core5.http.protocol.HttpProcessor
proxyHttpProcessor
private HttpRouteDirector
routeDirector
-
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 void
createTunnel(AsyncConnectExec.State state, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpHost nextHop, AsyncExecChain.Scope scope, AsyncExecCallback asyncExecCallback)
void
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.private boolean
needAuthentication(AuthExchange proxyAuthExchange, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)
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)
-
-
-
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.IOException
Description copied from interface:AsyncExecChainHandler
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.- Specified by:
execute
in interfaceAsyncExecChainHandler
- 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
java.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.HttpException
java.io.IOException
-
needAuthentication
private boolean needAuthentication(AuthExchange proxyAuthExchange, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)
-
-