Top Description Inners Fields Constructors Methods
org.apache.hc.client5.http.impl.classic

public Class HttpClientBuilder

extends Object
Class Inheritance
Imports
java.io.Closeable, java.net.ProxySelector, java.security.AccessController, .PrivilegedAction, java.util.ArrayList, .Collection, .LinkedHashMap, .LinkedList, .List, .Map, org.apache.hc.client5.http.AuthenticationStrategy, .ConnectionKeepAliveStrategy, .HttpRequestRetryStrategy, .SchemePortResolver, .UserTokenHandler, org.apache.hc.client5.http.auth.AuthSchemeFactory, .CredentialsProvider, .StandardAuthScheme, org.apache.hc.client5.http.classic.BackoffManager, .ConnectionBackoffStrategy, .ExecChainHandler, org.apache.hc.client5.http.config.RequestConfig, org.apache.hc.client5.http.cookie.BasicCookieStore, .CookieSpecFactory, .CookieStore, org.apache.hc.client5.http.entity.InputStreamFactory, org.apache.hc.client5.http.impl.ChainElement, .CookieSpecSupport, .DefaultAuthenticationStrategy, .DefaultClientConnectionReuseStrategy, .DefaultConnectionKeepAliveStrategy, .DefaultHttpRequestRetryStrategy, .DefaultRedirectStrategy, .DefaultSchemePortResolver, .DefaultUserTokenHandler, .IdleConnectionEvictor, .NoopUserTokenHandler, org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider, .BasicSchemeFactory, .BearerSchemeFactory, .DigestSchemeFactory, .SystemDefaultCredentialsProvider, org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder, org.apache.hc.client5.http.impl.routing.DefaultProxyRoutePlanner, .DefaultRoutePlanner, .SystemDefaultRoutePlanner, org.apache.hc.client5.http.io.HttpClientConnectionManager, org.apache.hc.client5.http.protocol.RedirectStrategy, .RequestAddCookies, .RequestClientConnControl, .RequestDefaultHeaders, .RequestExpectContinue, .ResponseProcessCookies, org.apache.hc.client5.http.routing.HttpRoutePlanner, org.apache.hc.core5.annotation.Internal, org.apache.hc.core5.http.ConnectionReuseStrategy, .Header, .HttpHost, .HttpRequestInterceptor, .HttpResponseInterceptor, org.apache.hc.core5.http.config.Lookup, .NamedElementChain, .Registry, .RegistryBuilder, org.apache.hc.core5.http.impl.io.HttpRequestExecutor, org.apache.hc.core5.http.protocol.DefaultHttpProcessor, .HttpProcessor, .HttpProcessorBuilder, .RequestContent, .RequestTargetHost, .RequestUserAgent, org.apache.hc.core5.pool.ConnPoolControl, org.apache.hc.core5.util.Args, .TimeValue, .Timeout, .VersionInfo

Builder for 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().

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 and Inner Type Summary

Modifier and TypeClass and Description
private static class
private static class
private static class

Field Summary

Modifier and TypeField and Description
private boolean
private Lookup<AuthSchemeFactory>
private boolean
private BackoffManager
private List<Closeable>
private ConnectionBackoffStrategy
private boolean
private HttpClientConnectionManager
private boolean
private boolean
private LinkedHashMap<String, InputStreamFactory>
private boolean
private Lookup<CookieSpecFactory>
private CookieStore
private CredentialsProvider
private Collection<? extends Header>
private RequestConfig
private boolean
private boolean
private boolean
private LinkedList<HttpClientBuilder.ExecInterceptorEntry>
private ConnectionKeepAliveStrategy
private TimeValue
private HttpHost
private AuthenticationStrategy
private ProxySelector
private boolean
private RedirectStrategy
private HttpRequestExecutor
private LinkedList<HttpClientBuilder.RequestInterceptorEntry>
private LinkedList<HttpClientBuilder.ResponseInterceptorEntry>
private HttpRequestRetryStrategy
private ConnectionReuseStrategy
private HttpRoutePlanner
private SchemePortResolver
private boolean
private AuthenticationStrategy
private String
private UserTokenHandler

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
protected void
addCloseable(final Closeable closeable)

Adds to the list of Closeable resources to be managed by the client.

public final HttpClientBuilder
addExecInterceptorAfter(final String existing, final String name, final ExecChainHandler interceptor)

Adds this execution interceptor after interceptor with the given name.

public final HttpClientBuilder
addExecInterceptorBefore(final String existing, final String name, final ExecChainHandler interceptor)

Adds this execution interceptor before an existing interceptor.

public final HttpClientBuilder
addExecInterceptorFirst(final String name, final ExecChainHandler interceptor)

Add an interceptor to the head of the processing list.

public final HttpClientBuilder
addExecInterceptorLast(final String name, final ExecChainHandler interceptor)

Add an interceptor to the tail of the processing list.

public final HttpClientBuilder
addRequestInterceptorFirst(final HttpRequestInterceptor interceptor)

Adds this protocol interceptor to the head of the protocol processing list.

public final HttpClientBuilder
addRequestInterceptorLast(final HttpRequestInterceptor interceptor)

Adds this protocol interceptor to the tail of the protocol processing list.

public final HttpClientBuilder
addResponseInterceptorFirst(final HttpResponseInterceptor interceptor)

