org.apache.hc.client5.http.config

## Class RequestConfig.Builder

- java.lang.Object
- - org.apache.hc.client5.http.config.RequestConfig.Builder

- Enclosing class:
    RequestConfig

      public static class RequestConfig.Builder
      extends Object

- - ### Method Summary

    Methods
    Modifier and Type | Method and 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 a `Keep-Alive` response header.
    `RequestConfig.Builder` | `setConnectionRequestTimeout(long connectionRequestTimeout, 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, TimeUnit timeUnit)`
    `RequestConfig.Builder` | `setConnectTimeout(org.apache.hc.core5.util.Timeout connectTimeout)` Determines the timeout until a new connection is fully established.
    `RequestConfig.Builder` | `setContentCompressionEnabled(boolean contentCompressionEnabled)` Determines whether the target server is requested to compress content.
    `RequestConfig.Builder` | `setCookieSpec(String cookieSpec)` Determines the name of the cookie specification to be used for HTTP state management.
    `RequestConfig.Builder` | `setDefaultKeepAlive(long defaultKeepAlive, 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 through `Future#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)` Returns HTTP proxy to be used for request execution.
    `RequestConfig.Builder` | `setProxyPreferredAuthSchemes(Collection<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, 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(Collection<String> targetPreferredAuthSchemes)` Determines the order of preference for supported authentication schemes by their names when authenticating with the target host.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

          public RequestConfig.Builder setProxy(org.apache.hc.core5.http.HttpHost proxy)

      Returns HTTP proxy to be used for request execution.

      Default: `null`

    - #### setCookieSpec

          public RequestConfig.Builder setCookieSpec(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 enabled

      Default: `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(Collection<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(Collection<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.

      A timeout value of zero is interpreted as an infinite timeout.

      Default: 3 minutes.

    - #### setConnectionRequestTimeout

          public RequestConfig.Builder setConnectionRequestTimeout(long connectionRequestTimeout,
                                                          TimeUnit timeUnit)

      See Also:
        `setConnectionRequestTimeout(Timeout)`

    - #### setConnectTimeout

          public RequestConfig.Builder setConnectTimeout(org.apache.hc.core5.util.Timeout connectTimeout)

      Determines the timeout until a new connection is fully established. This may also include transport security negotiation exchanges such as `SSL` or `TLS` protocol negotiation).

      A timeout value of zero is interpreted as an infinite timeout.

      Default: 3 minutes

    - #### setConnectTimeout

          public RequestConfig.Builder setConnectTimeout(long connectTimeout,
                                                TimeUnit timeUnit)

      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,
                                                 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 a `Keep-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,
                                                  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 through `Future#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()

Copyright © 1999–2022 The Apache Software Foundation. All rights reserved.