Class InternalHttpClient

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, HttpClient, Configurable, org.apache.hc.core5.io.ModalCloseable

    @Contract(threading=SAFE_CONDITIONAL)
    @Internal
    class InternalHttpClient
    extends CloseableHttpClient
    implements Configurable
    Internal implementation of CloseableHttpClient.

    Concurrent message exchanges executed by this client will get assigned to separate connections leased from the connection pool.

    Since:
    4.3
    • Field Detail

      • LOG

        private static final org.slf4j.Logger LOG
      • requestExecutor

        private final org.apache.hc.core5.http.impl.io.HttpRequestExecutor requestExecutor
      • cookieSpecRegistry

        private final org.apache.hc.core5.http.config.Lookup<CookieSpecFactory> cookieSpecRegistry
      • authSchemeRegistry

        private final org.apache.hc.core5.http.config.Lookup<AuthSchemeFactory> authSchemeRegistry
      • closeables

        private final java.util.concurrent.ConcurrentLinkedQueue<java.io.Closeable> closeables
    • Method Detail

      • determineRoute

        private HttpRoute determineRoute​(org.apache.hc.core5.http.HttpHost target,
                                         org.apache.hc.core5.http.protocol.HttpContext context)
                                  throws org.apache.hc.core5.http.HttpException
        Throws:
        org.apache.hc.core5.http.HttpException
      • doExecute

        protected CloseableHttpResponse doExecute​(org.apache.hc.core5.http.HttpHost target,
                                                  org.apache.hc.core5.http.ClassicHttpRequest request,
                                                  org.apache.hc.core5.http.protocol.HttpContext context)
                                           throws java.io.IOException
        Specified by:
        doExecute in class CloseableHttpClient
        Throws:
        java.io.IOException
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
      • close

        public void close​(org.apache.hc.core5.io.CloseMode closeMode)
        Specified by:
        close in interface org.apache.hc.core5.io.ModalCloseable