Adds this protocol interceptor to the head of the protocol processing list.

public final HttpClientBuilder
addResponseInterceptorLast(final HttpResponseInterceptor interceptor)

Adds this protocol interceptor to the tail of the protocol processing list.

public CloseableHttpClient
public static HttpClientBuilder
protected void
customizeExecChain(final NamedElementChain<ExecChainHandler> execChainDefinition)

Request exec chain customization and extension.

public final HttpClientBuilder
disableAuthCaching()

Disables authentication scheme caching.

public final HttpClientBuilder
disableAutomaticRetries()

Disables automatic request recovery and re-execution.

public final HttpClientBuilder
disableConnectionState()

Disables connection state tracking.

public final HttpClientBuilder
disableContentCompression()

Disables automatic content decompression.

public final HttpClientBuilder
disableCookieManagement()

Disables state (cookie) management.

public final HttpClientBuilder
disableDefaultUserAgent()

Disables the default user agent set by this builder if none has been provided by the user.

public final HttpClientBuilder
disableRedirectHandling()

Disables automatic redirect handling.

public final HttpClientBuilder
evictExpiredConnections()

Makes this instance of HttpClient proactively evict expired connections from the connection pool using a background thread.

public final HttpClientBuilder
evictIdleConnections(final TimeValue
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.
maxIdleTime
)

Makes this instance of HttpClient proactively evict idle connections from the connection pool using a background thread.

public final HttpClientBuilder
replaceExecInterceptor(final String existing, final ExecChainHandler interceptor)

Replace an existing interceptor with the given name with new interceptor.

public final HttpClientBuilder
setBackoffManager(final BackoffManager backoffManager)

Assigns BackoffManager instance.

public final HttpClientBuilder
setConnectionBackoffStrategy(final ConnectionBackoffStrategy connectionBackoffStrategy)

Assigns ConnectionBackoffStrategy instance.

public final HttpClientBuilder
public final HttpClientBuilder
setConnectionManagerShared(final boolean
defines whether or not the connection manager can be shared by multiple clients.
shared
)

Defines the connection manager is to be shared by multiple client instances.

public final HttpClientBuilder
public final HttpClientBuilder
setContentDecoderRegistry(final LinkedHashMap<String, InputStreamFactory> contentDecoderMap)

Assigns a map of org.apache.hc.client5.http.entity.InputStreamFactorys to be used for automatic content decompression.

public final HttpClientBuilder
setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeFactory> authSchemeRegistry)

Assigns default org.apache.hc.client5.http.auth.AuthScheme registry which will be used for request execution if not explicitly set in the client execution context.

public final HttpClientBuilder
setDefaultCookieSpecRegistry(final Lookup<CookieSpecFactory> cookieSpecRegistry)

Assigns default org.apache.hc.client5.http.cookie.CookieSpec registry which will be used for request execution if not explicitly set in the client execution context.

public final HttpClientBuilder
setDefaultCookieStore(final CookieStore cookieStore)

Assigns default CookieStore instance which will be used for request execution if not explicitly set in the client execution context.

public final HttpClientBuilder
setDefaultCredentialsProvider(final CredentialsProvider credentialsProvider)

Assigns default CredentialsProvider instance which will be used for request execution if not explicitly set in the client execution context.

public final HttpClientBuilder
setDefaultHeaders(final Collection<? extends Header> defaultHeaders)

Assigns default request header values.

public final HttpClientBuilder
setDefaultRequestConfig(final RequestConfig config)

Assigns default RequestConfig instance which will be used for request execution if not explicitly set in the client execution context.

public final HttpClientBuilder
public final HttpClientBuilder
setProxy(final HttpHost proxy)

Assigns default proxy value.

public final HttpClientBuilder
setProxyAuthenticationStrategy(final AuthenticationStrategy proxyAuthStrategy)

Assigns AuthenticationStrategy instance for proxy authentication.

public final HttpClientBuilder

Returns:

this HttpClientBuilder instance, to allow for method chaining.
setProxySelector
(final ProxySelector
the java.net.ProxySelector to be used, or null to use the default system proxy selector.
proxySelector
)

Sets the java.net.ProxySelector that will be used to select the proxies to be used for establishing HTTP connections.

public final HttpClientBuilder
setRedirectStrategy(final RedirectStrategy redirectStrategy)

Assigns RedirectStrategy instance.

public final HttpClientBuilder
setRequestExecutor(final HttpRequestExecutor requestExec)

Assigns HttpRequestExecutor instance.

public final HttpClientBuilder
public final HttpClientBuilder
setRoutePlanner(final HttpRoutePlanner routePlanner)

Assigns HttpRoutePlanner instance.

public final HttpClientBuilder
setSchemePortResolver(final SchemePortResolver schemePortResolver)

Assigns SchemePortResolver instance.

public final HttpClientBuilder
setTargetAuthenticationStrategy(final AuthenticationStrategy targetAuthStrategy)

Assigns AuthenticationStrategy instance for target host authentication.

public final HttpClientBuilder
setUserAgent(final String userAgent)

Assigns User-Agent value.

public final HttpClientBuilder
setUserTokenHandler(final UserTokenHandler userTokenHandler)

Assigns UserTokenHandler instance.

public final HttpClientBuilder
useSystemProperties()

Use system properties when creating and configuring default implementations.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait