org.apache.http.client.config

## Class RequestConfig

- java.lang.Object
- - org.apache.http.client.config.RequestConfig

- All Implemented Interfaces:
    Cloneable

      @Contract(threading=IMMUTABLE)
      public class RequestConfig
      extends Object
      implements Cloneable

  Immutable class encapsulating request configuration items. The default setting for stale connection checking changed to false, and the feature was deprecated starting with version 4.4.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `RequestConfig.Builder`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static RequestConfig` | `DEFAULT`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `RequestConfig()` Intended for CDI compatibility

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected RequestConfig` | `clone()`
    `static RequestConfig.Builder` | `copy(RequestConfig config)`
    `static RequestConfig.Builder` | `custom()`
    `int` | `getConnectionRequestTimeout()` Returns the timeout in milliseconds used when requesting a connection from the connection manager.
    `int` | `getConnectTimeout()` Determines the timeout in milliseconds until a connection is established.
    `String` | `getCookieSpec()` Determines the name of the cookie specification to be used for HTTP state management.
    `InetAddress` | `getLocalAddress()` Returns local address to be used for request execution.
    `int` | `getMaxRedirects()` Returns the maximum number of redirects to be followed.
    `org.apache.http.HttpHost` | `getProxy()` Returns HTTP proxy to be used for request execution.
    `Collection<String>` | `getProxyPreferredAuthSchemes()` Determines the order of preference for supported authentication schemes when authenticating with the proxy host.
    `int` | `getSocketTimeout()` Defines the socket timeout (`SO_TIMEOUT`) in milliseconds, which is the timeout for waiting for data or, put differently, a maximum period inactivity between two consecutive data packets).
    `Collection<String>` | `getTargetPreferredAuthSchemes()` Determines the order of preference for supported authentication schemes when authenticating with the target host.
    `boolean` | `isAuthenticationEnabled()` Determines whether authentication should be handled automatically.
    `boolean` | `isCircularRedirectsAllowed()` Determines whether circular redirects (redirects to the same location) should be allowed.
    `boolean` | `isContentCompressionEnabled()` Determines whether the target server is requested to compress content.
    `boolean` | `isDecompressionEnabled()` Deprecated. (4.5) Use `isContentCompressionEnabled()`
    `boolean` | `isExpectContinueEnabled()` Determines whether the 'Expect: 100-Continue' handshake is enabled for entity enclosing methods.
    `boolean` | `isNormalizeUri()` Determines whether client should normalize URIs in requests or not.
    `boolean` | `isRedirectsEnabled()` Determines whether redirects should be handled automatically.
    `boolean` | `isRelativeRedirectsAllowed()` Determines whether relative redirects should be rejected.
    `boolean` | `isStaleConnectionCheckEnabled()` Deprecated. (4.4) Use `PoolingHttpClientConnectionManager.getValidateAfterInactivity()`
    `String` | `toString()`

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

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

- - ### Field Detail

    - #### DEFAULT

          public static final RequestConfig DEFAULT

  - ### Constructor Detail

    - #### RequestConfig

          protected RequestConfig()

      Intended for CDI compatibility

  - ### Method Detail

    - #### isExpectContinueEnabled

          public boolean isExpectContinueEnabled()

      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`

    - #### getProxy

          public org.apache.http.HttpHost getProxy()

      Returns HTTP proxy to be used for request execution.

      Default: `null`

    - #### getLocalAddress

          public InetAddress getLocalAddress()

      Returns local address to be used for request execution.

      On machines with multiple network interfaces, this parameter can be used to select the network interface from which the connection originates.

      Default: `null`

    - #### isStaleConnectionCheckEnabled

          @Deprecated
          public boolean isStaleConnectionCheckEnabled()

      Deprecated. (4.4) Use `PoolingHttpClientConnectionManager.getValidateAfterInactivity()`
      Determines whether stale connection check is to be used. The stale connection check can cause up to 30 millisecond overhead per request and should be used only when appropriate. For performance critical operations this check should be disabled.

      Default: `false` since 4.4

    - #### getCookieSpec

          public String getCookieSpec()

      Determines the name of the cookie specification to be used for HTTP state management.

      Default: `null`

    - #### isRedirectsEnabled

          public boolean isRedirectsEnabled()

      Determines whether redirects should be handled automatically.

      Default: `true`

    - #### isRelativeRedirectsAllowed

          public boolean isRelativeRedirectsAllowed()

      Determines whether relative redirects should be rejected. HTTP specification requires the location value be an absolute URI.

      Default: `true`

    - #### isCircularRedirectsAllowed

          public boolean isCircularRedirectsAllowed()

      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`

    - #### getMaxRedirects

          public int getMaxRedirects()

      Returns the maximum number of redirects to be followed. The limit on number of redirects is intended to prevent infinite loops.

      Default: `50`

    - #### isAuthenticationEnabled

          public boolean isAuthenticationEnabled()

      Determines whether authentication should be handled automatically.

      Default: `true`

    - #### getTargetPreferredAuthSchemes

          public Collection<String> getTargetPreferredAuthSchemes()

      Determines the order of preference for supported authentication schemes when authenticating with the target host.

      Default: `null`

    - #### getProxyPreferredAuthSchemes

          public Collection<String> getProxyPreferredAuthSchemes()

      Determines the order of preference for supported authentication schemes when authenticating with the proxy host.

      Default: `null`

    - #### getConnectionRequestTimeout

          public int getConnectionRequestTimeout()

      Returns the timeout in milliseconds used when requesting a connection from the connection manager.

      A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default if applicable).

      Default: `-1`

    - #### getConnectTimeout

          public int getConnectTimeout()

      Determines the timeout in milliseconds until a connection is established.

      A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default if applicable).

      Default: `-1`

    - #### getSocketTimeout

          public int getSocketTimeout()

      Defines the socket timeout (`SO_TIMEOUT`) in milliseconds, which is the timeout for waiting for data or, put differently, a maximum period inactivity between two consecutive data packets).

      A timeout value of zero is interpreted as an infinite timeout. A negative value is interpreted as undefined (system default if applicable).

      Default: `-1`

    - #### isDecompressionEnabled

          @Deprecated
          public boolean isDecompressionEnabled()

      Deprecated. (4.5) Use `isContentCompressionEnabled()`
      Determines whether compressed entities should be decompressed automatically.

      Default: `true`

      Since:
        4.4

    - #### isContentCompressionEnabled

          public boolean isContentCompressionEnabled()

      Determines whether the target server is requested to compress content.

      Default: `true`

      Since:
        4.5

    - #### isNormalizeUri

          public boolean isNormalizeUri()

      Determines whether client should normalize URIs in requests or not.

      Default: `true`

      Since:
        4.5.8

    - #### clone

          protected RequestConfig clone()
                                 throws CloneNotSupportedException

      Overrides:
        `clone` in class `Object`
      Throws:
        `CloneNotSupportedException`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### custom

          public static RequestConfig.Builder custom()

    - #### copy

          public static RequestConfig.Builder copy(RequestConfig config)

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