HttpMethodParams (HttpClient Library (Version 3.1))
Date: 2018-05-07

org.apache.commons.httpclient.params

## Class HttpMethodParams

- java.lang.Object
- - org.apache.commons.httpclient.params.DefaultHttpParams
  - - org.apache.commons.httpclient.params.HttpMethodParams

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, HttpParams
  Direct Known Subclasses:
    HttpClientParams

      public class HttpMethodParams
      extends DefaultHttpParams

  This class represents a collection of HTTP protocol parameters applicable to `HTTP methods`. Protocol parameters may be linked together to form a hierarchy. If a particular parameter value has not been explicitly defined in the collection itself, its value will be drawn from the parent collection of parameters.
  Since:
    3.0
  Version:
    $Revision: 483949 $
  Author:
    Oleg Kalnichevski, Christian Kohlschuetter
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `BUFFER_WARN_TRIGGER_LIMIT` Sets the maximum buffered response size (in bytes) that triggers no warning.
    `static java.lang.String` | `COOKIE_POLICY` Defines `cookie policy` to be used for cookie management.
    `static java.lang.String` | `CREDENTIAL_CHARSET` Defines the charset to be used when encoding `Credentials`.
    `static java.lang.String` | `DATE_PATTERNS` The key used to look up the date patterns used for parsing.
    `static java.lang.String` | `HEAD_BODY_CHECK_TIMEOUT` Sets period of time in milliseconds to wait for a content body sent in response to `HEAD method` from a non-compliant server.
    `static java.lang.String` | `HTTP_CONTENT_CHARSET` Defines the charset to be used for encoding content body.
    `static java.lang.String` | `HTTP_ELEMENT_CHARSET` Defines the charset to be used for encoding HTTP protocol elements.
    `static java.lang.String` | `HTTP_URI_CHARSET` Defines the charset to be used for parsing URIs.
    `static java.lang.String` | `MULTIPART_BOUNDARY` Sets the value to use as the multipart boundary.
    `static java.lang.String` | `PROTOCOL_VERSION` Defines the `HTTP protocol version` used by `HTTP methods` per default.
    `static java.lang.String` | `REJECT_HEAD_BODY` Defines whether the content body sent in response to `HeadMethod` should be rejected.
    `static java.lang.String` | `RETRY_HANDLER` Sets the method retry handler parameter.
    `static java.lang.String` | `SINGLE_COOKIE_HEADER` Defines whether `cookies` should be put on a single `response header`.
    `static java.lang.String` | `SO_TIMEOUT` Sets the socket timeout (`SO_TIMEOUT`) in milliseconds to be used when executing the method.
    `static java.lang.String` | `STATUS_LINE_GARBAGE_LIMIT` Defines the maximum number of ignorable lines before we expect a HTTP response's status code.
    `static java.lang.String` | `STRICT_TRANSFER_ENCODING` Defines whether responses with an invalid `Transfer-Encoding` header should be rejected.
    `static java.lang.String` | `UNAMBIGUOUS_STATUS_LINE` Defines whether `HTTP methods` should reject ambiguous `HTTP status line`.
    `static java.lang.String` | `USE_EXPECT_CONTINUE` Activates 'Expect: 100-Continue' handshake for the `entity enclosing methods`.
    `static java.lang.String` | `USER_AGENT` Defines the content of the `User-Agent` header used by `HTTP methods`.
    `static java.lang.String` | `VIRTUAL_HOST` Defines the virtual host name.
    `static java.lang.String` | `WARN_EXTRA_INPUT` Defines HttpClient's behavior when a response provides more bytes than expected (specified with Content-Length, for example).

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `HttpMethodParams()` Creates a new collection of parameters with the collection returned by `DefaultHttpParams.getDefaultParams()` as a parent.
    `HttpMethodParams(HttpParams defaults)` Creates a new collection of parameters with the given parent.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getContentCharset()` Returns the default charset to be used for writing content body, when no charset explicitly specified.
    `java.lang.String` | `getCookiePolicy()` Returns `cookie policy` to be used by the `HTTP methods` this collection of parameters applies to.
    `java.lang.String` | `getCredentialCharset()` Returns the charset to be used for `Credentials`.
    `java.lang.String` | `getHttpElementCharset()` Returns the charset to be used for writing HTTP headers.
    `int` | `getSoTimeout()` Returns the default socket timeout (`SO_TIMEOUT`) in milliseconds which is the timeout for waiting for data.
    `java.lang.String` | `getUriCharset()` Returns the charset to be used for parsing URIs.
    `HttpVersion` | `getVersion()` Returns `HTTP protocol version` to be used by the `HTTP methods` that this collection of parameters applies to.
    `java.lang.String` | `getVirtualHost()` Returns the virtual host name.
    `void` | `makeLenient()` Makes the `HTTP methods` attempt to mimic the exact behaviour of commonly used HTTP agents, which many HTTP servers expect, even though such behaviour may violate the HTTP protocol specification (RFC 2616 and other relevant RFCs).
    `void` | `makeStrict()` Makes the `HTTP methods` strictly follow the HTTP protocol specification (RFC 2616 and other relevant RFCs).
    `void` | `setContentCharset(java.lang.String charset)` Sets the default charset to be used for writing content body, when no charset explicitly specified.
    `void` | `setCookiePolicy(java.lang.String policy)` Assigns the `cookie policy` to be used by the `HTTP methods` this collection of parameters applies to.
    `void` | `setCredentialCharset(java.lang.String charset)` Sets the charset to be used for writing HTTP headers.
    `void` | `setHttpElementCharset(java.lang.String charset)` Sets the charset to be used for writing HTTP headers.
    `void` | `setSoTimeout(int timeout)` Sets the default socket timeout (`SO_TIMEOUT`) in milliseconds which is the timeout for waiting for data.
    `void` | `setUriCharset(java.lang.String charset)` Sets the charset to be used for parsing URIs.
    `void` | `setVersion(HttpVersion version)` Assigns the `HTTP protocol version` to be used by the `HTTP methods` that this collection of parameters applies to.
    `void` | `setVirtualHost(java.lang.String hostname)` Sets the virtual host name.

    - ### Methods inherited from class org.apache.commons.httpclient.params.DefaultHttpParams

      `clear, clone, getBooleanParameter, getDefaultParams, getDefaults, getDoubleParameter, getIntParameter, getLongParameter, getParameter, isParameterFalse, isParameterSet, isParameterSetLocally, isParameterTrue, setBooleanParameter, setDefaults, setDoubleParameter, setHttpParamsFactory, setIntParameter, setLongParameter, setParameter, setParameters`

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

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

- - ### Field Detail

    - #### USER_AGENT

          public static final java.lang.String USER_AGENT

      Defines the content of the `User-Agent` header used by `HTTP methods`.

      This parameter expects a value of type `String`.

      See Also:
        Constant Field Values

    - #### PROTOCOL_VERSION

          public static final java.lang.String PROTOCOL_VERSION

      Defines the `HTTP protocol version` used by `HTTP methods` per default.

      This parameter expects a value of type `HttpVersion`.

      See Also:
        Constant Field Values

    - #### UNAMBIGUOUS_STATUS_LINE

          public static final java.lang.String UNAMBIGUOUS_STATUS_LINE

      Defines whether `HTTP methods` should reject ambiguous `HTTP status line`.

      This parameter expects a value of type `Boolean`.

      See Also:
        Constant Field Values

    - #### SINGLE_COOKIE_HEADER

          public static final java.lang.String SINGLE_COOKIE_HEADER

      Defines whether `cookies` should be put on a single `response header`.

      This parameter expects a value of type `Boolean`.

      See Also:
        Constant Field Values

    - #### STRICT_TRANSFER_ENCODING

          public static final java.lang.String STRICT_TRANSFER_ENCODING

      Defines whether responses with an invalid `Transfer-Encoding` header should be rejected.

      This parameter expects a value of type `Boolean`.

      See Also:
        Constant Field Values

    - #### REJECT_HEAD_BODY

          public static final java.lang.String REJECT_HEAD_BODY

      Defines whether the content body sent in response to `HeadMethod` should be rejected.

      This parameter expects a value of type `Boolean`.

      See Also:
        Constant Field Values

    - #### HEAD_BODY_CHECK_TIMEOUT

          public static final java.lang.String HEAD_BODY_CHECK_TIMEOUT

      Sets period of time in milliseconds to wait for a content body sent in response to `HEAD method` from a non-compliant server. If the parameter is not set or set to `-1` non-compliant response body check is disabled.

      This parameter expects a value of type `Integer`.

      See Also:
        Constant Field Values

    - #### USE_EXPECT_CONTINUE

          public static final java.lang.String USE_EXPECT_CONTINUE

      Activates 'Expect: 100-Continue' handshake for the `entity enclosing methods`. The purpose of the 'Expect: 100-Continue' handshake 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 noticable peformance 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.

      This parameter expects a value of type `Boolean`.
      See Also:
        Constant Field Values

    - #### CREDENTIAL_CHARSET

          public static final java.lang.String CREDENTIAL_CHARSET

      Defines the charset to be used when encoding `Credentials`. If not defined then the `HTTP_ELEMENT_CHARSET` should be used.

      This parameter expects a value of type `String`.

      See Also:
        Constant Field Values

    - #### HTTP_ELEMENT_CHARSET

          public static final java.lang.String HTTP_ELEMENT_CHARSET

      Defines the charset to be used for encoding HTTP protocol elements.

      This parameter expects a value of type `String`.

      See Also:
        Constant Field Values

    - #### HTTP_URI_CHARSET

          public static final java.lang.String HTTP_URI_CHARSET

      Defines the charset to be used for parsing URIs.

      This parameter expects a value of type `String`.

      See Also:
        Constant Field Values

    - #### HTTP_CONTENT_CHARSET

          public static final java.lang.String HTTP_CONTENT_CHARSET

      Defines the charset to be used for encoding content body.

      This parameter expects a value of type `String`.

      See Also:
        Constant Field Values

    - #### COOKIE_POLICY

          public static final java.lang.String COOKIE_POLICY

      Defines `cookie policy` to be used for cookie management.

      This parameter expects a value of type `String`.

      See Also:
        Constant Field Values

    - #### WARN_EXTRA_INPUT

          public static final java.lang.String WARN_EXTRA_INPUT

      Defines HttpClient's behavior when a response provides more bytes than expected (specified with Content-Length, for example).

      Such surplus data makes the HTTP connection unreliable for keep-alive requests, as malicious response data (faked headers etc.) can lead to undesired results on the next request using that connection.

      If this parameter is set to `true`, any detection of extra input data will generate a warning in the log.

      This parameter expects a value of type `Boolean`.

      See Also:
        Constant Field Values

    - #### STATUS_LINE_GARBAGE_LIMIT

          public static final java.lang.String STATUS_LINE_GARBAGE_LIMIT

      Defines the maximum number of ignorable lines before we expect a HTTP response's status code.

      With HTTP/1.1 persistent connections, the problem arises that broken scripts could return a wrong Content-Length (there are more bytes sent than specified).
      Unfortunately, in some cases, this is not possible after the bad response, but only before the next one.
      So, HttpClient must be able to skip those surplus lines this way.

      Set this to 0 to disallow any garbage/empty lines before the status line.
      To specify no limit, use `Integer.MAX_VALUE` (default in lenient mode).

      This parameter expects a value of type `Integer`.
      See Also:
        Constant Field Values

    - #### SO_TIMEOUT

          public static final java.lang.String SO_TIMEOUT

      Sets the socket timeout (`SO_TIMEOUT`) in milliseconds to be used when executing the method. A timeout value of zero is interpreted as an infinite timeout.

      This parameter expects a value of type `Integer`.

      See Also:
        `SocketOptions.SO_TIMEOUT`, Constant Field Values

    - #### DATE_PATTERNS

          public static final java.lang.String DATE_PATTERNS

      The key used to look up the date patterns used for parsing. The String patterns are stored in a `Collection` and must be compatible with `SimpleDateFormat`.

      This parameter expects a value of type `Collection`.

      See Also:
        Constant Field Values

    - #### RETRY_HANDLER

          public static final java.lang.String RETRY_HANDLER

      Sets the method retry handler parameter.

      This parameter expects a value of type `HttpMethodRetryHandler`.

      See Also:
        Constant Field Values

    - #### BUFFER_WARN_TRIGGER_LIMIT

          public static final java.lang.String BUFFER_WARN_TRIGGER_LIMIT

      Sets the maximum buffered response size (in bytes) that triggers no warning. Buffered responses exceeding this size will trigger a warning in the log.

      This parameter expects a value if type `Integer`.

      See Also:
        Constant Field Values

    - #### VIRTUAL_HOST

          public static final java.lang.String VIRTUAL_HOST

      Defines the virtual host name.

      This parameter expects a value of type `String`.

      See Also:
        Constant Field Values

    - #### MULTIPART_BOUNDARY

          public static final java.lang.String MULTIPART_BOUNDARY

      Sets the value to use as the multipart boundary.

      This parameter expects a value if type `String`.

      See Also:
        `MultipartRequestEntity`, Constant Field Values

  - ### Constructor Detail

    - #### HttpMethodParams

          public HttpMethodParams()

      Creates a new collection of parameters with the collection returned by `DefaultHttpParams.getDefaultParams()` as a parent. The collection will defer to its parent for a default value if a particular parameter is not explicitly set in the collection itself.
      See Also:
        `DefaultHttpParams.getDefaultParams()`

    - #### HttpMethodParams

          public HttpMethodParams(HttpParams defaults)

      Creates a new collection of parameters with the given parent. The collection will defer to its parent for a default value if a particular parameter is not explicitly set in the collection itself.
      Parameters:
        `defaults` - the parent collection to defer to, if a parameter is not explictly set in the collection itself.
      See Also:
        `DefaultHttpParams.getDefaultParams()`

  - ### Method Detail

    - #### getHttpElementCharset

          public java.lang.String getHttpElementCharset()

      Returns the charset to be used for writing HTTP headers.
      Returns:
        The charset

    - #### setHttpElementCharset

          public void setHttpElementCharset(java.lang.String charset)

      Sets the charset to be used for writing HTTP headers.
      Parameters:
        `charset` - The charset

    - #### getContentCharset

          public java.lang.String getContentCharset()

      Returns the default charset to be used for writing content body, when no charset explicitly specified.
      Returns:
        The charset

    - #### setUriCharset

          public void setUriCharset(java.lang.String charset)

      Sets the charset to be used for parsing URIs.
      Parameters:
        `charset` - The charset

    - #### getUriCharset

          public java.lang.String getUriCharset()

      Returns the charset to be used for parsing URIs.
      Returns:
        The charset

    - #### setContentCharset

          public void setContentCharset(java.lang.String charset)

      Sets the default charset to be used for writing content body, when no charset explicitly specified.
      Parameters:
        `charset` - The charset

    - #### getCredentialCharset

          public java.lang.String getCredentialCharset()

      Returns the charset to be used for `Credentials`. If not configured the `HTTP element charset` is used.
      Returns:
        The charset

    - #### setCredentialCharset

          public void setCredentialCharset(java.lang.String charset)

      Sets the charset to be used for writing HTTP headers.
      Parameters:
        `charset` - The charset

    - #### getVersion

          public HttpVersion getVersion()

      Returns `HTTP protocol version` to be used by the `HTTP methods` that this collection of parameters applies to.
      Returns:
        `HTTP protocol version`

    - #### setVersion

          public void setVersion(HttpVersion version)

      Assigns the `HTTP protocol version` to be used by the `HTTP methods` that this collection of parameters applies to.
      Parameters:
        `version` - the `HTTP protocol version`

    - #### getCookiePolicy

          public java.lang.String getCookiePolicy()

      Returns `cookie policy` to be used by the `HTTP methods` this collection of parameters applies to.
      Returns:
        `cookie policy`

    - #### setCookiePolicy

          public void setCookiePolicy(java.lang.String policy)

      Assigns the `cookie policy` to be used by the `HTTP methods` this collection of parameters applies to.
      Parameters:
        `policy` - the `cookie policy`

    - #### getSoTimeout

          public int getSoTimeout()

      Returns the default socket timeout (`SO_TIMEOUT`) in milliseconds which is the timeout for waiting for data. A timeout value of zero is interpreted as an infinite timeout.
      Returns:
        timeout in milliseconds

    - #### setSoTimeout

          public void setSoTimeout(int timeout)

      Sets the default socket timeout (`SO_TIMEOUT`) in milliseconds which is the timeout for waiting for data. A timeout value of zero is interpreted as an infinite timeout.
      Parameters:
        `timeout` - Timeout in milliseconds

    - #### setVirtualHost

          public void setVirtualHost(java.lang.String hostname)

      Sets the virtual host name.
      Parameters:
        `hostname` - The host name

    - #### getVirtualHost

          public java.lang.String getVirtualHost()

      Returns the virtual host name.
      Returns:
        The virtual host name

    - #### makeStrict

          public void makeStrict()

      Makes the `HTTP methods` strictly follow the HTTP protocol specification (RFC 2616 and other relevant RFCs). It must be noted that popular HTTP agents have different degree of HTTP protocol compliance and some HTTP serves are programmed to expect the behaviour that does not strictly adhere to the HTTP specification.

    - #### makeLenient

          public void makeLenient()

      Makes the `HTTP methods` attempt to mimic the exact behaviour of commonly used HTTP agents, which many HTTP servers expect, even though such behaviour may violate the HTTP protocol specification (RFC 2616 and other relevant RFCs).

Copyright (c) 1999-2005 - Apache Software Foundation