Package de.xima.fc.http
Class HttpRequestBuilder
- java.lang.Object
 - 
- de.xima.fc.http.HttpRequestBuilder
 
 
- 
- Direct Known Subclasses:
 HttpPostRequestBuilder
public class HttpRequestBuilder extends Object
Builder for preparing and sending an HTTP request.- Since:
 - 7.0.1
 - Author:
 - XIMA MEDIA GmbH
 
 
- 
- 
Constructor Summary
Constructors Constructor Description HttpRequestBuilder(EHttpVerb method, String uri)HttpRequestBuilder(EHttpVerb method, URI uri)HttpRequestBuilder(String method, String uri)HttpRequestBuilder(String method, URI uri) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description HttpRequestBuilderaddBinayData(String elementName, byte[] data, String filename, String mimeType)Deprecated.HttpRequestBuilderaddBinayData(String elementName, byte[] data, String filename, String mimeType, Charset charset)Deprecated.HttpRequestBuilderaddHeader(String name, String value)Adds a header field to the HTTP request.HttpRequestBuilderaddParameter(String name, String value)Deprecated.HttpRequestBuilderaddParameter(String name, String value, org.apache.http.entity.ContentType contentType)Deprecated.org.apache.http.client.methods.CloseableHttpResponsebuild()Deprecated.Usebuild(Charset).HttpResponseWrapperbuild(Charset outputCharset)Performs the HTTP request to the server and returns the response.IFormDataBodyBuilderformDataBuilder()StringgetUrl()IMultipartBodyBuildermultipartBuilder()HttpRequestBuildersetBasicAuthLogin(String login)Sets the login name for performing an HTTP basic authentication.HttpRequestBuildersetBasicAuthPassword(String password)Sets the password for performing an HTTP basic authentication.HttpRequestBuildersetBody(org.apache.http.HttpEntity body)Sets the body content of the HTTP request.HttpRequestBuildersetInputCharset(Charset inputCharset)Sets the request character encoding.HttpRequestBuildersetProxyServer(FcHttpRequestProps.ProxyProps proxyConfig)Sets the following proxy server configuration parameters if defined inside theFcHttpRequestProps.ProxyPropsobject: proxy server host proxy server port login for a proxy server authentication password for a proxy server authenticationHttpRequestBuildersetProxyServerAuth(FcHttpRequestProps.ProxyAuthProps proxyAuth)Sets the login name and password of the proxy server, if one is used.HttpRequestBuildersetProxyServerAuthLogin(String login)Sets the login name for the proxy server, if one is used.HttpRequestBuildersetProxyServerAuthPassword(String password)Sets the password for the proxy server, if one is used.HttpRequestBuildersetProxyServerHost(String host)Sets the proxy server host.HttpRequestBuildersetProxyServerPort(int port)Sets the proxy server port.HttpRequestBuildersupportsMessageBody(Boolean supportsMessageBody)booleanuseBasicAuthentication()booleanuseProxyServer()booleanuseProxyServerAuthentication()HttpRequestBuilderwithDisabledRedirectHandling(boolean disableRedirectHandling)Enables/Disables automatic redirect handling. 
 - 
 
- 
- 
Constructor Detail
- 
HttpRequestBuilder
public HttpRequestBuilder(@Nonnull EHttpVerb method, @Nonnull String uri) throws URISyntaxException- Parameters:
 method- HTTP method to use.uri- The request URL, must not benull- Throws:
 URISyntaxException- When the given string is not a valid URI.
 
- 
HttpRequestBuilder
public HttpRequestBuilder(@Nonnull EHttpVerb method, @Nonnull URI uri)- Parameters:
 method- HTTP method to use.uri- The request URL.
 
- 
HttpRequestBuilder
public HttpRequestBuilder(@Nonnull String method, @Nonnull String uri) throws URISyntaxException- Parameters:
 method- HTTP method to use.uri- The request URL, must not benull- Throws:
 URISyntaxException- When the given string is not a valid URI.
 
 - 
 
