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.
BUFFER_WARN_TRIGGER_LIMIT
public static final 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
.
COOKIE_POLICY
public static final String COOKIE_POLICY
Defines
cookie policy
to be used for cookie management.
This parameter expects a value of type
String
.
CREDENTIAL_CHARSET
public static final 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
.
DATE_PATTERNS
public static final String DATE_PATTERNS
The key used to look up the date patterns used for parsing. The String patterns are stored
in a
java.util.Collection
and must be compatible with
java.text.SimpleDateFormat
.
This parameter expects a value of type
java.util.Collection
.
HEAD_BODY_CHECK_TIMEOUT
public static final 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
.
HTTP_CONTENT_CHARSET
public static final String HTTP_CONTENT_CHARSET
Defines the charset to be used for encoding content body.
This parameter expects a value of type
String
.
HTTP_ELEMENT_CHARSET
public static final String HTTP_ELEMENT_CHARSET
Defines the charset to be used for encoding HTTP protocol elements.
This parameter expects a value of type
String
.
MULTIPART_BOUNDARY
public static final String MULTIPART_BOUNDARY
Sets the value to use as the multipart boundary.
This parameter expects a value if type
String
.
PROTOCOL_VERSION
public static final String PROTOCOL_VERSION
REJECT_HEAD_BODY
public static final 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
.
RETRY_HANDLER
public static final String RETRY_HANDLER
SINGLE_COOKIE_HEADER
public static final String SINGLE_COOKIE_HEADER
Defines whether
cookies
should be put on
a single
response header
.
This parameter expects a value of type
Boolean
.
SO_TIMEOUT
public static final 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
.
java.net.SocketOptions.SO_TIMEOUT
STATUS_LINE_GARBAGE_LIMIT
public static final 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
java.lang.Integer.MAX_VALUE
(default in lenient mode).
This parameter expects a value of type
Integer
.
STRICT_TRANSFER_ENCODING
public static final String STRICT_TRANSFER_ENCODING
Defines whether responses with an invalid
Transfer-Encoding header should be
rejected.
This parameter expects a value of type
Boolean
.
UNAMBIGUOUS_STATUS_LINE
public static final String UNAMBIGUOUS_STATUS_LINE
USER_AGENT
public static final String USER_AGENT
Defines the content of the
User-Agent header used by
HTTP methods
.
This parameter expects a value of type
String
.
USE_EXPECT_CONTINUE
public static final 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
.
VIRTUAL_HOST
public static final String VIRTUAL_HOST
Defines the virtual host name.
This parameter expects a value of type
java.lang.String
.
WARN_EXTRA_INPUT
public static final 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
.
getContentCharset
public String getContentCharset()
Returns the default charset to be used for writing content body,
when no charset explicitly specified.
getCookiePolicy
public String getCookiePolicy()
getCredentialCharset
public String getCredentialCharset()
getHttpElementCharset
public String getHttpElementCharset()
Returns the charset to be used for writing HTTP headers.
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.
getVirtualHost
public String getVirtualHost()
Returns the virtual host name.
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).
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.
setContentCharset
public void setContentCharset(String charset)
Sets the default charset to be used for writing content body,
when no charset explicitly specified.
setCookiePolicy
public void setCookiePolicy(String policy)
setCredentialCharset
public void setCredentialCharset(String charset)
Sets the charset to be used for writing HTTP headers.
setHttpElementCharset
public void setHttpElementCharset(String charset)
Sets the charset to be used for writing HTTP headers.
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.
timeout
- Timeout in milliseconds
setVirtualHost
public void setVirtualHost(String hostname)
Sets the virtual host name.