Package com.jsunsoft.http
Class HttpRequestBuilder
- java.lang.Object
-
- com.jsunsoft.http.HttpRequestBuilder
-
public class HttpRequestBuilder extends Object
Http request builder- See Also:
HttpRequest
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description HttpRequestBuilderaddBodyReader(ResponseBodyReader<?> responseBodyReader)HttpRequestBuilderaddContentType(org.apache.http.entity.ContentType contentType)Sets content type to headerHttpRequestBuilderaddDefaultDateDeserializationPattern(Class<?> dateType, String pattern)Method defines by which pattern dates must be deserialized when default deserializer used.HttpRequestBuilderaddDefaultHeader(String name, String value)Header needs to be the same for all requests which go through the built HttpRequestHttpRequestBuilderaddDefaultHeader(org.apache.http.Header header)Header needs to be the same for all requests which go through the built HttpRequestHttpRequestBuilderaddDefaultHeaders(Collection<? extends org.apache.http.Header> headers)Headers need to be the same for all requests which go through the built HttpRequestHttpRequestBuilderaddDefaultHeaders(org.apache.http.Header... headers)Headers need to be the same for all requests which go through the built HttpRequestHttpRequestBuilderaddDefaultRequestParameter(String name, String value)Parameter needs to be add for all requests which go through the built HttpRequestHttpRequestBuilderaddDefaultRequestParameter(Collection<? extends org.apache.http.NameValuePair> defaultRequestParameters)Parameters needs to be add for all requests which go through the built HttpRequestHttpRequestBuilderaddDefaultRequestParameter(Map<String,String> defaultParameters)Parameters needs to be add for all requests which go through the built HttpRequestHttpRequestBuilderaddDefaultRequestParameter(org.apache.http.NameValuePair nameValuePair)Parameter needs to be add for all requests which go through the built HttpRequestHttpRequestBuilderaddDefaultRequestParameter(org.apache.http.NameValuePair... nameValues)Parameters need to be add for all requests which go through the built HttpRequestHttpRequestBuilderbasicAuth(String username, String password)Basic Authentication - sending the Authorization header.HttpRequestbuild()Build the HttpRequest instancestatic HttpRequestBuildercreate(org.apache.http.impl.client.CloseableHttpClient closeableHttpClient)HttpRequestBuilderdisableDefaultBodyReader()HttpRequestBuilderenableDefaultBodyReader()HttpRequestBuildersetDefaultJsonMapper(com.fasterxml.jackson.databind.ObjectMapper defaultJsonMapper)Set object mapper for default response body deserialization when response content type isContentType.APPLICATION_JSONHttpRequestBuildersetDefaultResponseBodyReader(ResponseBodyReader<?> defaultResponseBodyReader)HttpRequestBuildersetDefaultXmlMapper(com.fasterxml.jackson.databind.ObjectMapper defaultXmlMapper)Set object mapper for default response body deserialization when response content type isContentType.APPLICATION_XML
-
-
-
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 nullvalue- 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- keyvalue- 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
-
addBodyReader
public HttpRequestBuilder addBodyReader(ResponseBodyReader<?> responseBodyReader)
-
setDefaultResponseBodyReader
public HttpRequestBuilder setDefaultResponseBodyReader(ResponseBodyReader<?> defaultResponseBodyReader)
-
enableDefaultBodyReader
public HttpRequestBuilder enableDefaultBodyReader()
-
disableDefaultBodyReader
public HttpRequestBuilder disableDefaultBodyReader()
-
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 dohttpRequestBuilder.addDateDeserializationPattern(LocalDateTime.class, "yyyy-MM-dd");Note: if methods
setDefaultJsonMapper(ObjectMapper)orsetDefaultXmlMapper(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.gLocalDateTime.classpattern- 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 isContentType.APPLICATION_JSONNote: 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 isContentType.APPLICATION_XML- Parameters:
defaultXmlMapper- Mainly theXmlMapperinstance- 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- usernamepassword- password- Returns:
- ClientBuilder instance
-
build
public HttpRequest build()
Build the HttpRequest instance- Returns:
- HttpRequest instance
-
-