Class HttpRequestBuilder


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

      • create

        public static HttpRequestBuilder create​(org.apache.http.impl.client.CloseableHttpClient closeableHttpClient)
      • addDefaultHeader

        public HttpRequestBuilder addDefaultHeader​(String name,
                                                   String value)
        Header needs to be the same for all requests which go through the built HttpRequest
        Parameters:
        name - name of header. Can't be null
        value - value of header
        Returns:
        HttpRequestBuilder instance
      • addDefaultHeader

        public HttpRequestBuilder addDefaultHeader​(org.apache.http.Header header)
        Header needs to be the same for all requests which go through the built HttpRequest
        Parameters:
        header - header instance. Can't be null
        Returns:
        HttpRequestBuilder instance
      • addDefaultHeaders

        public HttpRequestBuilder addDefaultHeaders​(org.apache.http.Header... headers)
        Headers need to be the same for all requests which go through the built HttpRequest
        Parameters:
        headers - varargs of headers
        Returns:
        HttpRequestBuilder instance
      • addDefaultHeaders

        public HttpRequestBuilder addDefaultHeaders​(Collection<? extends org.apache.http.Header> headers)
        Headers need to be the same for all requests which go through the built HttpRequest
        Parameters:
        headers - collections of headers
        Returns:
        HttpRequestBuilder instance
      • addContentType

        public HttpRequestBuilder addContentType​(org.apache.http.entity.ContentType contentType)
        Sets content type to header
        Parameters:
        contentType - content type of request header
        Returns:
        HttpRequestBuilder instance
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(String name,
                                                             String value)
        Parameter needs to be add for all requests which go through the built HttpRequest
        Parameters:
        name - key
        value - value
        Returns:
        HttpRequestBuilder instance
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(org.apache.http.NameValuePair... nameValues)
        Parameters need to be add for all requests which go through the built HttpRequest
        Parameters:
        nameValues - nameValues
        Returns:
        HttpRequestBuilder instance
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(org.apache.http.NameValuePair nameValuePair)
        Parameter needs to be add for all requests which go through the built HttpRequest
        Parameters:
        nameValuePair - nameValuePair
        Returns:
        HttpRequestBuilder instance
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(Map<String,​String> defaultParameters)
        Parameters needs to be add for all requests which go through the built HttpRequest
        Parameters:
        defaultParameters - defaultParameters
        Returns:
        HttpRequestBuilder instance
      • addDefaultRequestParameter

        public HttpRequestBuilder addDefaultRequestParameter​(Collection<? extends org.apache.http.NameValuePair> defaultRequestParameters)
        Parameters needs to be add for all requests which go through the built HttpRequest
        Parameters:
        defaultRequestParameters - defaultRequestParameters
        Returns:
        HttpRequestBuilder instance
      • addDefaultDateDeserializationPattern

        public HttpRequestBuilder addDefaultDateDeserializationPattern​(Class<?> dateType,
                                                                       String pattern)
        Method defines by which pattern dates must be deserialized when default deserializer used. For example, you can do
            httpRequestBuilder.addDateDeserializationPattern(LocalDateTime.class, "yyyy-MM-dd");
         

        Note: if methods setDefaultJsonMapper(ObjectMapper) or setDefaultXmlMapper(ObjectMapper) called result of this method will be ignored for that type of response.

        Default patterns are { LocalTime - HH:mm:ss, LocalDate - dd/MM/yyyy, LocalDateTime - dd/MM/yyyy HH:mm:ss}

        Parameters:
        dateType - date type e.g LocalDateTime.class
        pattern - pattern by which date with given type must be deserialized
        Returns:
        HttpRequestBuilder instance
        See Also:
        ObjectMapper.configOverride(Class), MutableConfigOverride.setFormat(JsonFormat.Value)
      • setDefaultJsonMapper

        public HttpRequestBuilder setDefaultJsonMapper​(com.fasterxml.jackson.databind.ObjectMapper defaultJsonMapper)
        Set object mapper for default response body deserialization when response content type is ContentType.APPLICATION_JSON

        Note: if this method called the result of addDefaultDateDeserializationPattern will be ignored for ContentType.APPLICATION_JSON.

        Parameters:
        defaultJsonMapper - the ObjectMapper instance
        Returns:
        HttpRequestBuilder instance
      • setDefaultXmlMapper

        public HttpRequestBuilder setDefaultXmlMapper​(com.fasterxml.jackson.databind.ObjectMapper defaultXmlMapper)
        Set object mapper for default response body deserialization when response content type is ContentType.APPLICATION_XML
        Parameters:
        defaultXmlMapper - Mainly the XmlMapper instance
        Returns:
        HttpRequestBuilder instance

        Note: if this method called the result of addDefaultDateDeserializationPattern will be ignored for ContentType.APPLICATION_XML.

      • basicAuth

        public HttpRequestBuilder basicAuth​(String username,
                                            String password)
        Basic Authentication - sending the Authorization header.
        Parameters:
        username - username
        password - password
        Returns:
        ClientBuilder instance
      • build

        public HttpRequest build()
        Build the HttpRequest instance
        Returns:
        HttpRequest instance