Javadoc 8 fixes.

git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/trunk@1619400 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Gary D. Gregory 2014-08-21 14:11:32 +00:00
parent 7e4cfbb688
commit 4007c05f9b
33 changed files with 182 additions and 97 deletions

View File

@ -50,15 +50,17 @@ import org.apache.http.util.Asserts;
* A connection manager for a single connection. This connection manager maintains only one active
* connection. Even though this class is fully thread-safe it ought to be used by one execution
* thread only, as only one thread a time can lease the connection at a time.
* <p/>
* <p>
* This connection manager will make an effort to reuse the connection for subsequent requests
* with the same {@link HttpRoute route}. It will, however, close the existing connection and
* open it for the given route, if the route of the persistent connection does not match that
* of the connection request. If the connection has been already been allocated
* {@link IllegalStateException} is thrown.
* <p/>
* </p>
* <p>
* This connection manager implementation should be used inside an EJB container instead of
* {@link PoolingClientConnectionManager}.
* </p>
*
* @since 4.2
*

View File

@ -36,10 +36,10 @@ import org.apache.http.util.LangUtils;
/**
* {@code AuthScope} represents an authentication scope consisting of a host name,
* a port number, a realm name and an authentication scheme name.
* <p/>
* <p>
* This class can also optionally contain a host of origin, if created in response
* to authentication challenge from a specific host.
*
* </p>
* @since 4.0
*/
@Immutable

View File

