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)
Adds a response body reader.HttpRequestBuilder
addContentType(org.apache.hc.core5.http.ContentType contentType)
Sets the content type header for all requests.HttpRequestBuilder
addDefaultHeader(String name, String value)
Adds a default header to be included in all requests.HttpRequestBuilder
addDefaultHeader(org.apache.hc.core5.http.Header header)
Adds a default header to be included in all requests.HttpRequestBuilder
addDefaultHeaders(Collection<? extends org.apache.hc.core5.http.Header> headers)
Adds multiple default headers to be included in all requests.HttpRequestBuilder
addDefaultHeaders(org.apache.hc.core5.http.Header... headers)
Adds multiple default headers to be included in all requests.HttpRequestBuilder
addDefaultRequestParameter(String name, String value)
Adds a default request parameter to be included in all requests.HttpRequestBuilder
addDefaultRequestParameter(Collection<? extends org.apache.hc.core5.http.NameValuePair> defaultRequestParameters)
Adds multiple default request parameters to be included in all requests.HttpRequestBuilder
addDefaultRequestParameter(Map<String,String> defaultParameters)
Adds multiple default request parameters to be included in all requests.HttpRequestBuilder
addDefaultRequestParameter(org.apache.hc.core5.http.NameValuePair nameValuePair)
Adds a default request parameter to be included in all requests.HttpRequestBuilder
addDefaultRequestParameter(org.apache.hc.core5.http.NameValuePair... nameValues)
Adds multiple default request parameters to be included in all requests.HttpRequestBuilder
addRequestDefaultDateSerializationPattern(Class<?> dateType, String pattern)
Adds a date deserialization pattern for the request body serialization.HttpRequestBuilder
addResponseDefaultDateDeserializationPattern(Class<?> dateType, String pattern)
Adds a date deserialization pattern for the default response deserializer.HttpRequestBuilder
basicAuth(String username, String password)
Adds basic authentication to the request.HttpRequest
build()
Builds the HttpRequest instance.static HttpRequestBuilder
create(org.apache.hc.client5.http.impl.classic.CloseableHttpClient closeableHttpClient)
Creates a new instance of HttpRequestBuilder.HttpRequestBuilder
disableDefaultBodyReader()
Disables the default body reader.HttpRequestBuilder
enableDefaultBodyReader()
Enables the default body reader.HttpRequestBuilder
setDefaultJsonMapper(com.fasterxml.jackson.databind.ObjectMapper defaultJsonMapper)
Sets the default JSON mapper for response body deserialization.HttpRequestBuilder
setDefaultResponseBodyReader(ResponseBodyReader<?> defaultResponseBodyReader)
Sets the default response body reader.HttpRequestBuilder
setDefaultXmlMapper(com.fasterxml.jackson.databind.ObjectMapper defaultXmlMapper)
Sets the default XML mapper for response body deserialization.
-
-
-
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 headervalue
- 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 parametervalue
- 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 typepattern
- 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 typepattern
- 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 usernamepassword
- the password- Returns:
- the current instance of HttpRequestBuilder
-
build
public HttpRequest build()
Builds the HttpRequest instance.- Returns:
- the HttpRequest instance
-
-