Class HttpRequestBuilder


  • public class HttpRequestBuilder
    extends Object
    Http request builder
    See Also:
    HttpRequest
    • Method Detail

      • create

        public static HttpRequestBuilder create​(org.apache.hc.client5.http.impl.classic.CloseableHttpClient closeableHttpClient)
        Creates a new instance of HttpRequestBuilder.
        Parameters:
        closeableHttpClient - the HTTP client to use
        Returns:
        a new instance of HttpRequestBuilder
      • addDefaultHeader

        public HttpRequestBuilder addDefaultHeader​(String name,
                                                   String value)
        Adds a default header to be included in all requests.
        Parameters:
        name - the name of the header
        value - the value of the header
        Returns:
        the current instance of HttpRequestBuilder
      • addDefaultHeader

        public HttpRequestBuilder addDefaultHeader​(org.apache.hc.core5.http.Header header)
        Adds a default header to be included in all requests.
        Parameters:
        header - the header to add
        Returns:
        the current instance of HttpRequestBuilder
      • addDefaultHeaders

        public HttpRequestBuilder addDefaultHeaders​(org.apache.hc.core5.http.Header... headers)
        Adds multiple default headers to be included in all requests.
        Parameters:
        headers - the headers to add
        Returns:
        the current instance of HttpRequestBuilder
      • addDefaultHeaders

        public HttpRequestBuilder addDefaultHeaders​(Collection<? extends org.apache.hc.core5.http.Header> headers)
        Adds multiple default headers to be included in all requests.
        Parameters:
        headers - the headers to add
        Returns:
        the current instance of HttpRequestBuilder
      • addContentType

        public HttpRequestBuilder addContentType​(org.apache.hc.core5.http.ContentType contentType)
        Sets the content type header for all requests.
        Parameters:
        contentType - the content type to set
        Returns:
        the current instance of HttpRequestBuilder
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(String name,
                                                             String value)
        Adds a default request parameter to be included in all requests.
        Parameters:
        name - the name of the parameter
        value - the value of the parameter
        Returns:
        the current instance of HttpRequestBuilder
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(org.apache.hc.core5.http.NameValuePair... nameValues)
        Adds multiple default request parameters to be included in all requests.
        Parameters:
        nameValues - the parameters to add
        Returns:
        the current instance of HttpRequestBuilder
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(org.apache.hc.core5.http.NameValuePair nameValuePair)
        Adds a default request parameter to be included in all requests.
        Parameters:
        nameValuePair - the parameter to add
        Returns:
        the current instance of HttpRequestBuilder
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(Map<String,​String> defaultParameters)
        Adds multiple default request parameters to be included in all requests.
        Parameters:
        defaultParameters - the parameters to add
        Returns:
        the current instance of HttpRequestBuilder
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(Collection<? extends org.apache.hc.core5.http.NameValuePair> defaultRequestParameters)
        Adds multiple default request parameters to be included in all requests.
        Parameters:
        defaultRequestParameters - the parameters to add
        Returns:
        the current instance of HttpRequestBuilder
      • addBodyReader

        public HttpRequestBuilder addBodyReader​(ResponseBodyReader<?> responseBodyReader)
        Adds a response body reader.
        Parameters:
        responseBodyReader - the response body reader to add
        Returns:
        the current instance of HttpRequestBuilder
      • setDefaultResponseBodyReader

        public HttpRequestBuilder setDefaultResponseBodyReader​(ResponseBodyReader<?> defaultResponseBodyReader)
        Sets the default response body reader.
        Parameters:
        defaultResponseBodyReader - the default response body reader to set
        Returns:
        the current instance of HttpRequestBuilder
      • enableDefaultBodyReader

        public HttpRequestBuilder enableDefaultBodyReader()
        Enables the default body reader.
        Returns:
        the current instance of HttpRequestBuilder
      • disableDefaultBodyReader

        public HttpRequestBuilder disableDefaultBodyReader()
        Disables the default body reader.
        Returns:
        the current instance of HttpRequestBuilder
      • addResponseDefaultDateDeserializationPattern

        public HttpRequestBuilder addResponseDefaultDateDeserializationPattern​(Class<?> dateType,
                                                                               String pattern)
        Adds a date deserialization pattern for the default response deserializer.

        Note: This method will be ignored if setDefaultJsonMapper(com.fasterxml.jackson.databind.ObjectMapper) is called.

        Parameters:
        dateType - the date type
        pattern - the pattern to use for deserialization
        Returns:
        the current instance of HttpRequestBuilder
      • addRequestDefaultDateSerializationPattern

        public HttpRequestBuilder addRequestDefaultDateSerializationPattern​(Class<?> dateType,
                                                                            String pattern)
        Adds a date deserialization pattern for the request body serialization.

        Note: This method will be ignored if setDefaultJsonMapper(com.fasterxml.jackson.databind.ObjectMapper) is called.

        Parameters:
        dateType - the date type
        pattern - the pattern to use for sserialization
        Returns:
        the current instance of HttpRequestBuilder
      • setDefaultJsonMapper

        public HttpRequestBuilder setDefaultJsonMapper​(com.fasterxml.jackson.databind.ObjectMapper defaultJsonMapper)
        Sets the default JSON mapper for response body deserialization.
        Parameters:
        defaultJsonMapper - the JSON mapper to set
        Returns:
        the current instance of HttpRequestBuilder
      • setDefaultXmlMapper

        public HttpRequestBuilder setDefaultXmlMapper​(com.fasterxml.jackson.databind.ObjectMapper defaultXmlMapper)
        Sets the default XML mapper for response body deserialization.
        Parameters:
        defaultXmlMapper - the XML mapper to set
        Returns:
        the current instance of HttpRequestBuilder
      • basicAuth

        public HttpRequestBuilder basicAuth​(String username,
                                            String password)
        Adds basic authentication to the request.
        Parameters:
        username - the username
        password - the password
        Returns:
        the current instance of HttpRequestBuilder
      • build

        public HttpRequest build()
        Builds the HttpRequest instance.
        Returns:
        the HttpRequest instance