Class HttpClientBuilder
- Direct Known Subclasses:
FileCachingHttpClientBuilder
,InMemoryCachingHttpClientBuilder
HttpClient
objects configured with particular settings.
When using the single-arg constructor variant to wrap an existing instance of
HttpClientBuilder
, there are several caveats of which to be aware:
-
Instances of the following which are set as the default instance on the Apache builder will be unconditionally
overwritten by this builder when
buildClient()
is called:RequestConfig
ConnectionConfig
This is due to the unfortunate fact that the Apache builder does not currently provide accessor methods to obtain the default instances currently set on the builder. Therefore, if you need to set any default request or connection config parameters which are not exposed by this builder, then you must use the Apache builder directly and may not use this builder.
-
If this builder's
connectionDisregardTLSCertificate
is set totrue
, then any value previously set via the Apache builder'sHttpClientBuilder.setSSLSocketFactory(org.apache.http.conn.socket.LayeredConnectionSocketFactory)
will be unconditionally overwritten. -
If this builder is supplied with a
connectionProxyHost
,connectionProxyUsername
andconnectionProxyPassword
, then any value previously set via the Apache builder'sHttpClientBuilder.setDefaultCredentialsProvider(CredentialsProvider)
will be unconditionally overwritten. -
Per the Apache builder's Javadoc, if a non-null instance of
HttpClientConnectionManager
is set on the Apache builder viaHttpClientBuilder.setConnectionManager(org.apache.http.conn.HttpClientConnectionManager)
, this supersedes various other properties set on the Apache builder. This includes the following instances/properties on the Apache builder:SSLSocketFactory
(LayeredConnectionSocketFactory
)SSLContext
HostnameVerifier
SocketConfig
ConnectionConfig
maxConnTotal
maxConnPerRoute
Similarly, the following setters on this builder will become ineffective when a non-null connection manger is set on the Apache builder:
setTLSSocketFactory(LayeredConnectionSocketFactory)
setConnectionDisregardTLSCertificate(boolean)
setSocketBufferSize(int)
setHttpContentCharSet(String)
setMaxConnectionsTotal(int)
setMaxConnectionsPerRoute(int)
Therefore, if you need to explicitly supply a connection manager instance to the Apache builder (for example in order to be able to use
IdleConnectionSweeper
), then you must supply these properties or instances directly to the connection manager rather than to this builder or the Apache builder. -
Similar to the above issue, setting an explicit
SSLSocketFactory
on the Apache builder will supersede the following Apache builder properties:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.apache.http.impl.client.HttpClientBuilder
The Apache HttpClientBuilder 4.3+ instance over which to layer this builder.private boolean
Whether to instruct the server to close the connection after it has sent its response.private boolean
Whether the SSL/TLS certificates used by the responder should be ignored.private String
Host name of the HTTP proxy server through which connections will be made.private String
Password used to connect to the HTTP proxy server.private int
Port number of the HTTP proxy server through which connections will be made.private String
Username used to connect to the HTTP proxy server.private Duration
Maximum length of time to wait for a connection to be returned from the connection manager.private boolean
Whether to check a connection for staleness before using.private Duration
Maximum length of time to wait for the connection to be established.private boolean
Flag for disabling auth caching.private boolean
Flag for disabling automatic retries.private boolean
Flag for disabling connection state.private boolean
Flag for disabling content compression.private boolean
Flag for disabling cookie management.private boolean
Flag for disabling redirect handling.private String
Character set used for HTTP entity content.private boolean
Whether to follow HTTP redirects.private int
Max simultaneous connections per route allowed by the pooling connection manager.private int
Max total simultaneous connections allowed by the pooling connection manager.private List<org.apache.http.HttpRequestInterceptor>
List of request interceptors to add first.private List<org.apache.http.HttpRequestInterceptor>
List of request interceptors to add last.private List<org.apache.http.HttpResponseInterceptor>
List of response interceptors to add first.private List<org.apache.http.HttpResponseInterceptor>
List of response interceptors to add last.private org.apache.http.client.HttpRequestRetryHandler
Handler which determines if a request should be retried after a recoverable exception during execution.private org.apache.http.client.ServiceUnavailableRetryStrategy
Strategy which determines if a request should be retried given the response from the target server.private int
Socket buffer size in bytes.private InetAddress
Local IP address used when establishing connections.private Duration
Maximum period inactivity between two consecutive data packets.private List<HttpClientContextHandler>
List of static context handlers.private org.apache.http.conn.socket.LayeredConnectionSocketFactory
The TLS socket factory to use.private String
Apache UserAgent.private boolean
Flag for enabling use of system properties. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.HttpClientBuilder
(org.apache.http.impl.client.HttpClientBuilder builder) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.http.client.HttpClient
Constructs anHttpClient
using the settings of this builder.protected void
Decorate the Apache builder as determined by this builder's parameters.protected org.apache.http.impl.client.HttpClientBuilder
Get the ApacheHttpClientBuilder
instance over which this builder will be layered.Gets the hostname of the default proxy used when making connection.Gets the password used when authenticating to the proxy.int
Gets the port of the default proxy used when making connection.Gets the username to use when authenticating to the proxy.Gets the maximum length of time to wait for a connection to be returned from the connection manager.Gets the maximum length of time to wait for the connection to be established.List<org.apache.http.HttpRequestInterceptor>
Get the list of request interceptors to add first.List<org.apache.http.HttpResponseInterceptor>
Get the list of response interceptors to add first.Gets the character set used with the HTTP entity (body).org.apache.http.client.HttpRequestRetryHandler
Get the handler which determines if a request should be retried after a recoverable exception during execution.List<org.apache.http.HttpRequestInterceptor>
Get the list of request interceptors to add last.List<org.apache.http.HttpResponseInterceptor>
Get the list of response interceptors to add last.int
Gets the max simultaneous connections per route allowed by the pooling connection manager.int
Gets the max total simultaneous connections allowed by the pooling connection manager.org.apache.http.client.ServiceUnavailableRetryStrategy
Get the handler which determines if a request should be retried given the response from the target server.int
Gets the size of the socket buffer, in bytes, used for request/response buffering.Gets the local IP address used when making requests.Gets the maximum period inactivity between two consecutive data packets.Get the list of staticHttpClientContextHandler
.org.apache.http.conn.socket.LayeredConnectionSocketFactory
Get the TLS socket factory to use.Gets user agent.boolean
Gets whether to instruct the server to close the connection after it has sent its response.boolean
Gets whether the responder's SSL/TLS certificate should be ignored.boolean
Deprecated, for removal: This API element is subject to removal in a future version.boolean
Deprecated, for removal: This API element is subject to removal in a future version.use a custom-configured connection pool manger.boolean
Get the flag for disabling auth caching.boolean
Get the flag for disabling automatic retries.boolean
Get the flag for disabling connection state.boolean
Get the flag for disabling content compression.boolean
Get the flag for disabling cookie management.boolean
Get the flag for disabling redirect handling.boolean
Gets whether HTTP redirects will be followed.boolean
Get the flag enabling use of system properties.void
Resets all builder parameters to their defaults.void
setConnectionCloseAfterResponse
(boolean close) Sets whether to instruct the server to close the connection after it has sent its response.void
setConnectionDisregardTLSCertificate
(boolean disregard) Sets whether the responder's SSL/TLS certificate should be ignored.void
setConnectionProxyHost
(String host) Sets the hostname of the default proxy used when making connection.void
setConnectionProxyPassword
(String password) Sets the password used when authenticating to the proxy.void
setConnectionProxyPort
(int port) Sets the port of the default proxy used when making connection.void
setConnectionProxyUsername
(String usename) Sets the username to use when authenticating to the proxy.void
setConnectionRequestTimeout
(Duration timeout) Sets the maximum length of time to wait for a connection to be returned from the connection manager.void
setConnectionStalecheck
(boolean check) Deprecated, for removal: This API element is subject to removal in a future version.void
setConnectionStaleCheck
(boolean check) Deprecated, for removal: This API element is subject to removal in a future version.use a custom-configured connection pool manger.void
setConnectionTimeout
(Duration timeout) Sets the maximum length of time to wait for the connection to be established.void
setDisableAuthCaching
(boolean flag) Set the flag for disabling auth caching.void
setDisableAutomaticRetries
(boolean flag) Set the flag for disabling automatic retries.void
setDisableConnectionState
(boolean flag) Set the flag for disabling connection state.void
setDisableContentCompression
(boolean flag) Set the flag for disabling content compression.void
setDisableCookieManagement
(boolean flag) Set the flag for disabling cookie management.void
setDisableRedirectHandling
(boolean flag) Set the flag for disabling redirect handling.void
setFirstRequestInterceptors
(List<org.apache.http.HttpRequestInterceptor> interceptors) Set the list of request interceptors to add first.void
setFirstResponseInterceptors
(List<org.apache.http.HttpResponseInterceptor> interceptors) Set the list of response interceptors to add first.void
setHttpContentCharSet
(String charSet) Sets the character set used with the HTTP entity (body).void
setHttpFollowRedirects
(boolean followRedirects) Gets whether HTTP redirects will be followed.void
setHttpRequestRetryHandler
(org.apache.http.client.HttpRequestRetryHandler handler) Set the handler which determines if a request should be retried after a recoverable exception during execution.void
setLastRequestInterceptors
(List<org.apache.http.HttpRequestInterceptor> interceptors) Set the list of request interceptors to add last.void
setLastResponseInterceptors
(List<org.apache.http.HttpResponseInterceptor> interceptors) Set the list of response interceptors to add last.void
setMaxConnectionsPerRoute
(int max) Sets the max simultaneous connections per route allowed by the pooling connection manager.void
setMaxConnectionsTotal
(int max) Sets the max total simultaneous connections allowed by the pooling connection manager.void
setServiceUnavailableRetryHandler
(org.apache.http.client.ServiceUnavailableRetryStrategy strategy) Set the strategy which determines if a request should be retried given the response from the target server.void
setSocketBufferSize
(int size) Sets size of the socket buffer, in bytes, used for request/response buffering.void
setSocketLocalAddress
(String ipOrHost) Sets the local IP address used when making requests.void
setSocketLocalAddress
(InetAddress address) Sets the local IP address used when making requests.void
setSocketTimeout
(Duration timeout) Sets the maximum period inactivity between two consecutive data packets.void
setStaticContextHandlers
(List<HttpClientContextHandler> handlers) Set the list of staticHttpClientContextHandler
.void
setTLSSocketFactory
(org.apache.http.conn.socket.LayeredConnectionSocketFactory factory) Set the TLS socket factory to use.void
setUserAgent
(String what) Sets user agent.void
setUseSystemProperties
(boolean flag) Set the flag enabling use of system properties.
-
Field Details
-
socketLocalAddress
Local IP address used when establishing connections. Default value: system default local address -
socketTimeout
Maximum period inactivity between two consecutive data packets. Default value: (60 seconds) -
socketBufferSize
private int socketBufferSizeSocket buffer size in bytes. Default size is 8192 bytes. -
connectionTimeout
Maximum length of time to wait for the connection to be established. Default value: (60 seconds) -
connectionRequestTimeout
Maximum length of time to wait for a connection to be returned from the connection manager. Default value: (60 seconds); -
maxConnectionsTotal
private int maxConnectionsTotalMax total simultaneous connections allowed by the pooling connection manager. -
maxConnectionsPerRoute
private int maxConnectionsPerRouteMax simultaneous connections per route allowed by the pooling connection manager. -
connectionDisregardTLSCertificate
private boolean connectionDisregardTLSCertificateWhether the SSL/TLS certificates used by the responder should be ignored. Default value: false -
tlsSocketFactory
@Nullable private org.apache.http.conn.socket.LayeredConnectionSocketFactory tlsSocketFactoryThe TLS socket factory to use. Optional, defaults to null. -
connectionCloseAfterResponse
private boolean connectionCloseAfterResponseWhether to instruct the server to close the connection after it has sent its response. Default value: true -
connectionStaleCheck
private boolean connectionStaleCheckWhether to check a connection for staleness before using. This can be an expensive operation. Default value: false -
connectionProxyHost
Host name of the HTTP proxy server through which connections will be made. Default value: null. -
userAgent
Apache UserAgent. -
connectionProxyPort
private int connectionProxyPortPort number of the HTTP proxy server through which connections will be made. Default value: 8080. -
connectionProxyUsername
Username used to connect to the HTTP proxy server. Default value: null. -
connectionProxyPassword
Password used to connect to the HTTP proxy server. Default value: null. -
httpFollowRedirects
private boolean httpFollowRedirectsWhether to follow HTTP redirects. Default value: true -
httpContentCharSet
Character set used for HTTP entity content. Default value: UTF-8 -
retryHandler
@Nullable private org.apache.http.client.HttpRequestRetryHandler retryHandlerHandler which determines if a request should be retried after a recoverable exception during execution. -
disableAuthCaching
private boolean disableAuthCachingFlag for disabling auth caching. -
disableAutomaticRetries
private boolean disableAutomaticRetriesFlag for disabling automatic retries. -
disableConnectionState
private boolean disableConnectionStateFlag for disabling connection state. -
disableContentCompression
private boolean disableContentCompressionFlag for disabling content compression. -
disableCookieManagement
private boolean disableCookieManagementFlag for disabling cookie management. -
disableRedirectHandling
private boolean disableRedirectHandlingFlag for disabling redirect handling. -
useSystemProperties
private boolean useSystemPropertiesFlag for enabling use of system properties. -
requestInterceptorsFirst
@Nonnull @NonnullElements @Unmodifiable @NotLive private List<org.apache.http.HttpRequestInterceptor> requestInterceptorsFirstList of request interceptors to add first. -
requestInterceptorsLast
@Nonnull @NonnullElements @Unmodifiable @NotLive private List<org.apache.http.HttpRequestInterceptor> requestInterceptorsLastList of request interceptors to add last. -
responseInterceptorsFirst
@Nonnull @NonnullElements @Unmodifiable @NotLive private List<org.apache.http.HttpResponseInterceptor> responseInterceptorsFirstList of response interceptors to add first. -
responseInterceptorsLast
@Nonnull @NonnullElements @Unmodifiable @NotLive private List<org.apache.http.HttpResponseInterceptor> responseInterceptorsLastList of response interceptors to add last. -
staticContextHandlers
@Nonnull @NonnullElements @Unmodifiable @NotLive private List<HttpClientContextHandler> staticContextHandlersList of static context handlers. -
apacheBuilder
private org.apache.http.impl.client.HttpClientBuilder apacheBuilderThe Apache HttpClientBuilder 4.3+ instance over which to layer this builder.
-
-
Constructor Details
-
HttpClientBuilder
public HttpClientBuilder()Constructor. -
HttpClientBuilder
public HttpClientBuilder(@Nonnull org.apache.http.impl.client.HttpClientBuilder builder) Constructor.- Parameters:
builder
- the Apache HttpClientBuilder 4.3+ instance over which to layer this builder
-
-
Method Details
-
resetDefaults
public void resetDefaults()Resets all builder parameters to their defaults. -
getMaxConnectionsTotal
public int getMaxConnectionsTotal()Gets the max total simultaneous connections allowed by the pooling connection manager.- Returns:
- the max total connections
-
setMaxConnectionsTotal
public void setMaxConnectionsTotal(int max) Sets the max total simultaneous connections allowed by the pooling connection manager.- Parameters:
max
- the max total connection
-
getMaxConnectionsPerRoute
public int getMaxConnectionsPerRoute()Gets the max simultaneous connections per route allowed by the pooling connection manager.- Returns:
- the max connections per route
-
setMaxConnectionsPerRoute
public void setMaxConnectionsPerRoute(int max) Sets the max simultaneous connections per route allowed by the pooling connection manager.- Parameters:
max
- the max connections per route
-
getSocketLocalAddress
Gets the local IP address used when making requests.- Returns:
- local IP address used when making requests
-
setSocketLocalAddress
Sets the local IP address used when making requests.- Parameters:
address
- local IP address used when making requests
-
setSocketLocalAddress
Sets the local IP address used when making requests.- Parameters:
ipOrHost
- IP address or hostname, never null- Throws:
UnknownHostException
- thrown if the given IP or hostname can not be resolved
-
getSocketTimeout
Gets the maximum period inactivity between two consecutive data packets. A value of less than 1 ms indicates no timeout.- Returns:
- maximum period inactivity between two consecutive data packets
-
setSocketTimeout
Sets the maximum period inactivity between two consecutive data packets. A value of less than 1 ms indicates no timeout.- Parameters:
timeout
- maximum period inactivity between two consecutive data packets
-
getSocketBufferSize
public int getSocketBufferSize()Gets the size of the socket buffer, in bytes, used for request/response buffering.- Returns:
- size of the socket buffer, in bytes, used for request/response buffering
-
setSocketBufferSize
public void setSocketBufferSize(int size) Sets size of the socket buffer, in bytes, used for request/response buffering.- Parameters:
size
- size of the socket buffer, in bytes, used for request/response buffering; must be greater than 0
-
getConnectionTimeout
Gets the maximum length of time to wait for the connection to be established. A value of less than 1 ms indicates no timeout.- Returns:
- maximum length of time to wait for the connection to be established
-
setConnectionTimeout
Sets the maximum length of time to wait for the connection to be established. A value of less than 1 ms indicates no timeout.- Parameters:
timeout
- maximum length of time to wait for the connection to be established
-
getConnectionRequestTimeout
Gets the maximum length of time to wait for a connection to be returned from the connection manager. A value of less than 1 ms indicates no timeout.- Returns:
- maximum length of time to wait for the connection to be established
-
setConnectionRequestTimeout
Sets the maximum length of time to wait for a connection to be returned from the connection manager. A value of less than 1 ms indicates no timeout.- Parameters:
timeout
- maximum length of time to wait for the connection to be established
-
isConnectionDisregardTLSCertificate
public boolean isConnectionDisregardTLSCertificate()Gets whether the responder's SSL/TLS certificate should be ignored.This flag is overridden and ignored if a custom TLS socket factory is specified via
setTLSSocketFactory(org.apache.http.conn.socket.LayeredConnectionSocketFactory)
.- Returns:
- whether the responder's SSL/TLS certificate should be ignored
-
setConnectionDisregardTLSCertificate
public void setConnectionDisregardTLSCertificate(boolean disregard) Sets whether the responder's SSL/TLS certificate should be ignored.This flag is overridden and ignored if a custom TLS socket factory is specified via
setTLSSocketFactory(org.apache.http.conn.socket.LayeredConnectionSocketFactory)
.- Parameters:
disregard
- whether the responder's SSL/TLS certificate should be ignored
-
getTLSSocketFactory
@Nullable public org.apache.http.conn.socket.LayeredConnectionSocketFactory getTLSSocketFactory()Get the TLS socket factory to use.- Returns:
- the socket factory, or null.
-
setTLSSocketFactory
public void setTLSSocketFactory(@Nullable org.apache.http.conn.socket.LayeredConnectionSocketFactory factory) Set the TLS socket factory to use.- Parameters:
factory
- the new socket factory, may be null
-
isConnectionCloseAfterResponse
public boolean isConnectionCloseAfterResponse()Gets whether to instruct the server to close the connection after it has sent its response.- Returns:
- whether to instruct the server to close the connection after it has sent its response
-
setConnectionCloseAfterResponse
public void setConnectionCloseAfterResponse(boolean close) Sets whether to instruct the server to close the connection after it has sent its response.- Parameters:
close
- whether to instruct the server to close the connection after it has sent its response
-
isConnectionStalecheck
Deprecated, for removal: This API element is subject to removal in a future version.Gets whether reused connections are checked if they are closed before being used by the client.- Returns:
- whether reused connections are checked if they are closed before being used by the client
-
setConnectionStalecheck
Deprecated, for removal: This API element is subject to removal in a future version.Sets whether reused connections are checked if they are closed before being used by the client. Checking can take up to 30ms (per request). If checking is turned off an I/O error occurs if the connection is used request. This should be enabled uncles the code using the client explicitly handles the error case and retries connection as appropriate.- Parameters:
check
- whether reused connections are checked if they are closed before being used by the client
-
isConnectionStaleCheck
Deprecated, for removal: This API element is subject to removal in a future version.use a custom-configured connection pool manger. SeePoolingHttpClientConnectionManager.setValidateAfterInactivity(int)
Gets whether reused connections are checked if they are closed before being used by the client.- Returns:
- whether reused connections are checked if they are closed before being used by the client
-
setConnectionStaleCheck
Deprecated, for removal: This API element is subject to removal in a future version.use a custom-configured connection pool manger. SeePoolingHttpClientConnectionManager.setValidateAfterInactivity(int)
Sets whether reused connections are checked if they are closed before being used by the client. Checking can take up to 30ms (per request). If checking is turned off an I/O error occurs if the connection is used request. This should be enabled uncles the code using the client explicitly handles the error case and retries connection as appropriate.- Parameters:
check
- whether reused connections are checked if they are closed before being used by the client
-
getConnectionProxyHost
Gets the hostname of the default proxy used when making connection. A null indicates no default proxy.- Returns:
- hostname of the default proxy used when making connection
-
setConnectionProxyHost
Sets the hostname of the default proxy used when making connection. A null indicates no default proxy.- Parameters:
host
- hostname of the default proxy used when making connection
-
getConnectionProxyPort
public int getConnectionProxyPort()Gets the port of the default proxy used when making connection.- Returns:
- port of the default proxy used when making connection
-
setConnectionProxyPort
public void setConnectionProxyPort(int port) Sets the port of the default proxy used when making connection.- Parameters:
port
- port of the default proxy used when making connection; must be greater than 0 and less than 65536
-
getConnectionProxyUsername
Gets the username to use when authenticating to the proxy.- Returns:
- username to use when authenticating to the proxy
-
setConnectionProxyUsername
Sets the username to use when authenticating to the proxy.- Parameters:
usename
- username to use when authenticating to the proxy; may be null
-
getConnectionProxyPassword
Gets the password used when authenticating to the proxy.- Returns:
- password used when authenticating to the proxy
-
setConnectionProxyPassword
Sets the password used when authenticating to the proxy.- Parameters:
password
- password used when authenticating to the proxy; may be null
-
isHttpFollowRedirects
public boolean isHttpFollowRedirects()Gets whether HTTP redirects will be followed.- Returns:
- whether HTTP redirects will be followed
-
setHttpFollowRedirects
public void setHttpFollowRedirects(boolean followRedirects) Gets whether HTTP redirects will be followed.- Parameters:
followRedirects
- true if redirects are followed, false otherwise
-
getHttpContentCharSet
Gets the character set used with the HTTP entity (body).- Returns:
- character set used with the HTTP entity (body)
-
setHttpContentCharSet
Sets the character set used with the HTTP entity (body).- Parameters:
charSet
- character set used with the HTTP entity (body)
-
getUserAgent
Gets user agent.- Returns:
- The user agent.
-
setUserAgent
Sets user agent.- Parameters:
what
- what to set. If this is null Apache will use the default.
-
getHttpRequestRetryHandler
@Nullable public org.apache.http.client.HttpRequestRetryHandler getHttpRequestRetryHandler()Get the handler which determines if a request should be retried after a recoverable exception during execution.- Returns:
- handler which determines if a request should be retried
-
setHttpRequestRetryHandler
public void setHttpRequestRetryHandler(@Nullable org.apache.http.client.HttpRequestRetryHandler handler) Set the handler which determines if a request should be retried after a recoverable exception during execution.- Parameters:
handler
- handler which determines if a request should be retried
-
isDisableAuthCaching
public boolean isDisableAuthCaching()Get the flag for disabling auth caching.- Returns:
- true if disabled, false if not
-
setDisableAuthCaching
public void setDisableAuthCaching(boolean flag) Set the flag for disabling auth caching.- Parameters:
flag
- true if disabled, false if not
-
isDisableAutomaticRetries
public boolean isDisableAutomaticRetries()Get the flag for disabling automatic retries.- Returns:
- true if disabled, false if not
-
setDisableAutomaticRetries
public void setDisableAutomaticRetries(boolean flag) Set the flag for disabling automatic retries.- Parameters:
flag
- true if disabled, false if not
-
isDisableConnectionState
public boolean isDisableConnectionState()Get the flag for disabling connection state.- Returns:
- true if disabled, false if not
-
setDisableConnectionState
public void setDisableConnectionState(boolean flag) Set the flag for disabling connection state.- Parameters:
flag
- true if disabled, false if not
-
isDisableContentCompression
public boolean isDisableContentCompression()Get the flag for disabling content compression.- Returns:
- true if disabled, false if not
-
setDisableContentCompression
public void setDisableContentCompression(boolean flag) Set the flag for disabling content compression.- Parameters:
flag
- true if disabled, false if not
-
isDisableCookieManagement
public boolean isDisableCookieManagement()Get the flag for disabling cookie management.- Returns:
- true if disabled, false if not
-
setDisableCookieManagement
public void setDisableCookieManagement(boolean flag) Set the flag for disabling cookie management.- Parameters:
flag
- true if disabled, false if not
-
isDisableRedirectHandling
public boolean isDisableRedirectHandling()Get the flag for disabling redirect handling.- Returns:
- true if disabled, false if not
-
setDisableRedirectHandling
public void setDisableRedirectHandling(boolean flag) Set the flag for disabling redirect handling.- Parameters:
flag
- true if disabled, false if not
-
isUseSystemProperties
public boolean isUseSystemProperties()Get the flag enabling use of system properties.- Returns:
- true if enabled, false if not
-
setUseSystemProperties
public void setUseSystemProperties(boolean flag) Set the flag enabling use of system properties.- Parameters:
flag
- true if enabled, false if not
-
getFirstRequestInterceptors
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<org.apache.http.HttpRequestInterceptor> getFirstRequestInterceptors()Get the list of request interceptors to add first.- Returns:
- the list of interceptors
-
setFirstRequestInterceptors
public void setFirstRequestInterceptors(@Nullable @NonnullElements List<org.apache.http.HttpRequestInterceptor> interceptors) Set the list of request interceptors to add first.- Parameters:
interceptors
- the list of interceptors, may be null
-
getLastRequestInterceptors
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<org.apache.http.HttpRequestInterceptor> getLastRequestInterceptors()Get the list of request interceptors to add last.- Returns:
- the list of interceptors
-
setLastRequestInterceptors
public void setLastRequestInterceptors(@Nullable @NonnullElements List<org.apache.http.HttpRequestInterceptor> interceptors) Set the list of request interceptors to add last.- Parameters:
interceptors
- the list of interceptors, may be null
-
getFirstResponseInterceptors
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<org.apache.http.HttpResponseInterceptor> getFirstResponseInterceptors()Get the list of response interceptors to add first.- Returns:
- the list of interceptors
-
setFirstResponseInterceptors
public void setFirstResponseInterceptors(@Nullable @NonnullElements List<org.apache.http.HttpResponseInterceptor> interceptors) Set the list of response interceptors to add first.- Parameters:
interceptors
- the list of interceptors, may be null
-
getLastResponseInterceptors
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<org.apache.http.HttpResponseInterceptor> getLastResponseInterceptors()Get the list of response interceptors to add last.- Returns:
- the list of interceptors
-
setLastResponseInterceptors
public void setLastResponseInterceptors(@Nullable @NonnullElements List<org.apache.http.HttpResponseInterceptor> interceptors) Set the list of response interceptors to add last.- Parameters:
interceptors
- the list of interceptors, may be null
-
getStaticContextHandlers
@Nonnull @NonnullElements @NotLive @Unmodifiable public List<HttpClientContextHandler> getStaticContextHandlers()Get the list of staticHttpClientContextHandler
.- Returns:
- the list of handlers
-
setStaticContextHandlers
public void setStaticContextHandlers(@Nullable @NonnullElements List<HttpClientContextHandler> handlers) Set the list of staticHttpClientContextHandler
.- Parameters:
handlers
- the list of handlers, may be null
-
buildClient
Constructs anHttpClient
using the settings of this builder.- Returns:
- the constructed client
- Throws:
Exception
- if there is any problem building the new client instance
-
decorateApacheBuilder
Decorate the Apache builder as determined by this builder's parameters. Subclasses will likely add additional decoration.- Throws:
Exception
- if there is a problem decorating the Apache builder
-
getApacheBuilder
protected org.apache.http.impl.client.HttpClientBuilder getApacheBuilder()Get the ApacheHttpClientBuilder
instance over which this builder will be layered. Subclasses may override to return a specialized subclass.- Returns:
- the Apache HttpClientBuilder instance to use
-
isConnectionStaleCheck()