@ -198,7 +198,7 @@ public class AuthState {
/**
* Returns actual {@link AuthScope} if available
*
* @return actual authentication scope if available, <code>null</code otherwise
* @return actual authentication scope if available, {@code null} otherwise
*
* @deprecated (4.2) do not use.
*/

View File

@ -154,12 +154,13 @@ public interface HttpClient {
/**
* Executes HTTP request using the default context and processes the
* response using the given response handler.
* <p/>
* <p>
* Implementing classes are required to ensure that the content entity
* associated with the response is fully consumed and the underlying
* connection is released back to the connection manager automatically
* in all cases relieving individual {@link ResponseHandler}s from
* having to manage resource deallocation internally.
* </p>
*
* @param request the request to execute
* @param responseHandler the response handler
@ -176,12 +177,13 @@ public interface HttpClient {
/**
* Executes HTTP request using the given context and processes the
* response using the given response handler.
* <p/>
* <p>
* Implementing classes are required to ensure that the content entity
* associated with the response is fully consumed and the underlying
* connection is released back to the connection manager automatically
* in all cases relieving individual {@link ResponseHandler}s from
* having to manage resource deallocation internally.
* </p>
*
* @param request the request to execute
* @param responseHandler the response handler
@ -201,12 +203,13 @@ public interface HttpClient {
/**
* Executes HTTP request to the target using the default context and
* processes the response using the given response handler.
* <p/>
* <p>
* Implementing classes are required to ensure that the content entity
* associated with the response is fully consumed and the underlying
* connection is released back to the connection manager automatically
* in all cases relieving individual {@link ResponseHandler}s from
* having to manage resource deallocation internally.
* </p>
*
* @param target the target host for the request.
* Implementations may accept <code>null</code>
@ -228,12 +231,13 @@ public interface HttpClient {
/**
* Executes HTTP request to the target using the given context and
* processes the response using the given response handler.
* <p/>
* <p>
* Implementing classes are required to ensure that the content entity
* associated with the response is fully consumed and the underlying
* connection is released back to the connection manager automatically
* in all cases relieving individual {@link ResponseHandler}s from
* having to manage resource deallocation internally.
* </p>
*
* @param target the target host for the request.
* Implementations may accept <code>null</code>

View File

@ -35,9 +35,10 @@ import org.apache.http.protocol.HttpContext;
* identify the current user if the context is user specific or to be
* <code>null</code> if the context does not contain any resources or details
* specific to the current user.
* <p/>
* <p>
* The user token will be used to ensure that user specific resources will not
* be shared with or reused by other users.
* </p>
*
* @since 4.0
*/

View File

@ -103,17 +103,20 @@ public class RequestConfig implements Cloneable {
* 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.
* <p/>
* <p>
* 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.
* <p/>
* </p>
* <p>
* '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.
* <p/>
* </p>
* <p>
* Default: <code>false</code>
* </p>
*/
public boolean isExpectContinueEnabled() {
return expectContinueEnabled;
@ -121,8 +124,9 @@ public class RequestConfig implements Cloneable {
/**
* Returns HTTP proxy to be used for request execution.
* <p/>
* <p>
* Default: <code>null</code>
* </p>
*/
public HttpHost getProxy() {
return proxy;
@ -130,12 +134,14 @@ public class RequestConfig implements Cloneable {
/**
* Returns local address to be used for request execution.
* <p/>
* <p>
* On machines with multiple network interfaces, this parameter
* can be used to select the network interface from which the
* connection originates.
* <p/>
* </p>
* <p>
* Default: <code>null</code>
* </p>
*/
public InetAddress getLocalAddress() {
return localAddress;
@ -146,8 +152,9 @@ public class RequestConfig implements Cloneable {
* 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.
* <p/>
* <p>
* Default: <code>false</code> since 4.4
* </p>
*
* @deprecated (4.4) Use {@link
* org.apache.http.impl.conn.PoolingHttpClientConnectionManager#getValidateAfterInactivity()}
@ -160,8 +167,9 @@ public class RequestConfig implements Cloneable {
/**
* Determines the name of the cookie specification to be used for HTTP state
* management.
* <p/>
* <p>
* Default: <code>null</code>
* </p>
*/
public String getCookieSpec() {
return cookieSpec;
@ -169,8 +177,9 @@ public class RequestConfig implements Cloneable {
/**
* Determines whether redirects should be handled automatically.
* <p/>
* <p>
* Default: <code>true</code>
* </p>
*/
public boolean isRedirectsEnabled() {
return redirectsEnabled;
@ -179,8 +188,9 @@ public class RequestConfig implements Cloneable {
/**
* Determines whether relative redirects should be rejected. HTTP specification
* requires the location value be an absolute URI.
* <p/>
* <p>
* Default: <code>true</code>
* </p>
*/
public boolean isRelativeRedirectsAllowed() {
return relativeRedirectsAllowed;
@ -190,8 +200,9 @@ public class RequestConfig implements Cloneable {
* 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
* <p/>
* <p>
* Default: <code>false</code>
* </p>
*/
public boolean isCircularRedirectsAllowed() {
return circularRedirectsAllowed;
@ -200,8 +211,9 @@ public class RequestConfig implements Cloneable {
/**
* Returns the maximum number of redirects to be followed. The limit on number
* of redirects is intended to prevent infinite loops.
* <p/>
* <p>
* Default: <code>50</code>
* </p>
*/
public int getMaxRedirects() {
return maxRedirects;
@ -209,8 +221,9 @@ public class RequestConfig implements Cloneable {
/**
* Determines whether authentication should be handled automatically.
* <p/>
* <p>
* Default: <code>true</code>
* </p>
*/
public boolean isAuthenticationEnabled() {
return authenticationEnabled;
@ -219,8 +232,9 @@ public class RequestConfig implements Cloneable {
/**
* Determines the order of preference for supported authentication schemes
* when authenticating with the target host.
* <p/>
* <p>
* Default: <code>null</code>
* </p>
*/
public Collection<String> getTargetPreferredAuthSchemes() {
return targetPreferredAuthSchemes;
@ -229,8 +243,9 @@ public class RequestConfig implements Cloneable {
/**
* Determines the order of preference for supported authentication schemes
* when authenticating with the proxy host.
* <p/>
* <p>
* Default: <code>null</code>
* </p>
*/
public Collection<String> getProxyPreferredAuthSchemes() {
return proxyPreferredAuthSchemes;
@ -240,11 +255,13 @@ public class RequestConfig implements Cloneable {
* 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.
* <p/>
* <p>
* A timeout value of zero is interpreted as an infinite timeout.
* A negative value is interpreted as undefined (system default).
* <p/>
* </p>
* <p>
* Default: <code>-1</code>
* </p>
*/
public int getConnectionRequestTimeout() {
return connectionRequestTimeout;
@ -253,11 +270,13 @@ public class RequestConfig implements Cloneable {
/**
* Determines the timeout in milliseconds until a connection is established.
* A timeout value of zero is interpreted as an infinite timeout.
* <p/>
* <p>
* A timeout value of zero is interpreted as an infinite timeout.
* A negative value is interpreted as undefined (system default).
* <p/>
* </p>
* <p>
* Default: <code>-1</code>
* </p>
*/
public int getConnectTimeout() {
return connectTimeout;
@ -267,11 +286,13 @@ public class RequestConfig implements Cloneable {
* Defines the socket timeout (<code>SO_TIMEOUT</code>) in milliseconds,
* which is the timeout for waiting for data or, put differently,
* a maximum period inactivity between two consecutive data packets).
* <p/>
* <p>
* A timeout value of zero is interpreted as an infinite timeout.
* A negative value is interpreted as undefined (system default).
* <p/>
* </p>
* <p>
* Default: <code>-1</code>
* </p>
*/
public int getSocketTimeout() {
return socketTimeout;
@ -279,8 +300,9 @@ public class RequestConfig implements Cloneable {
/**
* Determines whether compressed entities should be decompressed automatically.
* <p/>
* <p>
* Default: <code>true</code>
* </p>
*
* @since 4.4
*/

View File

@ -47,9 +47,10 @@ import org.apache.http.entity.StringEntity;
/**
* Builder for {@link HttpEntity} instances.
* <p/>
* <p>
* Several setter methods of this builder are mutually exclusive. In case of multiple invocations
* of the following methods only the last one will have effect:
* </p>
* <ul>
* <li>{@link #setText(String)}</li>
* <li>{@link #setBinary(byte[])}</li>

View File

@ -57,12 +57,13 @@ import org.apache.http.util.Args;
/**
* Builder for {@link HttpUriRequest} instances.
* <p/>
* <p>
* Please note that this class treats parameters differently depending on composition
* of the request: if the request has a content entity explicitly set with
* {@link #setEntity(org.apache.http.HttpEntity)} or it is not an entity enclosing method
* (such as POST or PUT), parameters will be added to the query component of the request URI.
* Otherwise, parameters will be added as a URL encoded {@link UrlEncodedFormEntity entity}.
* </p>
*
* @since 4.3
*/

View File

@ -45,9 +45,10 @@ import org.apache.http.util.Args;
/**
* RequestExpectContinue is responsible for enabling the 'expect-continue'
* handshake by adding <code>Expect</code> header.
* <p/>
* <p>
* This interceptor takes into account {@link RequestConfig#isExpectContinueEnabled()}
* setting.
* </p>
*
* @since 4.3
*/

View File

@ -289,9 +289,10 @@ public class URIBuilder {
/**
* Sets URI query parameters. The parameter name / values are expected to be unescaped
* and may contain non ASCII characters.
* <p/>
* <p>
* Please note query parameters and custom query component are mutually exclusive. This method
* will remove custom query if present.
* </p>
*
* @since 4.3
*/
@ -311,9 +312,10 @@ public class URIBuilder {
/**
* Adds URI query parameters. The parameter name / values are expected to be unescaped
* and may contain non ASCII characters.
* <p/>
* <p>
* Please note query parameters and custom query component are mutually exclusive. This method
* will remove custom query if present.
* </p>
*
* @since 4.3
*/
@ -331,9 +333,10 @@ public class URIBuilder {
/**
* Sets URI query parameters. The parameter name / values are expected to be unescaped
* and may contain non ASCII characters.
* <p/>
* <p>
* Please note query parameters and custom query component are mutually exclusive. This method
* will remove custom query if present.
* </p>
*
* @since 4.3
*/
@ -355,9 +358,10 @@ public class URIBuilder {
/**
* Adds parameter to URI query. The parameter name and value are expected to be unescaped
* and may contain non ASCII characters.
* <p/>
* <p>
* Please note query parameters and custom query component are mutually exclusive. This method
* will remove custom query if present.
* </p>
*/
public URIBuilder addParameter(final String param, final String value) {
if (this.queryParams == null) {
@ -373,9 +377,10 @@ public class URIBuilder {
/**
* Sets parameter of URI query overriding existing value if set. The parameter name and value
* are expected to be unescaped and may contain non ASCII characters.
* <p/>
* <p>
* Please note query parameters and custom query component are mutually exclusive. This method
* will remove custom query if present.
* </p>
*/
public URIBuilder setParameter(final String param, final String value) {
if (this.queryParams == null) {
@ -411,9 +416,10 @@ public class URIBuilder {
/**
* Sets custom URI query. The value is expected to be unescaped and may contain non ASCII
* characters.
* <p/>
* <p>
* Please note query parameters and custom query component are mutually exclusive. This method
* will remove query parameters if present.
* </p>
*
* @since 4.3
*/

View File

@ -75,9 +75,10 @@ public interface EofSensorWatcher {
* Indicates that the {@link EofSensorInputStream stream} is aborted.
* This method will be called only if EOF was <i>not</i> detected
* before aborting. Otherwise, {@link #eofDetected eofDetected} is called.
* <p/>
* <p>
* This method will also be invoked when an input operation causes an
* IOException to be thrown to make sure the input stream gets shut down.
* </p>
*
* @param wrapped the underlying stream which has not reached EOF
*

View File

@ -35,15 +35,17 @@ import org.apache.http.protocol.HttpContext;
/**
* Represents a manager of persistent client connections.
* <p/>
* <p>
* The purpose of an HTTP connection manager is to serve as a factory for new
* HTTP connections, manage persistent connections and synchronize access to
* persistent connections making sure that only one thread of execution can
* have access to a connection at a time.
* <p/>
* </p>
* <p>
* Implementations of this interface must be thread-safe. Access to shared
* data must be synchronized as methods of this interface may be executed
* from multiple threads.
* </p>
*
* @since 4.3
*/
@ -53,7 +55,7 @@ public interface HttpClientConnectionManager {
* Returns a new {@link ConnectionRequest}, from which a
* {@link HttpClientConnection} can be obtained or the request can be
* aborted.
* <p/>
* <p>
* Please note that newly allocated connections can be returned
* in the closed state. The consumer of that connection is responsible
* for fully establishing the route the to the connection target
@ -70,6 +72,7 @@ public interface HttpClientConnectionManager {
* org.apache.http.conn.routing.HttpRoute,
* org.apache.http.protocol.HttpContext) routeComplete} to mark the route
* as fully completed.
* </p>
*
* @param route HTTP route of the requested connection.
* @param state expected state of the connection or <code>null</code>

View File

@ -36,10 +36,11 @@ import org.apache.http.protocol.HttpContext;
* Encapsulates logic to compute a {@link HttpRoute} to a target host.
* Implementations may for example be based on parameters, or on the
* standard Java system properties.
* <p/>
* <p>
* Implementations of this interface must be thread-safe. Access to shared
* data must be synchronized as methods of this interface may be executed
* from multiple threads.
* </p>
*
* @since 4.0
*/

View File

@ -36,8 +36,9 @@ import org.apache.http.util.LangUtils;
* Encapsulates specifics of a protocol scheme such as "http" or "https". Schemes are identified
* by lowercase names. Supported schemes are typically collected in a {@link SchemeRegistry
* SchemeRegistry}.
* <p/>
* <p>
* For example, to configure support for "https://" URLs, you could write code like the following:
* </p>
* <pre>
* Scheme https = new Scheme("https", 443, new MySecureSocketFactory());
* SchemeRegistry registry = new SchemeRegistry();

View File

@ -66,13 +66,14 @@ public interface SchemeSocketFactory {
/**
* Connects a socket to the target host with the given remote address.
* <p/>
* <p>
* Please note that {@link org.apache.http.conn.HttpInetSocketAddress} class should
* be used in order to pass the target remote address along with the original
* {@link org.apache.http.HttpHost} value used to resolve the address. The use of
* {@link org.apache.http.conn.HttpInetSocketAddress} can also ensure that no reverse
* DNS lookup will be performed if the target remote address was specified
* as an IP address.
* </p>
*
* @param sock the socket to connect, as obtained from
* {@link #createSocket(HttpParams) createSocket}.

View File

@ -204,13 +204,15 @@ public abstract class AbstractVerifier implements X509HostnameVerifier {
/**
* Extracts the array of SubjectAlt DNS names from an X509Certificate.
* Returns null if there aren't any.
* <p/>
* <p>
* Note: Java doesn't appear able to extract international characters
* from the SubjectAlts. It can only extract international characters
* from the CN field.
* <p/>
* </p>
* <p>
* (Or maybe the version of OpenSSL I'm using to test isn't storing the
* international characters correctly in the SubjectAlts?).
* </p>
*
* @param cert X509Certificate
* @return Array of SubjectALT DNS names stored in the certificate.

View File

@ -33,13 +33,15 @@ import org.apache.http.annotation.Immutable;
/**
* The HostnameVerifier that works the same way as Curl and Firefox.
* <p/>
* <p>
* The hostname must match either the first CN, or any of the subject-alts.
* A wildcard can occur in the CN, and in any of the subject-alts.
* <p/>
* </p>
* <p>
* The only difference between BROWSER_COMPATIBLE and STRICT is that a wildcard
* (such as "*.foo.com") with BROWSER_COMPATIBLE matches all subdomains,
* including "a.b.foo.com".
* </p>
*
* @since 4.0
*

View File

@ -72,11 +72,12 @@ public final class DefaultHostnameVerifier implements HostnameVerifier {
* This contains a list of 2nd-level domains that aren't allowed to
* have wildcards when combined with country-codes.
* For example: [*.co.uk].
* <p/>
* <p>
* The [*.co.uk] problem is an interesting one. Should we just hope
* that CA's would never foolishly allow such a certificate to happen?
* Looks like we're the only implementation guarding against this.
* Firefox, Curl, Sun Java 1.4, 5, 6 don't bother with this check.
* </p>
*/
private final static Pattern BAD_COUNTRY_WILDCARD_PATTERN = Pattern.compile(
"^[a-z0-9\\-\\*]+\\.(ac|co|com|ed|edu|go|gouv|gov|info|lg|ne|net|or|org)\\.[a-z0-9\\-]{2}$",

View File

@ -36,18 +36,19 @@ import org.apache.http.annotation.Immutable;
* Java 5, Sun Java 6-rc. It's also pretty close to IE6. This
* implementation appears to be compliant with RFC 2818 for dealing with
* wildcards.
* <p/>
* <p>
* The hostname must match either the first CN, or any of the subject-alts.
* A wildcard can occur in the CN, and in any of the subject-alts. The
* one divergence from IE6 is how we only check the first CN. IE6 allows
* a match against any of the CNs present. We decided to follow in
* Sun Java 1.4's footsteps and only check the first CN. (If you need
* to check all the CN's, feel free to write your own implementation!).
* <p/>
* </p>
* <p>
* A wildcard such as "*.foo.com" matches only subdomains in the same
* level, for example "a.foo.com". It does not match deeper subdomains
* such as "a.b.foo.com".
*
* </p>
*
* @since 4.0
*

View File

@ -64,10 +64,11 @@ import org.apache.http.util.EncodingUtils;
* Currently only qop=auth or no qop is supported. qop=auth-int
* is unsupported. If auth and auth-int are provided, auth is
* used.
* <p/>
* <p>
* Since the digest username is included as clear text in the generated
* Authentication header, the charset of the username must be compatible
* with the HTTP element charset used by the connection.
* </p>
*
* @since 4.0
*/

View File

@ -41,11 +41,12 @@ import org.apache.http.util.EntityUtils;
* A generic {@link ResponseHandler} that works with the response entity
* for successful (2xx) responses. If the response code was >= 300, the response
* body is consumed and an {@link HttpResponseException} is thrown.
* <p/>
* <p>
* If this is used with
* {@link org.apache.http.client.HttpClient#execute(
* org.apache.http.client.methods.HttpUriRequest, ResponseHandler)},
* HttpClient may handle redirects (3xx responses) internally.
* </p>
*
* @since 4.4
*/

View File

@ -50,8 +50,9 @@ import org.apache.http.util.Args;
* Default implementation of {@link org.apache.http.client.AuthCache}. This implements
* expects {@link org.apache.http.auth.AuthScheme} to be {@link java.io.Serializable}
* in order to be cacheable.
* <p/>
* <p>
* Instances of this class are thread safe as of version 4.4.
* </p>
*
* @since 4.1
*/

View File

@ -39,11 +39,12 @@ import org.apache.http.util.EntityUtils;
* A {@link org.apache.http.client.ResponseHandler} that returns the response body as a String
* for successful (2xx) responses. If the response code was >= 300, the response
* body is consumed and an {@link org.apache.http.client.HttpResponseException} is thrown.
* <p/>
* <p>
* If this is used with
* {@link org.apache.http.client.HttpClient#execute(
* org.apache.http.client.methods.HttpUriRequest, org.apache.http.client.ResponseHandler)},
* HttpClient may handle redirects (3xx responses) internally.
* </p>
*
* @since 4.0
*/

View File

@ -62,9 +62,10 @@ import org.apache.http.util.TextUtils;
* {@code 307 Temporary Redirect} status codes will result in an automatic redirect of
* HEAD and GET methods only. POST and PUT methods will not be automatically redirected
* as requiring user confirmation.
* <p/>
* <p>
* The restriction on automatic redirection of POST methods can be relaxed by using
* {@link LaxRedirectStrategy} instead of {@link DefaultRedirectStrategy}.
* </p>
*
* @see LaxRedirectStrategy
* @since 4.1

View File

@ -122,12 +122,13 @@ import org.apache.http.util.VersionInfo;
/**
* Builder for {@link CloseableHttpClient} instances.
* <p/>
* <p>
* When a particular component is not explicitly this class will
* use its default implementation. System properties will be taken
* into account when configuring the default implementations when
* {@link #useSystemProperties()} method is called prior to calling
* {@link #build()}.
* </p>
* <ul>
* <li>ssl.TrustManagerFactory.algorithm</li>
* <li>javax.net.ssl.trustStoreType</li>
@ -148,10 +149,11 @@ import org.apache.http.util.VersionInfo;
* <li>http.maxConnections</li>
* <li>http.agent</li>
* </ul>
* <p/>
* <p>
* Please note that some settings used by this class can be mutually
* exclusive and may not apply when building {@link CloseableHttpClient}
* instances.
* </p>
*
* @since 4.3
*/
@ -229,10 +231,11 @@ public class HttpClientBuilder {
/**
* Assigns {@link X509HostnameVerifier} instance.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} and the {@link #setSSLSocketFactory(
* org.apache.http.conn.socket.LayeredConnectionSocketFactory)} methods.
* </p>
*
* @deprecated (4.4)
*/
@ -244,10 +247,11 @@ public class HttpClientBuilder {
/**
* Assigns {@link javax.net.ssl.HostnameVerifier} instance.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} and the {@link #setSSLSocketFactory(
* org.apache.http.conn.socket.LayeredConnectionSocketFactory)} methods.
* </p>
*
* @since 4.4
*/
@ -258,11 +262,11 @@ public class HttpClientBuilder {
/**
* Assigns {@link SSLContext} instance.
* <p/>
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} and the {@link #setSSLSocketFactory(
* org.apache.http.conn.socket.LayeredConnectionSocketFactory)} methods.
* </p>
*/
public final HttpClientBuilder setSslcontext(final SSLContext sslcontext) {
this.sslcontext = sslcontext;
@ -271,9 +275,10 @@ public class HttpClientBuilder {
/**
* Assigns {@link LayeredConnectionSocketFactory} instance.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} method.
* </p>
*/
public final HttpClientBuilder setSSLSocketFactory(
final LayeredConnectionSocketFactory sslSocketFactory) {
@ -283,9 +288,10 @@ public class HttpClientBuilder {
/**
* Assigns maximum total connection value.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} method.
* </p>
*/
public final HttpClientBuilder setMaxConnTotal(final int maxConnTotal) {
this.maxConnTotal = maxConnTotal;
@ -294,9 +300,10 @@ public class HttpClientBuilder {
/**
* Assigns maximum connection per route value.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} method.
* </p>
*/
public final HttpClientBuilder setMaxConnPerRoute(final int maxConnPerRoute) {
this.maxConnPerRoute = maxConnPerRoute;
@ -305,9 +312,10 @@ public class HttpClientBuilder {
/**
* Assigns default {@link SocketConfig}.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} method.
* </p>
*/
public final HttpClientBuilder setDefaultSocketConfig(final SocketConfig config) {
this.defaultSocketConfig = config;
@ -316,9 +324,10 @@ public class HttpClientBuilder {
/**
* Assigns default {@link ConnectionConfig}.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} method.
* </p>
*/
public final HttpClientBuilder setDefaultConnectionConfig(final ConnectionConfig config) {
this.defaultConnectionConfig = config;
@ -327,9 +336,10 @@ public class HttpClientBuilder {
/**
* Sets maximum time to live for persistent connections
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setConnectionManager(
* org.apache.http.conn.HttpClientConnectionManager)} method.
* </p>
*
* @since 4.4
*/
@ -351,10 +361,11 @@ public class HttpClientBuilder {
/**
* Defines the connection manager is to be shared by multiple
* client instances.
* <p/>
* <p>
* If the connection manager is shared its life-cycle is expected
* to be managed by the caller and it will not be shut down
* if the client is closed.
* </p>
*
* @param shared defines whether or not the connection manager can be shared
* by multiple clients.
@ -407,9 +418,10 @@ public class HttpClientBuilder {
/**
* Assigns {@link UserTokenHandler} instance.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #disableConnectionState()}
* method.
* </p>
*/
public final HttpClientBuilder setUserTokenHandler(final UserTokenHandler userTokenHandler) {
this.userTokenHandler = userTokenHandler;
@ -435,9 +447,10 @@ public class HttpClientBuilder {
/**
* Assigns {@code User-Agent} value.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
* </p>
*/
public final HttpClientBuilder setUserAgent(final String userAgent) {
this.userAgent = userAgent;
@ -446,9 +459,10 @@ public class HttpClientBuilder {
/**
* Assigns default request header values.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
* </p>
*/
public final HttpClientBuilder setDefaultHeaders(final Collection<? extends Header> defaultHeaders) {
this.defaultHeaders = defaultHeaders;
@ -457,9 +471,10 @@ public class HttpClientBuilder {
/**
* Adds this protocol interceptor to the head of the protocol processing list.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
* </p>
*/
public final HttpClientBuilder addInterceptorFirst(final HttpResponseInterceptor itcp) {
if (itcp == null) {
@ -474,9 +489,10 @@ public class HttpClientBuilder {
/**
* Adds this protocol interceptor to the tail of the protocol processing list.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
* </p>
*/
public final HttpClientBuilder addInterceptorLast(final HttpResponseInterceptor itcp) {
if (itcp == null) {
@ -491,7 +507,7 @@ public class HttpClientBuilder {
/**
* Adds this protocol interceptor to the head of the protocol processing list.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
*/
@ -508,7 +524,7 @@ public class HttpClientBuilder {
/**
* Adds this protocol interceptor to the tail of the protocol processing list.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
*/
@ -525,7 +541,7 @@ public class HttpClientBuilder {
/**
* Disables state (cookie) management.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
*/
@ -536,7 +552,7 @@ public class HttpClientBuilder {
/**
* Disables automatic content decompression.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
*/
@ -547,7 +563,7 @@ public class HttpClientBuilder {
/**
* Disables authentication scheme caching.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setHttpProcessor(
* org.apache.http.protocol.HttpProcessor)} method.
*/
@ -566,7 +582,7 @@ public class HttpClientBuilder {
/**
* Assigns {@link HttpRequestRetryHandler} instance.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #disableAutomaticRetries()}
* method.
*/
@ -585,7 +601,7 @@ public class HttpClientBuilder {
/**
* Assigns default proxy value.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #setRoutePlanner(
* org.apache.http.conn.routing.HttpRoutePlanner)} method.
*/
@ -604,9 +620,10 @@ public class HttpClientBuilder {
/**
* Assigns {@link RedirectStrategy} instance.
* <p/>
* <p>
* Please note this value can be overridden by the {@link #disableRedirectHandling()}
* method.
* </p>
` */
public final HttpClientBuilder setRedirectStrategy(final RedirectStrategy redirectStrategy) {
this.redirectStrategy = redirectStrategy;
@ -723,8 +740,10 @@ public class HttpClientBuilder {
* Produces an instance of {@link ClientExecChain} to be used as a main exec.
* <p>
* Default implementation produces an instance of {@link MainClientExec}
* </p>
* <p>
* For internal use.
* </p>
*
* @since 4.4
*/

View File

@ -38,9 +38,10 @@ import org.apache.http.annotation.Immutable;
* {@link org.apache.http.client.HttpRequestRetryHandler} which assumes
* that all requested HTTP methods which should be idempotent according
* to RFC-2616 are in fact idempotent and can be retried.
* <p/>
* <p>
* According to RFC-2616 section 9.1.2 the idempotent HTTP methods are:
* GET, HEAD, PUT, DELETE, OPTIONS, and TRACE
* </p>
*
* @since 4.2
*/

View File

@ -27,8 +27,9 @@
/**
* Default HTTP client implementation.
* <p/>
* <p>
* The usual execution flow can be demonstrated by the code snippet below:
* </p>
* <pre>
* CloseableHttpClient httpclient = HttpClients.createDefault();
* try {

View File

@ -65,15 +65,17 @@ import org.apache.http.util.LangUtils;
* A connection manager for a single connection. This connection manager maintains only one active
* connection. Even though this class is fully thread-safe it ought to be used by one execution
* thread only, as only one thread a time can lease the connection at a time.
* <p/>
* <p>
* This connection manager will make an effort to reuse the connection for subsequent requests
* with the same {@link HttpRoute route}. It will, however, close the existing connection and
* open it for the given route, if the route of the persistent connection does not match that
* of the connection request. If the connection has been already been allocated
* {@link IllegalStateException} is thrown.
* <p/>
* </p>
* <p>
* This connection manager implementation should be used inside an EJB container instead of
* {@link PoolingHttpClientConnectionManager}.
* </p>
*
* @since 4.3
*/

View File

@ -74,7 +74,7 @@ import org.apache.http.util.Asserts;
* basis. A request for a route which already the manager has persistent
* connections for available in the pool will be services by leasing
* a connection from the pool rather than creating a brand new connection.
* <p/>
* <p>
* {@code ClientConnectionPoolManager} maintains a maximum limit of connection
* on a per route basis and in total. Per default this implementation will
* create no more than than 2 concurrent connections per given route
@ -82,13 +82,15 @@ import org.apache.http.util.Asserts;
* these limits may prove too constraining, especially if they use HTTP
* as a transport protocol for their services. Connection limits, however,
* can be adjusted using {@link ConnPoolControl} methods.
*
* </p>
* <p>
* The handling of stale connections was changed in version 4.4.
* Previously, the code would check every connection by default before re-using it.
* The code now only checks the connection if the elapsed time since
* the last use of the connection exceeds the timeout that has been set.
* The default timeout is set to 5000ms - see
* {@link #PoolingHttpClientConnectionManager(HttpClientConnectionOperator, HttpConnectionFactory, long, TimeUnit))}
* </p>
*
* @since 4.3
*/

View File

@ -40,11 +40,12 @@ import org.apache.http.conn.routing.HttpRoute;
* This interface represents an element in the HTTP request execution chain. Each element can
* either be a decorator around another element that implements a cross cutting aspect or
* a self-contained executor capable of producing a response for the given request.
* <p/>
* <p>
* Important: please note it is required for decorators that implement post execution aspects
* or response post-processing of any sort to release resources associated with the response
* by calling {@link CloseableHttpResponse#close()} methods in case of an I/O, protocol or
* runtime exception, or in case the response is not propagated to the caller.
* </p>
*
* @since 4.3
*/

View File

@ -61,10 +61,11 @@ import org.apache.http.util.Args;
* Internally this executor relies on a {@link HttpProcessor} to populate
* requisite HTTP request headers, process HTTP response headers and update
* session state in {@link HttpClientContext}.
* <p/>
* <p>
* Further responsibilities such as communication with the opposite
* endpoint is delegated to the next executor in the request execution
* chain.
* </p>
*
* @since 4.3
*/

View File

@ -47,10 +47,11 @@ import org.apache.http.util.Args;
* Request executor in the request execution chain that is responsible
* for making a decision whether a request that received a non-2xx response
* from the target server should be re-executed.
* <p/>
* <p>
* Further responsibilities such as communication with the opposite
* endpoint is delegated to the next executor in the request execution
* chain.
* </p>
*
* @since 4.3
*/

View File

@ -29,13 +29,14 @@ package org.apache.http.conn.ssl;
/**
* Some X509 certificates to test against.
* <p/>
* <p>
* Note: some of these certificates have Japanese Kanji in the "subjectAlt"
* field (UTF8). Not sure how realistic that is since international characters
* in DNS names usually get translated into ASCII using "xn--" style DNS
* entries. "xn--i8s592g.co.jp" is what FireFox actually uses when trying to
* find &#x82b1;&#x5b50;.co.jp. So would the CN in the certificate contain
* "xn--i8s592g.co.jp" in ASCII, or "&#x82b1;&#x5b50;.co.jp" in UTF8? (Both?)
* </p>
*
* @since 11-Dec-2006
*/