Class 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
    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
      • proxyHttpProcessor

        private final org.apache.hc.core5.http.protocol.HttpProcessor proxyHttpProcessor
    • 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 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
        java.io.IOException
      • 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)