- 
Method Detail
- 
addBinayData
@Deprecated @Nonnull public HttpRequestBuilder addBinayData(@Nonnull String elementName, @Nullable byte[] data, @Nonnull String filename, @Nonnull String mimeType)
Deprecated.- Parameters:
 elementName- Name of the file.data- Binary data of the file.filename- Name of the file.mimeType- Mime type of the file.- Returns:
 - This builder for chaining method calls.
 
 
- 
addBinayData
@Deprecated @Nonnull public HttpRequestBuilder addBinayData(@Nonnull String elementName, @Nullable byte[] data, @Nonnull String filename, @Nonnull String mimeType, @Nonnull Charset charset)
Deprecated.- Parameters:
 elementName- Name of the file.data- Binary data of the file.filename- Name of the file.mimeType- Mime type of the file.charset- Charset of the file content.- Returns:
 - This builder for chaining method calls.
 
 
- 
addHeader
@Nonnull public HttpRequestBuilder addHeader(@Nonnull String name, @Nonnull String value)
Adds a header field to the HTTP request. Note that it is possible to have multiple header fields with the same name.- Parameters:
 name- Name of the header.value- Value of the header.- Returns:
 - This builder for chaining method calls.
 
 
- 
addParameter
@Deprecated @Nonnull public HttpRequestBuilder addParameter(@Nonnull String name, @Nonnull String value)
Deprecated.- Parameters:
 name- Name of the parameter to add.value- Value of the parameter to add.- Returns:
 - This builder for chaining method calls.
 
 
- 
addParameter
@Deprecated @Nonnull public HttpRequestBuilder addParameter(@Nonnull String name, @Nonnull String value, @Nonnull org.apache.http.entity.ContentType contentType)
Deprecated.- Parameters:
 name- Name of the parameter to add.value- Value of the parameter to add.contentType- Content type of the parameter.- Returns:
 - This builder for chaining method calls.
 
 
- 
build
@Deprecated @Nonnull public org.apache.http.client.methods.CloseableHttpResponse build() throws IOException
Deprecated.Usebuild(Charset).Performs the HTTP request to the server and returns the response.- Returns:
 - The response that was obtained from the server.
 - Throws:
 IOException- When a network failure occurred and data could not be sent to the remote host or the response could not be received.
 
- 
build
@Nonnull public HttpResponseWrapper build(Charset outputCharset) throws IOException
Performs the HTTP request to the server and returns the response.- Parameters:
 outputCharset- Charset used for the response content. Ifnull, a default charset is used.- Returns:
 - The response that was obtained from the server.
 - Throws:
 IOException- When a network failure occurred and data could not be sent to the remote host or the response could not be received.
 
- 
formDataBuilder
public IFormDataBodyBuilder formDataBuilder()
- Returns:
 - A configurator for setting a form data body on the request (
application/x-www-form-urlencoded). This is a shortcut for callingsetBody(HttpEntity)with the appropriate entity. You must callIFormDataBodyBuilder.build()to add the multipart body to this request. 
 
- 
getUrl
@Nonnull public String getUrl()
- Returns:
 - the request URL
 
 
- 
multipartBuilder
public IMultipartBodyBuilder multipartBuilder()
- Returns:
 - A configurator for setting a multipart body on the request (
multipart/form-data). This is a shortcut for callingsetBody(HttpEntity)with the appropriate entity. You must callIHttpBodyBuilder.build()to add the multipart body to this request. 
 
- 
setBasicAuthLogin
@Nonnull public HttpRequestBuilder setBasicAuthLogin(@Nullable String login)
Sets the login name for performing an HTTP basic authentication.- Parameters:
 login- User name for the basic authentication.- Returns:
 - This builder for chaining method calls.
 
 
