Class AbstractHttpClient

    • Field Detail

      • password

        protected String password
      • connectTimeout

        protected int connectTimeout
      • readTimeout

        protected int readTimeout
      • tryGzip

        protected boolean tryGzip
    • Constructor Detail

      • AbstractHttpClient

        public AbstractHttpClient()
    • Method Detail

      • getUser

        public String getUser()
        Specified by:
        getUser in interface HTTPClient
        Returns:
        the HTTP BASIC Authentication user name, or null if not set
      • setUser

        public void setUser​(String user)
        Specified by:
        setUser in interface HTTPClient
        Parameters:
        user - the HTTP BASIC Authentication user name
      • getPassword

        public String getPassword()
        Specified by:
        getPassword in interface HTTPClient
        Returns:
        the HTTP BASIC Authentication password, or null if not set
      • setExtraParams

        public void setExtraParams​(Map<String,​String> extraParams)
        Specified by:
        setExtraParams in interface HTTPClient
        Parameters:
        extraParams - the optional querystring ExtraParams to be appended to finalURL
      • getExtraParams

        public Map<String,​String> getExtraParams()
        Description copied from interface: HTTPClient
        Optional query parameters.
        Specified by:
        getExtraParams in interface HTTPClient
        Returns:
        querystring ExtraParams, or emptyMap() if not set
      • setPassword

        public void setPassword​(String password)
        Specified by:
        setPassword in interface HTTPClient
        Parameters:
        password - the HTTP BASIC Authentication password
      • getConnectTimeout

        public int getConnectTimeout()
        Specified by:
        getConnectTimeout in interface HTTPClient
        Returns:
        the tcp/ip connect timeout in seconds
      • setConnectTimeout

        public void setConnectTimeout​(int connectTimeout)
        Specified by:
        setConnectTimeout in interface HTTPClient
        Parameters:
        connectTimeout - tcp/ip connect timeout in seconds
      • getReadTimeout

        public int getReadTimeout()
        Specified by:
        getReadTimeout in interface HTTPClient
        Returns:
        the socket read timeout in seconds
      • setReadTimeout

        public void setReadTimeout​(int readTimeout)
        Specified by:
        setReadTimeout in interface HTTPClient
        Parameters:
        readTimeout - socket read timeout in seconds
      • appendURL

        protected static URL appendURL​(URL oldUrl,
                                       Map<String,​String> appendQuery)
                                throws MalformedURLException
        Appends query parameters to an existing URL.
        Parameters:
        oldUrl - The original URL to which parameters will be appended.
        appendQuery - A map containing key-value pairs to be appended as query parameters.
        Returns:
        A new URL with the appended query parameters.
        Throws:
        MalformedURLException - If the resulting URL is malformed.
      • isFile

        protected boolean isFile​(URL url)
      • post

        public abstract HTTPResponse post​(URL url,
                                          InputStream content,
                                          String contentType)
                                   throws IOException
        Description copied from interface: HTTPClient
        Executes an HTTP POST request against the provided URL, sending the contents of postContent as the POST method body and setting the Content-Type request header to postContentType if given, and returns the server response.

        If an HTTP authentication user and password is set, the appropriate authentication HTTP header will be sent with the request.

        If a connection timeout is set, the http connection will be set to respect that timeout.

        If a read timeout is set, the http connection will be set to respect it.

        Specified by:
        post in interface HTTPClient
        Parameters:
        url - the URL against which to execute the POST request
        content - an input stream with the contents of the POST body
        contentType - the MIME type of the contents sent as the request POST body, can be null
        Returns:
        the HTTPResponse encapsulating the response to the HTTP POST request
        Throws:
        IOException