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 HttpRequestBuilder
addBodyReader(ResponseBodyReader<?> responseBodyReader)
HttpRequestBuilder
addContentType(org.apache.http.entity.ContentType contentType)
Sets content type to headerHttpRequestBuilder
addDefaultDateDeserializationPattern(Class<?> dateType, String pattern)
Method defines by which pattern dates must be deserialized when default deserializer used.HttpRequestBuilder
addDefaultHeader(String name, String value)
Header needs to be the same for all requests which go through the built HttpRequestHttpRequestBuilder
addDefaultHeader(org.apache.http.Header header)
Header needs to be the same for all requests which go through the built HttpRequestHttpRequestBuilder
addDefaultHeaders(Collection<? extends org.apache.http.Header> headers)
Headers need to be the same for all requests which go through the built HttpRequestHttpRequestBuilder
addDefaultHeaders(org.apache.http.Header... headers)
Headers need to be the same for all requests which go through the built HttpRequestHttpRequestBuilder
addDefaultRequestParameter(String name, String value)
Parameter needs to be add for all requests which go through the built HttpRequestHttpRequestBuilder
addDefaultRequestParameter(Collection<? extends org.apache.http.NameValuePair> defaultRequestParameters)
Parameters needs to be add for all requests which go through the built HttpRequestHttpRequestBuilder
addDefaultRequestParameter(Map<String,String> defaultParameters)
Parameters needs to be add for all requests which go through the built HttpRequestHttpRequestBuilder
addDefaultRequestParameter(org.apache.http.NameValuePair nameValuePair)
Parameter needs to be add for all requests which go through the built HttpRequestHttpRequestBuilder
addDefaultRequestParameter(org.apache.http.NameValuePair... nameValues)
Parameters need to be add for all requests which go through the built HttpRequestHttpRequestBuilder
basicAuth(String username, String password)
Basic Authentication - sending the Authorization header.HttpRequest
build()
Build the HttpRequest instancestatic HttpRequestBuilder
create(org.apache.http.impl.client.CloseableHttpClient closeableHttpClient)
HttpRequestBuilder
disableDefaultBodyReader()
HttpRequestBuilder
enableDefaultBodyReader()
HttpRequestBuilder
setDefaultJsonMapper(com.fasterxml.jackson.databind.ObjectMapper defaultJsonMapper)
Set object mapper for default response body deserialization when response content type isContentType.APPLICATION_JSON
HttpRequestBuilder
setDefaultResponseBodyReader(ResponseBodyReader<?> defaultResponseBodyReader)
HttpRequestBuilder
setDefaultXmlMapper(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.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 isContentType.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 isContentType.APPLICATION_XML
- Parameters:
defaultXmlMapper
- Mainly theXmlMapper
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
- usernamepassword
- password- Returns:
- ClientBuilder instance
-
build
public HttpRequest build()
Build the HttpRequest instance- Returns:
- HttpRequest instance
-
-