Class HttpClientBuilder
- Direct Known Subclasses:
CachingHttpClientBuilder
CloseableHttpClient
instances.
When a particular component is not explicitly set this class will
use its default implementation. System properties will be taken
into account when configuring the default implementations when
useSystemProperties()
method is called prior to calling
build()
.
- http.proxyHost
- http.proxyPort
- https.proxyHost
- https.proxyPort
- http.nonProxyHosts
- https.proxyUser
- http.proxyUser
- https.proxyPassword
- http.proxyPassword
- http.keepAlive
- http.agent
Please note that some settings used by this class can be mutually
exclusive and may not apply when building CloseableHttpClient
instances.
- Since:
- 4.3
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
private static class
private static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private org.apache.hc.core5.http.config.Lookup
<AuthSchemeFactory> private boolean
private BackoffManager
private ConnectionBackoffStrategy
private boolean
private HttpClientConnectionManager
private boolean
private boolean
private LinkedHashMap
<String, InputStreamFactory> private boolean
private org.apache.hc.core5.http.config.Lookup
<CookieSpecFactory> private CookieStore
private CredentialsProvider
private Collection
<? extends org.apache.hc.core5.http.Header> private RequestConfig
private boolean
private boolean
private boolean
private ConnectionKeepAliveStrategy
private org.apache.hc.core5.util.TimeValue
private org.apache.hc.core5.http.HttpHost
private AuthenticationStrategy
private ProxySelector
private boolean
private RedirectStrategy
private org.apache.hc.core5.http.impl.io.HttpRequestExecutor
private HttpRequestRetryStrategy
private org.apache.hc.core5.http.ConnectionReuseStrategy
private HttpRoutePlanner
private SchemePortResolver
private boolean
private AuthenticationStrategy
private String
private UserTokenHandler
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addCloseable
(Closeable closeable) Adds to the list ofCloseable
resources to be managed by the client.final HttpClientBuilder
addExecInterceptorAfter
(String existing, String name, ExecChainHandler interceptor) Adds this execution interceptor after interceptor with the given name.final HttpClientBuilder
addExecInterceptorBefore
(String existing, String name, ExecChainHandler interceptor) Adds this execution interceptor before an existing interceptor.final HttpClientBuilder
addExecInterceptorFirst
(String name, ExecChainHandler interceptor) Add an interceptor to the head of the processing list.final HttpClientBuilder
addExecInterceptorLast
(String name, ExecChainHandler interceptor) Add an interceptor to the tail of the processing list.final HttpClientBuilder
addRequestInterceptorFirst
(org.apache.hc.core5.http.HttpRequestInterceptor interceptor) Adds this protocol interceptor to the head of the protocol processing list.final HttpClientBuilder
addRequestInterceptorLast
(org.apache.hc.core5.http.HttpRequestInterceptor interceptor) Adds this protocol interceptor to the tail of the protocol processing list.final HttpClientBuilder
addResponseInterceptorFirst
(org.apache.hc.core5.http.HttpResponseInterceptor interceptor) Adds this protocol interceptor to the head of the protocol processing list.final HttpClientBuilder
addResponseInterceptorLast
(org.apache.hc.core5.http.HttpResponseInterceptor interceptor) Adds this protocol interceptor to the tail of the protocol processing list.build()
static HttpClientBuilder
create()
protected void
customizeExecChain
(org.apache.hc.core5.http.config.NamedElementChain<ExecChainHandler> execChainDefinition) Request exec chain customization and extension.final HttpClientBuilder
Disables authentication scheme caching.final HttpClientBuilder
Disables automatic request recovery and re-execution.final HttpClientBuilder
Disables connection state tracking.final HttpClientBuilder
Disables automatic content decompression.final HttpClientBuilder
Disables state (cookie) management.final HttpClientBuilder
Disables the default user agent set by this builder if none has been provided by the user.final HttpClientBuilder
Disables automatic redirect handling.final HttpClientBuilder
Makes this instance of HttpClient proactively evict expired connections from the connection pool using a background thread.final HttpClientBuilder
evictIdleConnections
(org.apache.hc.core5.util.TimeValue maxIdleTime) Makes this instance of HttpClient proactively evict idle connections from the connection pool using a background thread.final HttpClientBuilder
replaceExecInterceptor
(String existing, ExecChainHandler interceptor) Replace an existing interceptor with the given name with new interceptor.final HttpClientBuilder
setBackoffManager
(BackoffManager backoffManager) AssignsBackoffManager
instance.final HttpClientBuilder
setConnectionBackoffStrategy
(ConnectionBackoffStrategy connectionBackoffStrategy) AssignsConnectionBackoffStrategy
instance.final HttpClientBuilder
setConnectionManager
(HttpClientConnectionManager connManager) AssignsHttpClientConnectionManager
instance.final HttpClientBuilder
setConnectionManagerShared
(boolean shared) Defines the connection manager is to be shared by multiple client instances.final HttpClientBuilder
setConnectionReuseStrategy
(org.apache.hc.core5.http.ConnectionReuseStrategy reuseStrategy) AssignsConnectionReuseStrategy
instance.final HttpClientBuilder
setContentDecoderRegistry
(LinkedHashMap<String, InputStreamFactory> contentDecoderMap) Assigns a map ofInputStreamFactory
s to be used for automatic content decompression.final HttpClientBuilder
setDefaultAuthSchemeRegistry
(org.apache.hc.core5.http.config.Lookup<AuthSchemeFactory> authSchemeRegistry) Assigns defaultAuthScheme
registry which will be used for request execution if not explicitly set in the client execution context.final HttpClientBuilder
setDefaultCookieSpecRegistry
(org.apache.hc.core5.http.config.Lookup<CookieSpecFactory> cookieSpecRegistry) Assigns defaultCookieSpec
registry which will be used for request execution if not explicitly set in the client execution context.final HttpClientBuilder
setDefaultCookieStore
(CookieStore cookieStore) Assigns defaultCookieStore
instance which will be used for request execution if not explicitly set in the client execution context.final HttpClientBuilder
setDefaultCredentialsProvider
(CredentialsProvider credentialsProvider) Assigns defaultCredentialsProvider
instance which will be used for request execution if not explicitly set in the client execution context.final HttpClientBuilder
setDefaultHeaders
(Collection<? extends org.apache.hc.core5.http.Header> defaultHeaders) Assigns default request header values.final HttpClientBuilder
setDefaultRequestConfig
(RequestConfig config) Assigns defaultRequestConfig
instance which will be used for request execution if not explicitly set in the client execution context.final HttpClientBuilder
setKeepAliveStrategy
(ConnectionKeepAliveStrategy keepAliveStrategy) AssignsConnectionKeepAliveStrategy
instance.final HttpClientBuilder
setProxy
(org.apache.hc.core5.http.HttpHost proxy) Assigns default proxy value.final HttpClientBuilder
setProxyAuthenticationStrategy
(AuthenticationStrategy proxyAuthStrategy) AssignsAuthenticationStrategy
instance for proxy authentication.final HttpClientBuilder
setProxySelector
(ProxySelector proxySelector) Sets theProxySelector
that will be used to select the proxies to be used for establishing HTTP connections.final HttpClientBuilder
setRedirectStrategy
(RedirectStrategy redirectStrategy) AssignsRedirectStrategy
instance.final HttpClientBuilder
setRequestExecutor
(org.apache.hc.core5.http.impl.io.HttpRequestExecutor requestExec) AssignsHttpRequestExecutor
instance.final HttpClientBuilder
setRetryStrategy
(HttpRequestRetryStrategy retryStrategy) AssignsHttpRequestRetryStrategy
instance.final HttpClientBuilder
setRoutePlanner
(HttpRoutePlanner routePlanner) AssignsHttpRoutePlanner
instance.final HttpClientBuilder
setSchemePortResolver
(SchemePortResolver schemePortResolver) AssignsSchemePortResolver
instance.final HttpClientBuilder
setTargetAuthenticationStrategy
(AuthenticationStrategy targetAuthStrategy) AssignsAuthenticationStrategy
instance for target host authentication.final HttpClientBuilder
setUserAgent
(String userAgent) AssignsUser-Agent
value.final HttpClientBuilder
setUserTokenHandler
(UserTokenHandler userTokenHandler) AssignsUserTokenHandler
instance.final HttpClientBuilder
Use system properties when creating and configuring default implementations.
-
Field Details
-
requestExec
private org.apache.hc.core5.http.impl.io.HttpRequestExecutor requestExec -
connManager
-
schemePortResolver
-
reuseStrategy
private org.apache.hc.core5.http.ConnectionReuseStrategy reuseStrategy -
keepAliveStrategy
-
targetAuthStrategy
-
proxyAuthStrategy
-
userTokenHandler
-
requestInterceptors
-
responseInterceptors
-
execInterceptors
-
retryStrategy
-
routePlanner
-
redirectStrategy
-
connectionBackoffStrategy
-
backoffManager
-
authSchemeRegistry
-
cookieSpecRegistry
-
contentDecoderMap
-
cookieStore
-
credentialsProvider
-
userAgent
-
proxy
private org.apache.hc.core5.http.HttpHost proxy -
defaultHeaders
-
defaultRequestConfig
-
evictExpiredConnections
private boolean evictExpiredConnections -
evictIdleConnections
private boolean evictIdleConnections -
maxIdleTime
private org.apache.hc.core5.util.TimeValue maxIdleTime -
systemProperties
private boolean systemProperties -
redirectHandlingDisabled
private boolean redirectHandlingDisabled -
automaticRetriesDisabled
private boolean automaticRetriesDisabled -
contentCompressionDisabled
private boolean contentCompressionDisabled -
cookieManagementDisabled
private boolean cookieManagementDisabled -
authCachingDisabled
private boolean authCachingDisabled -
connectionStateDisabled
private boolean connectionStateDisabled -
defaultUserAgentDisabled
private boolean defaultUserAgentDisabled -
proxySelector
-
closeables
-
-
Constructor Details
-
HttpClientBuilder
protected HttpClientBuilder()
-
-
Method Details
-
create
-
setRequestExecutor
public final HttpClientBuilder setRequestExecutor(org.apache.hc.core5.http.impl.io.HttpRequestExecutor requestExec) AssignsHttpRequestExecutor
instance. -
setConnectionManager
AssignsHttpClientConnectionManager
instance. -
setConnectionReuseStrategy
public final HttpClientBuilder setConnectionReuseStrategy(org.apache.hc.core5.http.ConnectionReuseStrategy reuseStrategy) AssignsConnectionReuseStrategy
instance. -
setKeepAliveStrategy
AssignsConnectionKeepAliveStrategy
instance. -
setTargetAuthenticationStrategy
public final HttpClientBuilder setTargetAuthenticationStrategy(AuthenticationStrategy targetAuthStrategy) AssignsAuthenticationStrategy
instance for target host authentication. -
setProxyAuthenticationStrategy
public final HttpClientBuilder setProxyAuthenticationStrategy(AuthenticationStrategy proxyAuthStrategy) AssignsAuthenticationStrategy
instance for proxy authentication. -
setUserTokenHandler
AssignsUserTokenHandler
instance.Please note this value can be overridden by the
disableConnectionState()
method. -
disableConnectionState
Disables connection state tracking. -
setSchemePortResolver
AssignsSchemePortResolver
instance. -
setUserAgent
AssignsUser-Agent
value. -
setDefaultHeaders
public final HttpClientBuilder setDefaultHeaders(Collection<? extends org.apache.hc.core5.http.Header> defaultHeaders) Assigns default request header values. -
addResponseInterceptorFirst
public final HttpClientBuilder addResponseInterceptorFirst(org.apache.hc.core5.http.HttpResponseInterceptor interceptor) Adds this protocol interceptor to the head of the protocol processing list. -
addResponseInterceptorLast
public final HttpClientBuilder addResponseInterceptorLast(org.apache.hc.core5.http.HttpResponseInterceptor interceptor) Adds this protocol interceptor to the tail of the protocol processing list. -
addRequestInterceptorFirst
public final HttpClientBuilder addRequestInterceptorFirst(org.apache.hc.core5.http.HttpRequestInterceptor interceptor) Adds this protocol interceptor to the head of the protocol processing list. -
addRequestInterceptorLast
public final HttpClientBuilder addRequestInterceptorLast(org.apache.hc.core5.http.HttpRequestInterceptor interceptor) Adds this protocol interceptor to the tail of the protocol processing list. -
addExecInterceptorBefore
public final HttpClientBuilder addExecInterceptorBefore(String existing, String name, ExecChainHandler interceptor) Adds this execution interceptor before an existing interceptor. -
addExecInterceptorAfter
public final HttpClientBuilder addExecInterceptorAfter(String existing, String name, ExecChainHandler interceptor) Adds this execution interceptor after interceptor with the given name. -
replaceExecInterceptor
public final HttpClientBuilder replaceExecInterceptor(String existing, ExecChainHandler interceptor) Replace an existing interceptor with the given name with new interceptor. -
addExecInterceptorFirst
Add an interceptor to the head of the processing list. -
addExecInterceptorLast
Add an interceptor to the tail of the processing list. -
disableCookieManagement
Disables state (cookie) management. -
disableContentCompression
Disables automatic content decompression. -
disableAuthCaching
Disables authentication scheme caching. -
setRetryStrategy
AssignsHttpRequestRetryStrategy
instance.Please note this value can be overridden by the
disableAutomaticRetries()
method. -
disableAutomaticRetries
Disables automatic request recovery and re-execution. -
setProxy
Assigns default proxy value.Please note this value can be overridden by the
setRoutePlanner(org.apache.hc.client5.http.routing.HttpRoutePlanner)
method. -
setRoutePlanner
AssignsHttpRoutePlanner
instance. -
setRedirectStrategy
AssignsRedirectStrategy
instance.Please note this value can be overridden by the
`disableRedirectHandling()
method. -
disableRedirectHandling
Disables automatic redirect handling. -
setConnectionBackoffStrategy
public final HttpClientBuilder setConnectionBackoffStrategy(ConnectionBackoffStrategy connectionBackoffStrategy) AssignsConnectionBackoffStrategy
instance. -
setBackoffManager
AssignsBackoffManager
instance. -
setDefaultCookieStore
Assigns defaultCookieStore
instance which will be used for request execution if not explicitly set in the client execution context. -
setDefaultCredentialsProvider
public final HttpClientBuilder setDefaultCredentialsProvider(CredentialsProvider credentialsProvider) Assigns defaultCredentialsProvider
instance which will be used for request execution if not explicitly set in the client execution context. -
setDefaultAuthSchemeRegistry
public final HttpClientBuilder setDefaultAuthSchemeRegistry(org.apache.hc.core5.http.config.Lookup<AuthSchemeFactory> authSchemeRegistry) Assigns defaultAuthScheme
registry which will be used for request execution if not explicitly set in the client execution context. -
setDefaultCookieSpecRegistry
public final HttpClientBuilder setDefaultCookieSpecRegistry(org.apache.hc.core5.http.config.Lookup<CookieSpecFactory> cookieSpecRegistry) Assigns defaultCookieSpec
registry which will be used for request execution if not explicitly set in the client execution context.- See Also:
-
setContentDecoderRegistry
public final HttpClientBuilder setContentDecoderRegistry(LinkedHashMap<String, InputStreamFactory> contentDecoderMap) Assigns a map ofInputStreamFactory
s to be used for automatic content decompression. -
setDefaultRequestConfig
Assigns defaultRequestConfig
instance which will be used for request execution if not explicitly set in the client execution context. -
useSystemProperties
Use system properties when creating and configuring default implementations. -
evictExpiredConnections
Makes this instance of HttpClient proactively evict expired connections from the connection pool using a background thread.One MUST explicitly close HttpClient with
Closeable.close()
in order to stop and release the background thread.Please note this method has no effect if the instance of HttpClient is configured to use a shared connection manager.
- Since:
- 4.4
- See Also:
-
evictIdleConnections
Makes this instance of HttpClient proactively evict idle connections from the connection pool using a background thread.One MUST explicitly close HttpClient with
Closeable.close()
in order to stop and release the background thread.Please note this method has no effect if the instance of HttpClient is configured to use a shared connection manager.
- Parameters:
maxIdleTime
- maximum time persistent connections can stay idle while kept alive in the connection pool. Connections whose inactivity period exceeds this value will get closed and evicted from the pool.- Since:
- 4.4
- See Also:
-
disableDefaultUserAgent
Disables the default user agent set by this builder if none has been provided by the user.- Since:
- 4.5.7
-
setProxySelector
Sets theProxySelector
that will be used to select the proxies to be used for establishing HTTP connections. If a non-null proxy selector is set, it will take precedence over the proxy settings configured in the client.- Parameters:
proxySelector
- theProxySelector
to be used, or null to use the default system proxy selector.- Returns:
- this
HttpClientBuilder
instance, to allow for method chaining.
-
customizeExecChain
@Internal protected void customizeExecChain(org.apache.hc.core5.http.config.NamedElementChain<ExecChainHandler> execChainDefinition) Request exec chain customization and extension.For internal use.
-
addCloseable
Adds to the list ofCloseable
resources to be managed by the client.For internal use.
-
build
-