Class ProtocolExec

  • All Implemented Interfaces:
    ExecChainHandler

    @Contract(threading=STATELESS)
    @Internal
    public final class ProtocolExec
    extends java.lang.Object
    implements ExecChainHandler
    Request execution handler in the classic request execution chain that is responsible for implementation of HTTP specification requirements.

    Further responsibilities such as communication with the opposite endpoint is delegated to the next executor in the request execution chain.

    Since:
    4.3
    • Method Detail

      • execute

        public org.apache.hc.core5.http.ClassicHttpResponse execute​(org.apache.hc.core5.http.ClassicHttpRequest userRequest,
                                                                    ExecChain.Scope scope,
                                                                    ExecChain chain)
                                                             throws java.io.IOException,
                                                                    org.apache.hc.core5.http.HttpException
        Description copied from interface: ExecChainHandler
        Executes the actual HTTP request. The handler can choose to return a response message or delegate request execution to the next element in the execution chain.
        Specified by:
        execute in interface ExecChainHandler
        Parameters:
        userRequest - the actual request.
        scope - the execution scope .
        chain - the next element in the request execution chain.
        Throws:
        java.io.IOException
        org.apache.hc.core5.http.HttpException
      • needAuthentication

        private boolean needAuthentication​(AuthExchange targetAuthExchange,
                                           AuthExchange proxyAuthExchange,
                                           org.apache.hc.core5.http.HttpHost proxy,
                                           org.apache.hc.core5.http.HttpHost target,
                                           java.lang.String pathPrefix,
                                           org.apache.hc.core5.http.HttpResponse response,
                                           HttpClientContext context)