- 
setBasicAuthPassword
@Nonnull public HttpRequestBuilder setBasicAuthPassword(@Nullable String password)
Sets the password for performing an HTTP basic authentication.- Parameters:
 password- Password for the basic authentication.- Returns:
 - This builder for chaining method calls.
 
 
- 
setBody
public HttpRequestBuilder setBody(@Nonnull org.apache.http.HttpEntity body)
Sets the body content of the HTTP request.- Parameters:
 body- Data to be transmitted with the request.- Returns:
 - This builder for chaining method calls.
 - See Also:
 formDataBuilder,multipartBuilder
 
- 
setInputCharset
@Nonnull public HttpRequestBuilder setInputCharset(@Nonnull Charset inputCharset)
Sets the request character encoding.- Parameters:
 inputCharset- encoding character set- Returns:
 - This builder for chaining method calls.
 
 
- 
setProxyServer
@Nonnull public HttpRequestBuilder setProxyServer(@Nullable FcHttpRequestProps.ProxyProps proxyConfig)
Sets the following proxy server configuration parameters if defined inside theFcHttpRequestProps.ProxyPropsobject:- proxy server host
 - proxy server port
 - login for a proxy server authentication
 - password for a proxy server authentication
 
- Parameters:
 proxyConfig- the proxy server configuration- Returns:
 - This builder for chaining method calls.
 
 
- 
setProxyServerAuth
@Nonnull public HttpRequestBuilder setProxyServerAuth(@Nullable FcHttpRequestProps.ProxyAuthProps proxyAuth)
Sets the login name and password of the proxy server, if one is used.- Parameters:
 proxyAuth- Login name and user name for the proxy.- Returns:
 - This builder for chaining method calls.
 
 
- 
setProxyServerAuthLogin
@Nonnull public HttpRequestBuilder setProxyServerAuthLogin(@Nullable String login)
Sets the login name for the proxy server, if one is used.- Parameters:
 login- Login name for the proxy- Returns:
 - This builder for chaining method calls.
 
 
- 
setProxyServerAuthPassword
@Nonnull public HttpRequestBuilder setProxyServerAuthPassword(@Nullable String password)
Sets the password for the proxy server, if one is used.- Parameters:
 password- Password for the proxy- Returns:
 - This builder for chaining method calls.
 
 
- 
setProxyServerHost
@Nonnull public HttpRequestBuilder setProxyServerHost(@Nullable String host)
Sets the proxy server host.- Parameters:
 host- proxy server host- Returns:
 - This builder for chaining method calls.
 
 
- 
setProxyServerPort
@Nonnull public HttpRequestBuilder setProxyServerPort(int port)
Sets the proxy server port.- Parameters:
 port- proxy server port- Returns:
 - This builder for chaining method calls.
 
 
- 
supportsMessageBody
@Nonnull public HttpRequestBuilder supportsMessageBody(@Nullable Boolean supportsMessageBody)
- Parameters:
 supportsMessageBody- Whether this request supports a message body. When it does not, parameters are added as URL parameters and no files are included. Whennull, a default is used based on the HTTP method.- Returns:
 - This builder for chaining method calls.
 
 
- 
useBasicAuthentication
public boolean useBasicAuthentication()
- Returns:
 trueif an login and password for basic authentication is set, otherwisetrue
 
- 
useProxyServer
public boolean useProxyServer()
- Returns:
 trueif the host and port for a proxy server use is set, otherwisefalse
 
- 
useProxyServerAuthentication
public boolean useProxyServerAuthentication()
- Returns:
 trueif an login and password for proxy server authentication is set, otherwisefalse
 
- 
withDisabledRedirectHandling
@Nonnull public HttpRequestBuilder withDisabledRedirectHandling(boolean disableRedirectHandling)
Enables/Disables automatic redirect handling.- Parameters:
 disableRedirectHandling-trueorfalse- Returns:
 - This builder for chaining method calls.
 
 
 - 
 
 -