Class HttpClientWrapper

    • Constructor Detail

      • HttpClientWrapper

        protected HttpClientWrapper()
    • Method Detail

      • create

        public static HttpClientWrapper create()
        Create a new HTTP client wrapper.
      • addBasicCredentials

        public HttpClientWrapper addBasicCredentials​(String username,
                                                     String password)
        Add basic auth credentials to requests created by the HttpClientWrapper.
        Parameters:
        username - The username to connect as
        password - The password to use
      • addRequestInterceptor

        public HttpClientWrapper addRequestInterceptor​(org.apache.http.HttpRequestInterceptor interceptor)
        Add an HttpRequestInterceptor for all requests.
      • addResponseInterceptor

        public HttpClientWrapper addResponseInterceptor​(org.apache.http.HttpResponseInterceptor interceptor)
        Add an HttpResponseInterceptor for all responses.
        Returns:
      • dontReuseConnections

        public HttpClientWrapper dontReuseConnections()
        Configure HttpClient to not reuse connections for multiple requests.
      • useSystemProxySettings

        public HttpClientWrapper useSystemProxySettings()
        Configure HttpClient to honor the system java proxy settings (-Dhttp.proxyHost= -Dhttp.proxyPort=)
      • useBrowserCompatibleCookies

        public HttpClientWrapper useBrowserCompatibleCookies()
        Use browser-compatible cookies rather than the default.
      • usePreemptiveAuth

        public HttpClientWrapper usePreemptiveAuth()
        Preemptively pass basic authentication headers, rather than waiting for the server to response asking for it.
      • useLaxRedirect

        public HttpClientWrapper useLaxRedirect()
        Use LAX redirect strategy. Automatically redirects all HEAD, GET and POST requests. This strategy relaxes restrictions on automatic redirection of POST methods imposed by the HTTP specification.
      • setSocketTimeout

        public HttpClientWrapper setSocketTimeout​(Integer socketTimeout)
        Set the socket timeout on connections.
      • setConnectionTimeout

        public HttpClientWrapper setConnectionTimeout​(Integer connectionTimeout)
        Set the connection timeout on connections.
      • setUserAgent

        public HttpClientWrapper setUserAgent​(String userAgent)
        Set the User-Agent header used when making requests.
      • setVirtualHost

        public HttpClientWrapper setVirtualHost​(String host)
        Set the Host header used when making requests.
      • setVersion

        public HttpClientWrapper setVersion​(org.apache.http.HttpVersion httpVersion)
        Set the HTTP version used when making requests.
      • close

        public void close​(org.apache.http.client.methods.CloseableHttpResponse response)
        Safely clean up after a response.
      • execute

        public org.apache.http.client.methods.CloseableHttpResponse execute​(org.apache.http.client.methods.HttpUriRequest method)
                                                                     throws org.apache.http.client.ClientProtocolException,
                                                                            IOException
        Execute the given HTTP method, returning an HTTP response. Note that when you are done with the response, you must call #closeResponse() so that it gets cleaned up properly.
        Throws:
        org.apache.http.client.ClientProtocolException
        IOException
      • duplicate

        public HttpClientWrapper duplicate()
        Create a duplicate HttpClientWrapper from this wrapper. All settings are preserved, and the session/cookie store is shared between duplicate wrappers and their parent.
      • getClient

        public org.apache.http.impl.client.CloseableHttpClient getClient()
      • assertNotInitialized

        protected void assertNotInitialized()
      • setCredentials

        protected void setCredentials​(org.apache.http.impl.client.HttpClientBuilder httpClientBuilder,
                                      String username,
                                      String password)
      • enablePreemptiveAuth

        protected void enablePreemptiveAuth​(org.apache.http.impl.client.HttpClientBuilder builder)
      • configureSSLContext

        protected void configureSSLContext​(org.apache.http.impl.client.HttpClientBuilder builder)