Class HttpClientBuilder
- Direct Known Subclasses:
FileCachingHttpClientBuilder,HttpClientFactoryBean,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 will be unconditionally overwritten by this builder when
buildClient() is called:
HttpClientConnectionManagerwhich includes the following sub-components:- Default
ConnectionConfig HttpConnectionFactoryLayeredConnectionSocketFactoryused as theSSLSocketFactory
- Default
HttpRoutePlanner- Default
RequestConfig - Default
CredentialsProvider
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 config parameters which are not exposed by this builder, then you must use the Apache builder directly and may not use this builder.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.apache.hc.client5.http.impl.classic.HttpClientBuilderThe Apache HttpClientBuilder 4.3+ instance over which to layer this builder.private booleanWhether to instruct the server to close the connection after it has sent its response.private booleanWhether the SSL/TLS certificates used by the responder should be ignored.private DurationMax idle time allowed for an idle connection before it is evicted.private StringHost name of the HTTP proxy server through which connections will be made.private StringPassword used to connect to the HTTP proxy server.private intPort number of the HTTP proxy server through which connections will be made.private StringUsername used to connect to the HTTP proxy server.private DurationMaximum length of time to wait for a connection to be returned from the connection manager.private DurationMaximum length of time to wait for the connection to be established.private booleanFlag for disabling auth caching.private booleanFlag for disabling automatic retries.private booleanFlag for disabling connection state.private booleanFlag for disabling content compression.private booleanFlag for disabling cookie management.private booleanFlag for disabling redirect handling.private booleanFlag for evicting expired connections from the connection pool using a background thread.private booleanFlag for evicting expired connections from the connection pool using a background thread.private StringCharacter set used for HTTP entity content.private booleanWhether to follow HTTP redirects.private intMax simultaneous connections per route allowed by the pooling connection manager.private intMax total simultaneous connections allowed by the pooling connection manager.private List<org.apache.hc.core5.http.HttpRequestInterceptor>List of request interceptors to add first.private List<org.apache.hc.core5.http.HttpRequestInterceptor>List of request interceptors to add last.private List<org.apache.hc.core5.http.HttpResponseInterceptor>List of response interceptors to add first.private List<org.apache.hc.core5.http.HttpResponseInterceptor>List of response interceptors to add last.private DurationDetermines the timeout until arrival of a response from the opposite endpoint.private org.apache.hc.client5.http.HttpRequestRetryStrategyStrategy which determines whether and how a retry should be attempted.private org.apache.hc.client5.http.SchemePortResolverResolver for port based on a scheme.private intSocket buffer size in bytes.private InetAddressLocal IP address used when establishing connections.private DurationMaximum period inactivity between two consecutive data packets.private List<HttpClientContextHandler>List of static context handlers.private org.apache.hc.client5.http.socket.LayeredConnectionSocketFactoryThe TLS socket factory to use.private StringApache UserAgent.private booleanFlag for enabling use of system properties.private DurationSets period after inactivity after which persistent connections must be checked to ensure they are still valid. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.HttpClientBuilder(org.apache.hc.client5.http.impl.classic.HttpClientBuilder builder) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.hc.client5.http.classic.HttpClientConstructs anHttpClientusing the settings of this builder.protected org.apache.hc.core5.http.io.HttpConnectionFactory<org.apache.hc.client5.http.io.ManagedHttpClientConnection>Build an instance ofHttpConnectionFactory.protected org.apache.hc.client5.http.io.HttpClientConnectionManagerBuild an instance ofHttpClientConnectionManagerprotected org.apache.hc.client5.http.config.ConnectionConfigBuild the default instance ofConnectionConfig.protected org.apache.hc.client5.http.auth.CredentialsProviderBuild defaultCredentialsProvider.protected org.apache.hc.client5.http.config.RequestConfigBuild the default instance ofRequestConfigprotected org.apache.hc.client5.http.routing.HttpRoutePlannerbuildRoutePlanner(org.apache.hc.core5.http.HttpHost proxyHost) Build the instance ofHttpRoutePlanner.protected voidDecorate the Apache builder as determined by this builder's parameters.(package private) org.apache.hc.client5.http.impl.classic.HttpClientBuilderGet the ApacheHttpClientBuilderinstance over which this builder will be layered.(package private) DurationGet the max idle time allowed for an idle connection before it is evicted.Gets the hostname of the default proxy used when making connection.Gets the password used when authenticating to the proxy.intGets 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.hc.core5.http.HttpRequestInterceptor>Get the list of request interceptors to add first.List<org.apache.hc.core5.http.HttpResponseInterceptor>Get the list of response interceptors to add first.Gets the character set used with the HTTP entity (body).org.apache.hc.client5.http.HttpRequestRetryStrategyGet the strategy which determines whether and how a retry should be attempted.List<org.apache.hc.core5.http.HttpRequestInterceptor>Get the list of request interceptors to add last.List<org.apache.hc.core5.http.HttpResponseInterceptor>Get the list of response interceptors to add last.intGets the max simultaneous connections per route allowed by the pooling connection manager.intGets the max total simultaneous connections allowed by the pooling connection manager.Gets the timeout until arrival of a response from the opposite endpoint.org.apache.hc.client5.http.SchemePortResolverGet the resolver for port based on a scheme.intGets 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.hc.client5.http.socket.LayeredConnectionSocketFactoryGet the TLS socket factory to use.Gets user agent.(package private) DurationGets period after inactivity after which persistent connections must be checked to ensure they are still valid.protected voidhandleFluentProperties(org.apache.hc.client5.http.impl.classic.HttpClientBuilder builder) Handle the fluent (non-DI-friendly) builder properties.booleanGets whether to instruct the server to close the connection after it has sent its response.booleanGets whether the responder's SSL/TLS certificate should be ignored.booleanGet the flag for disabling auth caching.booleanGet the flag for disabling automatic retries.booleanGet the flag for disabling connection state.booleanGet the flag for disabling content compression.booleanGet the flag for disabling cookie management.booleanGet the flag for disabling redirect handling.booleanGet the flag for evicting expired connections from the connection pool using a background thread.booleanGet the flag for evicting idle connections from the connection pool using a background thread.booleanGets whether HTTP redirects will be followed.booleanGet the flag enabling use of system properties.voidResets all builder parameters to their defaults.voidsetConnectionCloseAfterResponse(boolean close) Sets whether to instruct the server to close the connection after it has sent its response.voidsetConnectionDisregardTLSCertificate(boolean disregard) Sets whether the responder's SSL/TLS certificate should be ignored.voidsetConnectionMaxIdleTime(Duration duration) Set the max idle time allowed for an idle connection before it is evicted.voidsetConnectionProxyHost(String host) Sets the hostname of the default proxy used when making connection.voidsetConnectionProxyPassword(String password) Sets the password used when authenticating to the proxy.voidsetConnectionProxyPort(int port) Sets the port of the default proxy used when making connection.voidsetConnectionProxyUsername(String usename) Sets the username to use when authenticating to the proxy.voidsetConnectionRequestTimeout(Duration timeout) Sets the maximum length of time to wait for a connection to be returned from the connection manager.voidsetConnectionTimeout(Duration timeout) Sets the maximum length of time to wait for the connection to be established.voidsetDisableAuthCaching(boolean flag) Set the flag for disabling auth caching.voidsetDisableAutomaticRetries(boolean flag) Set the flag for disabling automatic retries.voidsetDisableConnectionState(boolean flag) Set the flag for disabling connection state.voidsetDisableContentCompression(boolean flag) Set the flag for disabling content compression.voidsetDisableCookieManagement(boolean flag) Set the flag for disabling cookie management.voidsetDisableRedirectHandling(boolean flag) Set the flag for disabling redirect handling.voidsetEvictExpiredConnections(boolean flag) Set the flag for evicting expired connections from the connection pool using a background thread.voidsetEvictIdleConnections(boolean flag) Set the flag for evicting idle connections from the connection pool using a background thread.voidsetFirstRequestInterceptors(List<org.apache.hc.core5.http.HttpRequestInterceptor> interceptors) Set the list of request interceptors to add first.voidsetFirstResponseInterceptors(List<org.apache.hc.core5.http.HttpResponseInterceptor> interceptors) Set the list of response interceptors to add first.voidsetHttpContentCharSet(String charSet) Sets the character set used with the HTTP entity (body).voidsetHttpFollowRedirects(boolean followRedirects) Gets whether HTTP redirects will be followed.voidsetHttpRequestRetryStrategy(org.apache.hc.client5.http.HttpRequestRetryStrategy strategy) Set the strategy which determines whether and how a retry should be attempted.voidsetLastRequestInterceptors(List<org.apache.hc.core5.http.HttpRequestInterceptor> interceptors) Set the list of request interceptors to add last.voidsetLastResponseInterceptors(List<org.apache.hc.core5.http.HttpResponseInterceptor> interceptors) Set the list of response interceptors to add last.voidsetMaxConnectionsPerRoute(int max) Sets the max simultaneous connections per route allowed by the pooling connection manager.voidsetMaxConnectionsTotal(int max) Sets the max total simultaneous connections allowed by the pooling connection manager.voidsetResponseTimeout(Duration timeout) Gets the timeout until arrival of a response from the opposite endpoint.voidsetSchemePortResolver(org.apache.hc.client5.http.SchemePortResolver resolver) Set the resolver for port based on a scheme.voidsetSocketBufferSize(int size) Sets size of the socket buffer, in bytes, used for request/response buffering.voidsetSocketLocalAddress(String ipOrHost) Sets the local IP address used when making requests.voidsetSocketLocalAddress(InetAddress address) Sets the local IP address used when making requests.voidsetSocketTimeout(Duration timeout) Sets the maximum period inactivity between two consecutive data packets.voidsetStaticContextHandlers(List<HttpClientContextHandler> handlers) Set the list of staticHttpClientContextHandler.voidsetTLSSocketFactory(org.apache.hc.client5.http.socket.LayeredConnectionSocketFactory factory) Set the TLS socket factory to use.voidsetUserAgent(String what) Sets user agent.voidsetUseSystemProperties(boolean flag) Set the flag enabling use of system properties.voidsetValidateAfterInactivity(Duration duration) Sets period after inactivity after which persistent connections must be checked to ensure they are still valid.
-
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); -
responseTimeout
Determines the timeout until arrival of a response from the opposite endpoint. -
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.hc.client5.http.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 -
validateAfterInactivity
Sets period after inactivity after which persistent connections must be checked to ensure they are still valid. -
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 -
retryStrategy
@Nullable private org.apache.hc.client5.http.HttpRequestRetryStrategy retryStrategyStrategy which determines whether and how a retry should be attempted. -
schemePortResolver
@Nullable private org.apache.hc.client5.http.SchemePortResolver schemePortResolverResolver for port based on a scheme. -
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. -
evictExpiredConnections
private boolean evictExpiredConnectionsFlag for evicting expired connections from the connection pool using a background thread. -
evictIdleConnections
private boolean evictIdleConnectionsFlag for evicting expired connections from the connection pool using a background thread. -
connectionMaxIdleTime
Max idle time allowed for an idle connection before it is evicted. -
requestInterceptorsFirst
@Nonnull @Unmodifiable @NotLive private List<org.apache.hc.core5.http.HttpRequestInterceptor> requestInterceptorsFirstList of request interceptors to add first. -
requestInterceptorsLast
@Nonnull @Unmodifiable @NotLive private List<org.apache.hc.core5.http.HttpRequestInterceptor> requestInterceptorsLastList of request interceptors to add last. -
responseInterceptorsFirst
@Nonnull @Unmodifiable @NotLive private List<org.apache.hc.core5.http.HttpResponseInterceptor> responseInterceptorsFirstList of response interceptors to add first. -
responseInterceptorsLast
@Nonnull @Unmodifiable @NotLive private List<org.apache.hc.core5.http.HttpResponseInterceptor> responseInterceptorsLastList of response interceptors to add last. -
staticContextHandlers
List of static context handlers. -
apacheBuilder
@Nonnull private final org.apache.hc.client5.http.impl.classic.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.hc.client5.http.impl.classic.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
-
getResponseTimeout
Gets the timeout until arrival of a response from the opposite endpoint.- Returns:
- the response timeout
-
setResponseTimeout
Gets the timeout until arrival of a response from the opposite endpoint.- Parameters:
timeout- the response timeout
-
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.hc.client5.http.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.hc.client5.http.socket.LayeredConnectionSocketFactory).- Parameters:
disregard- whether the responder's SSL/TLS certificate should be ignored
-
getTLSSocketFactory
@Nullable public org.apache.hc.client5.http.socket.LayeredConnectionSocketFactory getTLSSocketFactory()Get the TLS socket factory to use.- Returns:
- the socket factory, or null.
-
setTLSSocketFactory
public void setTLSSocketFactory(@Nullable org.apache.hc.client5.http.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
-
getValidateAfterInactivity
Gets period after inactivity after which persistent connections must be checked to ensure they are still valid.- Returns:
- the duration value
-
setValidateAfterInactivity
Sets period after inactivity after which persistent connections must be checked to ensure they are still valid.- Parameters:
duration- the duration value
-
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.
-
getHttpRequestRetryStrategy
@Nullable public org.apache.hc.client5.http.HttpRequestRetryStrategy getHttpRequestRetryStrategy()Get the strategy which determines whether and how a retry should be attempted.- Returns:
- strategy which determines if a request should be retried
-
setHttpRequestRetryStrategy
public void setHttpRequestRetryStrategy(@Nullable org.apache.hc.client5.http.HttpRequestRetryStrategy strategy) Set the strategy which determines whether and how a retry should be attempted.- Parameters:
strategy- handler which determines if a request should be retried
-
getSchemePortResolver
@Nullable public org.apache.hc.client5.http.SchemePortResolver getSchemePortResolver()Get the resolver for port based on a scheme.- Returns:
- the resolver, or null
-
setSchemePortResolver
public void setSchemePortResolver(@Nullable org.apache.hc.client5.http.SchemePortResolver resolver) Set the resolver for port based on a scheme.- Parameters:
resolver- the resolver, or null
-
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
-
isEvictExpiredConnections
public boolean isEvictExpiredConnections()Get the flag for evicting expired connections from the connection pool using a background thread.- Returns:
- true if enabled, false if not
-
setEvictExpiredConnections
public void setEvictExpiredConnections(boolean flag) Set the flag for evicting expired connections from the connection pool using a background thread.- Parameters:
flag- true if enabled, false if not
-
isEvictIdleConnections
public boolean isEvictIdleConnections()Get the flag for evicting idle connections from the connection pool using a background thread.- Returns:
- true if enabled, false if not
-
setEvictIdleConnections
public void setEvictIdleConnections(boolean flag) Set the flag for evicting idle connections from the connection pool using a background thread.- Parameters:
flag- true if enabled, false if not
-
getConnectionMaxIdleTime
Get the max idle time allowed for an idle connection before it is evicted.- Returns:
- max idle time
-
setConnectionMaxIdleTime
Set the max idle time allowed for an idle connection before it is evicted.- Parameters:
duration- the max idle time
-
getFirstRequestInterceptors
@Nonnull @NotLive @Unmodifiable public List<org.apache.hc.core5.http.HttpRequestInterceptor> getFirstRequestInterceptors()Get the list of request interceptors to add first.- Returns:
- the list of interceptors
-
setFirstRequestInterceptors
public void setFirstRequestInterceptors(@Nullable List<org.apache.hc.core5.http.HttpRequestInterceptor> interceptors) Set the list of request interceptors to add first.- Parameters:
interceptors- the list of interceptors, may be null
-
getLastRequestInterceptors
@Nonnull @NotLive @Unmodifiable public List<org.apache.hc.core5.http.HttpRequestInterceptor> getLastRequestInterceptors()Get the list of request interceptors to add last.- Returns:
- the list of interceptors
-
setLastRequestInterceptors
public void setLastRequestInterceptors(@Nullable List<org.apache.hc.core5.http.HttpRequestInterceptor> interceptors) Set the list of request interceptors to add last.- Parameters:
interceptors- the list of interceptors, may be null
-
getFirstResponseInterceptors
@Nonnull @NotLive @Unmodifiable public List<org.apache.hc.core5.http.HttpResponseInterceptor> getFirstResponseInterceptors()Get the list of response interceptors to add first.- Returns:
- the list of interceptors
-
setFirstResponseInterceptors
public void setFirstResponseInterceptors(@Nullable List<org.apache.hc.core5.http.HttpResponseInterceptor> interceptors) Set the list of response interceptors to add first.- Parameters:
interceptors- the list of interceptors, may be null
-
getLastResponseInterceptors
@Nonnull @NotLive @Unmodifiable public List<org.apache.hc.core5.http.HttpResponseInterceptor> getLastResponseInterceptors()Get the list of response interceptors to add last.- Returns:
- the list of interceptors
-
setLastResponseInterceptors
public void setLastResponseInterceptors(@Nullable List<org.apache.hc.core5.http.HttpResponseInterceptor> interceptors) Set the list of response interceptors to add last.- Parameters:
interceptors- the list of interceptors, may be null
-
getStaticContextHandlers
Get the list of staticHttpClientContextHandler.- Returns:
- the list of handlers
-
setStaticContextHandlers
Set the list of staticHttpClientContextHandler.- Parameters:
handlers- the list of handlers, may be null
-
buildClient
Constructs anHttpClientusing 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
-
buildRoutePlanner
@Nullable protected org.apache.hc.client5.http.routing.HttpRoutePlanner buildRoutePlanner(@Nullable org.apache.hc.core5.http.HttpHost proxyHost) Build the instance ofHttpRoutePlanner. This is only necessary if we have a configured local address via (@linkgetSocketLocalAddress()).- Parameters:
proxyHost- the proxy host, or null- Returns:
- the route planner instance, or null
-
handleFluentProperties
protected void handleFluentProperties(@Nonnull org.apache.hc.client5.http.impl.classic.HttpClientBuilder builder) Handle the fluent (non-DI-friendly) builder properties.- Parameters:
builder- the Apache HttpClientBuilder
-
buildDefaultCredentialsProvider
@Nullable protected org.apache.hc.client5.http.auth.CredentialsProvider buildDefaultCredentialsProvider()Build defaultCredentialsProvider.- Returns:
- the default credentials provider, or null
-
buildDefaultRequestConfig
@Nonnull protected org.apache.hc.client5.http.config.RequestConfig buildDefaultRequestConfig()Build the default instance ofRequestConfig- Returns:
- the request config instance
-
buildConnectionManager
@Nonnull protected org.apache.hc.client5.http.io.HttpClientConnectionManager buildConnectionManager()Build an instance ofHttpClientConnectionManager- Returns:
- the connection manager instance
-
buildDefaultConnectionConfig
@Nonnull protected org.apache.hc.client5.http.config.ConnectionConfig buildDefaultConnectionConfig()Build the default instance ofConnectionConfig.- Returns:
- the default connection config instance
-
buildConnectionFactory
@Nonnull protected org.apache.hc.core5.http.io.HttpConnectionFactory<org.apache.hc.client5.http.io.ManagedHttpClientConnection> buildConnectionFactory()Build an instance ofHttpConnectionFactory.- Returns:
- the connection factory instance
-
getApacheBuilder
@Nonnull org.apache.hc.client5.http.impl.classic.HttpClientBuilder getApacheBuilder()Get the ApacheHttpClientBuilderinstance over which this builder will be layered. Subclasses may override to return a specialized subclass.- Returns:
- the Apache HttpClientBuilder instance to use
-