Class RequestConfig.Builder
- java.lang.Object
-
- org.apache.hc.client5.http.config.RequestConfig.Builder
-
- Enclosing class:
- RequestConfig
public static class RequestConfig.Builder extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
authenticationEnabled
private boolean
circularRedirectsAllowed
private org.apache.hc.core5.util.TimeValue
connectionKeepAlive
private org.apache.hc.core5.util.Timeout
connectionRequestTimeout
private org.apache.hc.core5.util.Timeout
connectTimeout
private boolean
contentCompressionEnabled
private java.lang.String
cookieSpec
private boolean
expectContinueEnabled
private boolean
hardCancellationEnabled
private int
maxRedirects
private org.apache.hc.core5.http.HttpHost
proxy
private java.util.Collection<java.lang.String>
proxyPreferredAuthSchemes
private boolean
redirectsEnabled
private org.apache.hc.core5.util.Timeout
responseTimeout
private java.util.Collection<java.lang.String>
targetPreferredAuthSchemes
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description RequestConfig
build()
RequestConfig.Builder
setAuthenticationEnabled(boolean authenticationEnabled)
Determines whether authentication should be handled automatically.RequestConfig.Builder
setCircularRedirectsAllowed(boolean circularRedirectsAllowed)
Determines whether circular redirects (redirects to the same location) should be allowed.RequestConfig.Builder
setConnectionKeepAlive(org.apache.hc.core5.util.TimeValue connectionKeepAlive)
Determines the default of value of connection keep-alive time period when not explicitly communicated by the origin server with aKeep-Alive
response header.RequestConfig.Builder
setConnectionRequestTimeout(long connectionRequestTimeout, java.util.concurrent.TimeUnit timeUnit)
RequestConfig.Builder
setConnectionRequestTimeout(org.apache.hc.core5.util.Timeout connectionRequestTimeout)
Returns the connection lease request timeout used when requesting a connection from the connection manager.RequestConfig.Builder
setConnectTimeout(long connectTimeout, java.util.concurrent.TimeUnit timeUnit)
Deprecated.RequestConfig.Builder
setConnectTimeout(org.apache.hc.core5.util.Timeout connectTimeout)
Deprecated.RequestConfig.Builder
setContentCompressionEnabled(boolean contentCompressionEnabled)
Determines whether the target server is requested to compress content.RequestConfig.Builder
setCookieSpec(java.lang.String cookieSpec)
Determines the name of the cookie specification to be used for HTTP state management.RequestConfig.Builder
setDefaultKeepAlive(long defaultKeepAlive, java.util.concurrent.TimeUnit timeUnit)
RequestConfig.Builder
setExpectContinueEnabled(boolean expectContinueEnabled)
Determines whether the 'Expect: 100-Continue' handshake is enabled for entity enclosing methods.RequestConfig.Builder
setHardCancellationEnabled(boolean hardCancellationEnabled)
Determines whether request cancellation, such as throughFuture#cancel(boolean)
, should kill the underlying connection.RequestConfig.Builder
setMaxRedirects(int maxRedirects)
Returns the maximum number of redirects to be followed.RequestConfig.Builder
setProxy(org.apache.hc.core5.http.HttpHost proxy)
Deprecated.UseDefaultProxyRoutePlanner
or a customHttpRoutePlanner
.RequestConfig.Builder
setProxyPreferredAuthSchemes(java.util.Collection<java.lang.String> proxyPreferredAuthSchemes)
Determines the order of preference for supported authentication schemes by their names when authenticating with the proxy host.RequestConfig.Builder
setRedirectsEnabled(boolean redirectsEnabled)
Determines whether redirects should be handled automatically.RequestConfig.Builder
setResponseTimeout(long responseTimeout, java.util.concurrent.TimeUnit timeUnit)
RequestConfig.Builder
setResponseTimeout(org.apache.hc.core5.util.Timeout responseTimeout)
Determines the timeout until arrival of a response from the opposite endpoint.RequestConfig.Builder
setTargetPreferredAuthSchemes(java.util.Collection<java.lang.String> targetPreferredAuthSchemes)
Determines the order of preference for supported authentication schemes by their names when authenticating with the target host.
-
-
-
Field Detail
-
expectContinueEnabled
private boolean expectContinueEnabled
-
proxy
private org.apache.hc.core5.http.HttpHost proxy
-
cookieSpec
private java.lang.String cookieSpec
-
redirectsEnabled
private boolean redirectsEnabled
-
circularRedirectsAllowed
private boolean circularRedirectsAllowed
-
maxRedirects
private int maxRedirects
-
authenticationEnabled
private boolean authenticationEnabled
-
targetPreferredAuthSchemes
private java.util.Collection<java.lang.String> targetPreferredAuthSchemes
-
proxyPreferredAuthSchemes
private java.util.Collection<java.lang.String> proxyPreferredAuthSchemes
-
connectionRequestTimeout
private org.apache.hc.core5.util.Timeout connectionRequestTimeout
-
connectTimeout
private org.apache.hc.core5.util.Timeout connectTimeout
-
responseTimeout
private org.apache.hc.core5.util.Timeout responseTimeout
-
connectionKeepAlive
private org.apache.hc.core5.util.TimeValue connectionKeepAlive
-
contentCompressionEnabled
private boolean contentCompressionEnabled
-
hardCancellationEnabled
private boolean hardCancellationEnabled
-
-
Method Detail
-
setExpectContinueEnabled
public RequestConfig.Builder setExpectContinueEnabled(boolean expectContinueEnabled)
Determines whether the 'Expect: 100-Continue' handshake is enabled for entity enclosing methods. The purpose of the 'Expect: 100-Continue' handshake is to allow a client that is sending a request message with a request body to determine if the origin server is willing to accept the request (based on the request headers) before the client sends the request body.The use of the 'Expect: 100-continue' handshake can result in a noticeable performance improvement for entity enclosing requests (such as POST and PUT) that require the target server's authentication.
'Expect: 100-continue' handshake should be used with caution, as it may cause problems with HTTP servers and proxies that do not support HTTP/1.1 protocol.
Default:
false
-
setProxy
@Deprecated public RequestConfig.Builder setProxy(org.apache.hc.core5.http.HttpHost proxy)
Deprecated.UseDefaultProxyRoutePlanner
or a customHttpRoutePlanner
.Returns HTTP proxy to be used for request execution.Default:
null
-
setCookieSpec
public RequestConfig.Builder setCookieSpec(java.lang.String cookieSpec)
Determines the name of the cookie specification to be used for HTTP state management.Default:
null
-
setRedirectsEnabled
public RequestConfig.Builder setRedirectsEnabled(boolean redirectsEnabled)
Determines whether redirects should be handled automatically.Default:
true
-
setCircularRedirectsAllowed
public RequestConfig.Builder setCircularRedirectsAllowed(boolean circularRedirectsAllowed)
Determines whether circular redirects (redirects to the same location) should be allowed. The HTTP spec is not sufficiently clear whether circular redirects are permitted, therefore optionally they can be enabledDefault:
false
-
setMaxRedirects
public RequestConfig.Builder setMaxRedirects(int maxRedirects)
Returns the maximum number of redirects to be followed. The limit on number of redirects is intended to prevent infinite loops.Default:
50
-
setAuthenticationEnabled
public RequestConfig.Builder setAuthenticationEnabled(boolean authenticationEnabled)
Determines whether authentication should be handled automatically.Default:
true
-
setTargetPreferredAuthSchemes
public RequestConfig.Builder setTargetPreferredAuthSchemes(java.util.Collection<java.lang.String> targetPreferredAuthSchemes)
Determines the order of preference for supported authentication schemes by their names when authenticating with the target host.Default:
null
-
setProxyPreferredAuthSchemes
public RequestConfig.Builder setProxyPreferredAuthSchemes(java.util.Collection<java.lang.String> proxyPreferredAuthSchemes)
Determines the order of preference for supported authentication schemes by their names when authenticating with the proxy host.Default:
null
-
setConnectionRequestTimeout
public RequestConfig.Builder setConnectionRequestTimeout(org.apache.hc.core5.util.Timeout connectionRequestTimeout)
Returns the connection lease request timeout used when requesting a connection from the connection manager.Default: 3 minutes.
-
setConnectionRequestTimeout
public RequestConfig.Builder setConnectionRequestTimeout(long connectionRequestTimeout, java.util.concurrent.TimeUnit timeUnit)
- See Also:
setConnectionRequestTimeout(Timeout)
-
setConnectTimeout
@Deprecated public RequestConfig.Builder setConnectTimeout(org.apache.hc.core5.util.Timeout connectTimeout)
Deprecated.Determines the timeout until a new connection is fully established. This may also include transport security negotiation exchanges such asSSL
orTLS
protocol negotiation).A timeout value of zero is interpreted as an infinite timeout.
Default: 3 minutes
-
setConnectTimeout
@Deprecated public RequestConfig.Builder setConnectTimeout(long connectTimeout, java.util.concurrent.TimeUnit timeUnit)
Deprecated.- See Also:
setConnectTimeout(Timeout)
-
setResponseTimeout
public RequestConfig.Builder setResponseTimeout(org.apache.hc.core5.util.Timeout responseTimeout)
Determines the timeout until arrival of a response from the opposite endpoint.A timeout value of zero is interpreted as an infinite timeout.
Please note that response timeout may be unsupported by HTTP transports with message multiplexing.
Default:
null
- Since:
- 5.0
-
setResponseTimeout
public RequestConfig.Builder setResponseTimeout(long responseTimeout, java.util.concurrent.TimeUnit timeUnit)
- See Also:
setResponseTimeout(Timeout)
-
setConnectionKeepAlive
public RequestConfig.Builder setConnectionKeepAlive(org.apache.hc.core5.util.TimeValue connectionKeepAlive)
Determines the default of value of connection keep-alive time period when not explicitly communicated by the origin server with aKeep-Alive
response header.A negative value is interpreted as an infinite keep-alive period.
Default: 3 minutes
- Since:
- 5.0
-
setDefaultKeepAlive
public RequestConfig.Builder setDefaultKeepAlive(long defaultKeepAlive, java.util.concurrent.TimeUnit timeUnit)
- See Also:
setConnectionKeepAlive(TimeValue)
-
setContentCompressionEnabled
public RequestConfig.Builder setContentCompressionEnabled(boolean contentCompressionEnabled)
Determines whether the target server is requested to compress content.Default:
true
- Since:
- 4.5
-
setHardCancellationEnabled
public RequestConfig.Builder setHardCancellationEnabled(boolean hardCancellationEnabled)
Determines whether request cancellation, such as throughFuture#cancel(boolean)
, should kill the underlying connection. If this option is set to false, the client will attempt to preserve the underlying connection by allowing the request to complete in the background, discarding the response.Note that when this option is
true
, cancelling a request may cause other requests to fail, if they are waiting to use the same connection.On HTTP/2, this option has no effect. Request cancellation will always result in the stream being cancelled with a
RST_STREAM
. This has no effect on connection reuse.On non-asynchronous clients, this option has no effect. Request cancellation, such as through
HttpUriRequestBase#cancel()
, will always kill the underlying connection.Default:
true
- Since:
- 5.0
-
build
public RequestConfig build()
-
-