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
  • Field Details

    • 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 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: 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 interface AsyncExecChainHandler
      Parameters:
      request - the actual request.
      entityProducer - the request entity producer or null 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
    • 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.HttpException
      IOException
    • needAuthentication

      private boolean needAuthentication(AuthExchange proxyAuthExchange, org.apache.hc.core5.http.HttpHost proxy, org.apache.hc.core5.http.HttpResponse response, HttpClientContext context)