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)Adds a response body reader.HttpRequestBuilderaddContentType(org.apache.hc.core5.http.ContentType contentType)Sets the content type header for all requests.HttpRequestBuilderaddDefaultHeader(String name, String value)Adds a default header to be included in all requests.HttpRequestBuilderaddDefaultHeader(org.apache.hc.core5.http.Header header)Adds a default header to be included in all requests.HttpRequestBuilderaddDefaultHeaders(Collection<? extends org.apache.hc.core5.http.Header> headers)Adds multiple default headers to be included in all requests.HttpRequestBuilderaddDefaultHeaders(org.apache.hc.core5.http.Header... headers)Adds multiple default headers to be included in all requests.HttpRequestBuilderaddDefaultRequestParameter(String name, String value)Adds a default request parameter to be included in all requests.HttpRequestBuilderaddDefaultRequestParameter(Collection<? extends org.apache.hc.core5.http.NameValuePair> defaultRequestParameters)Adds multiple default request parameters to be included in all requests.HttpRequestBuilderaddDefaultRequestParameter(Map<String,String> defaultParameters)Adds multiple default request parameters to be included in all requests.HttpRequestBuilderaddDefaultRequestParameter(org.apache.hc.core5.http.NameValuePair nameValuePair)Adds a default request parameter to be included in all requests.HttpRequestBuilderaddDefaultRequestParameter(org.apache.hc.core5.http.NameValuePair... nameValues)Adds multiple default request parameters to be included in all requests.HttpRequestBuilderaddRequestDefaultDateSerializationPattern(Class<?> dateType, String pattern)Adds a date deserialization pattern for the request body serialization.HttpRequestBuilderaddResponseDefaultDateDeserializationPattern(Class<?> dateType, String pattern)Adds a date deserialization pattern for the default response deserializer.HttpRequestBuilderbasicAuth(String username, String password)Adds basic authentication to the request.HttpRequestbuild()Builds the HttpRequest instance.static HttpRequestBuildercreate(org.apache.hc.client5.http.impl.classic.CloseableHttpClient closeableHttpClient)Creates a new instance of HttpRequestBuilder.HttpRequestBuilderdisableDefaultBodyReader()Disables the default body reader.HttpRequestBuilderenableDefaultBodyReader()Enables the default body reader.HttpRequestBuildersetDefaultJsonMapper(com.fasterxml.jackson.databind.ObjectMapper defaultJsonMapper)Sets the default JSON mapper for response body deserialization.HttpRequestBuildersetDefaultResponseBodyReader(ResponseBodyReader<?> defaultResponseBodyReader)Sets the default response body reader.HttpRequestBuildersetDefaultXmlMapper(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
-
-