Package org.apache.http.impl.client
Class HttpClientBuilder
- java.lang.Object
-
- org.apache.http.impl.client.HttpClientBuilder
-
@NotThreadSafe public class HttpClientBuilder extends java.lang.Object
Builder forCloseableHttpClientinstances. When a particular component is not explicitly this class will use its default implementation. System properties will be taken into account when configuring the default implementations whenuseSystemProperties()method is called prior to callingbuild().- ssl.TrustManagerFactory.algorithm
- javax.net.ssl.trustStoreType
- javax.net.ssl.trustStore
- javax.net.ssl.trustStoreProvider
- javax.net.ssl.trustStorePassword
- ssl.KeyManagerFactory.algorithm
- javax.net.ssl.keyStoreType
- javax.net.ssl.keyStore
- javax.net.ssl.keyStoreProvider
- javax.net.ssl.keyStorePassword
- https.protocols
- https.cipherSuites
- http.proxyHost
- http.proxyPort
- http.nonProxyHosts
- http.keepAlive
- http.maxConnections
- http.agent
CloseableHttpClientinstances.- Since:
- 4.3
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedHttpClientBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddCloseable(java.io.Closeable closeable)For internal use.HttpClientBuilderaddInterceptorFirst(HttpRequestInterceptor itcp)Adds this protocol interceptor to the head of the protocol processing list.HttpClientBuilderaddInterceptorFirst(HttpResponseInterceptor itcp)Adds this protocol interceptor to the head of the protocol processing list.HttpClientBuilderaddInterceptorLast(HttpRequestInterceptor itcp)Adds this protocol interceptor to the tail of the protocol processing list.HttpClientBuilderaddInterceptorLast(HttpResponseInterceptor itcp)Adds this protocol interceptor to the tail of the protocol processing list.CloseableHttpClientbuild()static HttpClientBuildercreate()protected ClientExecChaindecorateMainExec(ClientExecChain mainExec)For internal use.protected ClientExecChaindecorateProtocolExec(ClientExecChain protocolExec)For internal use.HttpClientBuilderdisableAuthCaching()Disables authentication scheme caching.HttpClientBuilderdisableAutomaticRetries()Disables automatic request recovery and re-execution.HttpClientBuilderdisableConnectionState()Disables connection state tracking.HttpClientBuilderdisableContentCompression()Disables automatic content decompression.HttpClientBuilderdisableCookieManagement()Disables state (cookie) management.HttpClientBuilderdisableRedirectHandling()Disables automatic redirect handling.HttpClientBuildersetBackoffManager(BackoffManager backoffManager)AssignsBackoffManagerinstance.HttpClientBuildersetConnectionBackoffStrategy(ConnectionBackoffStrategy connectionBackoffStrategy)AssignsConnectionBackoffStrategyinstance.HttpClientBuildersetConnectionManager(HttpClientConnectionManager connManager)AssignsHttpClientConnectionManagerinstance.HttpClientBuildersetConnectionReuseStrategy(ConnectionReuseStrategy reuseStrategy)AssignsConnectionReuseStrategyinstance.HttpClientBuildersetDefaultAuthSchemeRegistry(Lookup<AuthSchemeProvider> authSchemeRegistry)Assigns defaultAuthSchemeregistry which will be used for request execution if not explicitly set in the client execution context.HttpClientBuildersetDefaultConnectionConfig(ConnectionConfig config)Assigns defaultConnectionConfig.HttpClientBuildersetDefaultCookieSpecRegistry(Lookup<CookieSpecProvider> cookieSpecRegistry)Assigns defaultCookieSpecregistry which will be used for request execution if not explicitly set in the client execution context.HttpClientBuildersetDefaultCookieStore(CookieStore cookieStore)Assigns defaultCookieStoreinstance which will be used for request execution if not explicitly set in the client execution context.HttpClientBuildersetDefaultCredentialsProvider(CredentialsProvider credentialsProvider)Assigns defaultCredentialsProviderinstance which will be used for request execution if not explicitly set in the client execution context.HttpClientBuildersetDefaultHeaders(java.util.Collection<? extends Header> defaultHeaders)Assigns default request header values.HttpClientBuildersetDefaultRequestConfig(RequestConfig config)Assigns defaultRequestConfiginstance which will be used for request execution if not explicitly set in the client execution context.HttpClientBuildersetDefaultSocketConfig(SocketConfig config)Assigns defaultSocketConfig.HttpClientBuildersetHostnameVerifier(X509HostnameVerifier hostnameVerifier)AssignsX509HostnameVerifierinstance.HttpClientBuildersetHttpProcessor(HttpProcessor httpprocessor)AssignsHttpProcessorinstance.HttpClientBuildersetKeepAliveStrategy(ConnectionKeepAliveStrategy keepAliveStrategy)AssignsConnectionKeepAliveStrategyinstance.HttpClientBuildersetMaxConnPerRoute(int maxConnPerRoute)Assigns maximum connection per route value.HttpClientBuildersetMaxConnTotal(int maxConnTotal)Assigns maximum total connection value.HttpClientBuildersetProxy(HttpHost proxy)Assigns default proxy value.HttpClientBuildersetProxyAuthenticationStrategy(AuthenticationStrategy proxyAuthStrategy)AssignsAuthenticationStrategyinstance for target host authentication.HttpClientBuildersetRedirectStrategy(RedirectStrategy redirectStrategy)AssignsRedirectStrategyinstance.HttpClientBuildersetRequestExecutor(HttpRequestExecutor requestExec)AssignsHttpRequestExecutorinstance.HttpClientBuildersetRetryHandler(HttpRequestRetryHandler retryHandler)AssignsHttpRequestRetryHandlerinstance.HttpClientBuildersetRoutePlanner(HttpRoutePlanner routePlanner)AssignsHttpRoutePlannerinstance.HttpClientBuildersetSchemePortResolver(SchemePortResolver schemePortResolver)AssignsSchemePortResolverinstance.HttpClientBuildersetServiceUnavailableRetryStrategy(ServiceUnavailableRetryStrategy serviceUnavailStrategy)AssignsServiceUnavailableRetryStrategyinstance.HttpClientBuildersetSslcontext(javax.net.ssl.SSLContext sslcontext)AssignsSSLContextinstance.HttpClientBuildersetSSLSocketFactory(LayeredConnectionSocketFactory sslSocketFactory)AssignsLayeredConnectionSocketFactoryinstance.HttpClientBuildersetTargetAuthenticationStrategy(AuthenticationStrategy targetAuthStrategy)AssignsAuthenticationStrategyinstance for proxy authentication.HttpClientBuildersetUserAgent(java.lang.String userAgent)Assigns User-Agent value.HttpClientBuildersetUserTokenHandler(UserTokenHandler userTokenHandler)AssignsUserTokenHandlerinstance.HttpClientBuilderuseSystemProperties()Use system properties when creating and configuring default implementations.
-
-
-
Method Detail
-
create
public static HttpClientBuilder create()
-
setRequestExecutor
public final HttpClientBuilder setRequestExecutor(HttpRequestExecutor requestExec)
AssignsHttpRequestExecutorinstance.
-
setHostnameVerifier
public final HttpClientBuilder setHostnameVerifier(X509HostnameVerifier hostnameVerifier)
AssignsX509HostnameVerifierinstance. Please note this value can be overridden by thesetConnectionManager( org.apache.http.conn.HttpClientConnectionManager)and thesetSSLSocketFactory( org.apache.http.conn.socket.LayeredConnectionSocketFactory)methods.
-
setSslcontext
public final HttpClientBuilder setSslcontext(javax.net.ssl.SSLContext sslcontext)
AssignsSSLContextinstance. Please note this value can be overridden by thesetConnectionManager( org.apache.http.conn.HttpClientConnectionManager)and thesetSSLSocketFactory( org.apache.http.conn.socket.LayeredConnectionSocketFactory)methods.
-
setSSLSocketFactory
public final HttpClientBuilder setSSLSocketFactory(LayeredConnectionSocketFactory sslSocketFactory)
AssignsLayeredConnectionSocketFactoryinstance. Please note this value can be overridden by thesetConnectionManager( org.apache.http.conn.HttpClientConnectionManager)method.
-
setMaxConnTotal
public final HttpClientBuilder setMaxConnTotal(int maxConnTotal)
Assigns maximum total connection value. Please note this value can be overridden by thesetConnectionManager( org.apache.http.conn.HttpClientConnectionManager)method.
-
setMaxConnPerRoute
public final HttpClientBuilder setMaxConnPerRoute(int maxConnPerRoute)
Assigns maximum connection per route value. Please note this value can be overridden by thesetConnectionManager( org.apache.http.conn.HttpClientConnectionManager)method.
-
setDefaultSocketConfig
public final HttpClientBuilder setDefaultSocketConfig(SocketConfig config)
Assigns defaultSocketConfig. Please note this value can be overridden by thesetConnectionManager( org.apache.http.conn.HttpClientConnectionManager)method.
-
setDefaultConnectionConfig
public final HttpClientBuilder setDefaultConnectionConfig(ConnectionConfig config)
Assigns defaultConnectionConfig. Please note this value can be overridden by thesetConnectionManager( org.apache.http.conn.HttpClientConnectionManager)method.
-
setConnectionManager
public final HttpClientBuilder setConnectionManager(HttpClientConnectionManager connManager)
AssignsHttpClientConnectionManagerinstance.
-
setConnectionReuseStrategy
public final HttpClientBuilder setConnectionReuseStrategy(ConnectionReuseStrategy reuseStrategy)
AssignsConnectionReuseStrategyinstance.
-
setKeepAliveStrategy
public final HttpClientBuilder setKeepAliveStrategy(ConnectionKeepAliveStrategy keepAliveStrategy)
AssignsConnectionKeepAliveStrategyinstance.
-
setTargetAuthenticationStrategy
public final HttpClientBuilder setTargetAuthenticationStrategy(AuthenticationStrategy targetAuthStrategy)
AssignsAuthenticationStrategyinstance for proxy authentication.
-
setProxyAuthenticationStrategy
public final HttpClientBuilder setProxyAuthenticationStrategy(AuthenticationStrategy proxyAuthStrategy)
AssignsAuthenticationStrategyinstance for target host authentication.
-
setUserTokenHandler
public final HttpClientBuilder setUserTokenHandler(UserTokenHandler userTokenHandler)
AssignsUserTokenHandlerinstance. Please note this value can be overridden by thedisableConnectionState()method.
-
disableConnectionState
public final HttpClientBuilder disableConnectionState()
Disables connection state tracking.
-
setSchemePortResolver
public final HttpClientBuilder setSchemePortResolver(SchemePortResolver schemePortResolver)
AssignsSchemePortResolverinstance.
-
setUserAgent
public final HttpClientBuilder setUserAgent(java.lang.String userAgent)
Assigns User-Agent value. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
setDefaultHeaders
public final HttpClientBuilder setDefaultHeaders(java.util.Collection<? extends Header> defaultHeaders)
Assigns default request header values. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
addInterceptorFirst
public final HttpClientBuilder addInterceptorFirst(HttpResponseInterceptor itcp)
Adds this protocol interceptor to the head of the protocol processing list. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
addInterceptorLast
public final HttpClientBuilder addInterceptorLast(HttpResponseInterceptor itcp)
Adds this protocol interceptor to the tail of the protocol processing list. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
addInterceptorFirst
public final HttpClientBuilder addInterceptorFirst(HttpRequestInterceptor itcp)
Adds this protocol interceptor to the head of the protocol processing list. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
addInterceptorLast
public final HttpClientBuilder addInterceptorLast(HttpRequestInterceptor itcp)
Adds this protocol interceptor to the tail of the protocol processing list. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
disableCookieManagement
public final HttpClientBuilder disableCookieManagement()
Disables state (cookie) management. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
disableContentCompression
public final HttpClientBuilder disableContentCompression()
Disables automatic content decompression. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
disableAuthCaching
public final HttpClientBuilder disableAuthCaching()
Disables authentication scheme caching. Please note this value can be overridden by thesetHttpProcessor( org.apache.http.protocol.HttpProcessor)method.
-
setHttpProcessor
public final HttpClientBuilder setHttpProcessor(HttpProcessor httpprocessor)
AssignsHttpProcessorinstance.
-
setRetryHandler
public final HttpClientBuilder setRetryHandler(HttpRequestRetryHandler retryHandler)
AssignsHttpRequestRetryHandlerinstance. Please note this value can be overridden by thedisableAutomaticRetries()method.
-
disableAutomaticRetries
public final HttpClientBuilder disableAutomaticRetries()
Disables automatic request recovery and re-execution.
-
setProxy
public final HttpClientBuilder setProxy(HttpHost proxy)
Assigns default proxy value. Please note this value can be overridden by thesetRoutePlanner( org.apache.http.conn.routing.HttpRoutePlanner)method.
-
setRoutePlanner
public final HttpClientBuilder setRoutePlanner(HttpRoutePlanner routePlanner)
AssignsHttpRoutePlannerinstance.
-
setRedirectStrategy
public final HttpClientBuilder setRedirectStrategy(RedirectStrategy redirectStrategy)
AssignsRedirectStrategyinstance. Please note this value can be overridden by thedisableRedirectHandling()method. `
-
disableRedirectHandling
public final HttpClientBuilder disableRedirectHandling()
Disables automatic redirect handling.
-
setConnectionBackoffStrategy
public final HttpClientBuilder setConnectionBackoffStrategy(ConnectionBackoffStrategy connectionBackoffStrategy)
AssignsConnectionBackoffStrategyinstance.
-
setBackoffManager
public final HttpClientBuilder setBackoffManager(BackoffManager backoffManager)
AssignsBackoffManagerinstance.
-
setServiceUnavailableRetryStrategy
public final HttpClientBuilder setServiceUnavailableRetryStrategy(ServiceUnavailableRetryStrategy serviceUnavailStrategy)
AssignsServiceUnavailableRetryStrategyinstance.
-
setDefaultCookieStore
public final HttpClientBuilder setDefaultCookieStore(CookieStore cookieStore)
Assigns defaultCookieStoreinstance which will be used for request execution if not explicitly set in the client execution context.
-
setDefaultCredentialsProvider
public final HttpClientBuilder setDefaultCredentialsProvider(CredentialsProvider credentialsProvider)
Assigns defaultCredentialsProviderinstance which will be used for request execution if not explicitly set in the client execution context.
-
setDefaultAuthSchemeRegistry
public final HttpClientBuilder setDefaultAuthSchemeRegistry(Lookup<AuthSchemeProvider> authSchemeRegistry)
Assigns defaultAuthSchemeregistry which will be used for request execution if not explicitly set in the client execution context.
-
setDefaultCookieSpecRegistry
public final HttpClientBuilder setDefaultCookieSpecRegistry(Lookup<CookieSpecProvider> cookieSpecRegistry)
Assigns defaultCookieSpecregistry which will be used for request execution if not explicitly set in the client execution context.
-
setDefaultRequestConfig
public final HttpClientBuilder setDefaultRequestConfig(RequestConfig config)
Assigns defaultRequestConfiginstance which will be used for request execution if not explicitly set in the client execution context.
-
useSystemProperties
public final HttpClientBuilder useSystemProperties()
Use system properties when creating and configuring default implementations.
-
decorateMainExec
protected ClientExecChain decorateMainExec(ClientExecChain mainExec)
For internal use.
-
decorateProtocolExec
protected ClientExecChain decorateProtocolExec(ClientExecChain protocolExec)
For internal use.
-
addCloseable
protected void addCloseable(java.io.Closeable closeable)
For internal use.
-
build
public CloseableHttpClient build()
-
-