Package de.xima.fc.http
Class HttpRequestBuilder
java.lang.Object
de.xima.fc.http.HttpRequestBuilder
- Direct Known Subclasses:
HttpPostRequestBuilder
Builder for preparing and sending an HTTP request.
- Since:
- 7.0.1
- Author:
- XIMA MEDIA GmbH
-
Constructor Summary
ConstructorsConstructorDescriptionHttpRequestBuilder
(EHttpVerb method, String uri) HttpRequestBuilder
(EHttpVerb method, URI uri) HttpRequestBuilder
(String method, String uri) HttpRequestBuilder
(String method, String uri, EHttpRequestType requestType) HttpRequestBuilder
(String method, URI uri) -
Method Summary
Modifier and TypeMethodDescriptionaddBinayData
(String elementName, byte[] data, String filename, String mimeType) Deprecated.addBinayData
(String elementName, byte[] data, String filename, String mimeType, Charset charset) Deprecated.Adds a header field to the HTTP request.addParameter
(String name, String value) Deprecated.addParameter
(String name, String value, org.apache.http.entity.ContentType contentType) Deprecated.org.apache.http.client.methods.CloseableHttpResponse
build()
Deprecated.Usebuild(Charset)
.Performs the HTTP request to the server and returns the response.createBuilder
(EHttpRequestType type, boolean hasFiles) Creates an builder for the request typegetUri()
getUrl()
setBasicAuthLogin
(String login) Sets the login name for performing an HTTP basic authentication.setBasicAuthPassword
(String password) Sets the password for performing an HTTP basic authentication.setBody
(org.apache.http.HttpEntity body) Sets the body content of the HTTP request.setInputCharset
(Charset inputCharset) Sets the request character encoding.setProxyServer
(FcHttpRequestProps.ProxyProps proxyConfig) Sets the following proxy server configuration parameters if defined inside theFcHttpRequestProps.ProxyProps
object: proxy server host proxy server port login for a proxy server authentication password for a proxy server authenticationSets the login name and password of the proxy server, if one is used.setProxyServerAuthLogin
(String login) Sets the login name for the proxy server, if one is used.setProxyServerAuthPassword
(String password) Sets the password for the proxy server, if one is used.setProxyServerHost
(String host) Sets the proxy server host.setProxyServerPort
(int port) Sets the proxy server port.void
supportsMessageBody
(boolean supportsMessageBody) boolean
boolean
boolean
withAllowInvalidCertificates
(boolean allowInvalidCertificates) Sets whether to allow invalid certificates.withConnectTimeout
(Duration connectTimeout) Sets the connect timeout for the request.withDisabledRedirectHandling
(boolean disableRedirectHandling) Enables/Disables automatic redirect handling.withReadTimeout
(Duration readTimeout) Sets the read timeout for the request.
-
Constructor Details
-
HttpRequestBuilder
- 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
- Parameters:
method
- HTTP method to use.uri
- The request URL.
-
HttpRequestBuilder
- 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 String method, @Nonnull String uri, EHttpRequestType requestType) throws URISyntaxException - Parameters:
method
- HTTP method to use.uri
- The request URL, must not benull
requestType
- The request type to use- Throws:
URISyntaxException
- When the given string is not a valid URI.
-
HttpRequestBuilder
- Parameters:
method
- HTTP method to use.uri
- The request URL.
-
-
Method Details
-
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
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 IOExceptionDeprecated.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
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.
-
getUrl
- Returns:
- The request URL
-
getUri
- Returns:
- The request URI
-
setUri
- Parameters:
uri
- The request URI to set
-
formDataBuilder
- Returns:
- A builder 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.
-
multipartBuilder
- Returns:
- A builder 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.
-
customBuilder
- Returns:
- A builder for custom request body. This is a shortcut for calling
setBody(HttpEntity)
with the appropriate entity. You must callIHttpBodyBuilder.build()
to add the body to this request.
-
fileBuilder
- Returns:
- A builder for an request body based on an file. This is a shortcut for calling
setBody(HttpEntity)
with the appropriate entity. You must callIHttpBodyBuilder.build()
to add the body to this request.
-
urliBuilder
- Returns:
- A builder for an request body based on an file. This is a shortcut for calling
setUri(URI)
with the appropriate data. You must callIHttpBodyBuilder.build()
to change the URL of this request.
-
createBuilder
Creates an builder for the request type- Parameters:
type
- the typehasFiles
- flag which indicates if files should be transmitted when using the body typeEHttpRequestType.DYNAMIC
.- Returns:
- A builder based on the given parameters
-
setBasicAuthLogin
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
Sets the password for performing an HTTP basic authentication.- Parameters:
password
- Password for the basic authentication.- Returns:
- This builder for chaining method calls.
-
setBody
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:
-
setInputCharset
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.ProxyProps
object:- 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
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
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
Sets the proxy server host.- Parameters:
host
- proxy server host- Returns:
- This builder for chaining method calls.
-
setProxyServerPort
Sets the proxy server port.- Parameters:
port
- proxy server port- Returns:
- This builder for chaining method calls.
-
supportsMessageBody
- Parameters:
supportsMessageBody
- Whether this request supports a message body. When it does not, no body will be set.- Returns:
- This builder for chaining method calls.
-
useBasicAuthentication
public boolean useBasicAuthentication()- Returns:
true
if an login and password for basic authentication is set, otherwisetrue
-
useProxyServer
public boolean useProxyServer()- Returns:
true
if the host and port for a proxy server use is set, otherwisefalse
-
useProxyServerAuthentication
public boolean useProxyServerAuthentication()- Returns:
true
if an login and password for proxy server authentication is set, otherwisefalse
-
withDisabledRedirectHandling
Enables/Disables automatic redirect handling.- Parameters:
disableRedirectHandling
-true
orfalse
- Returns:
- This builder for chaining method calls.
-
withAllowInvalidCertificates
Sets whether to allow invalid certificates.- Parameters:
allowInvalidCertificates
- Whether to allow invalid certificates.- Returns:
- This builder for chaining method calls.
-
withConnectTimeout
Sets the connect timeout for the request. The connect timeout is the time to wait for a connection to be established. When not set, a default value is used.- Parameters:
connectTimeout
- The connect timeout.- Returns:
- This builder for chaining method calls.
-
withReadTimeout
Sets the read timeout for the request. The read timeout is the time to wait for data to be read from the server. When not set, a default value is used.- Parameters:
readTimeout
- The read timeout.- Returns:
- This builder for chaining method calls.
-
multipartBuilder()
orsetBody(HttpEntity)
.