@Contract(threading=IMMUTABLE) public class DefaultConnectionReuseStrategy extends Object implements ConnectionReuseStrategy
Connection header will
be examined. In the absence of a Connection header, the
non-standard but commonly used Proxy-Connection header takes
it's role. A token close indicates that the connection cannot
be reused. If there is no such token, a token keep-alive
indicates that the connection should be re-used. If neither token is found,
or if there are no Connection headers, the default policy for
the HTTP version is applied. Since HTTP/1.1, connections are
re-used by default. Up until HTTP/1.0, connections are not
re-used by default.| Modifier and Type | Field and Description |
|---|---|
static DefaultConnectionReuseStrategy |
INSTANCE |
| Constructor and Description |
|---|
DefaultConnectionReuseStrategy() |
| Modifier and Type | Method and Description |
|---|---|
protected TokenIterator |
createTokenIterator(HeaderIterator hit)
Creates a token iterator from a header iterator.
|
boolean |
keepAlive(HttpResponse response,
HttpContext context)
Decides whether a connection can be kept open after a request.
|
public static final DefaultConnectionReuseStrategy INSTANCE
public boolean keepAlive(HttpResponse response, HttpContext context)
ConnectionReuseStrategyfalse, the caller MUST
close the connection to correctly comply with the HTTP protocol.
If it returns true, the caller SHOULD attempt to
keep the connection open for reuse with another request.
One can use the HTTP context to retrieve additional objects that may be relevant for the keep-alive strategy: the actual HTTP connection, the original HTTP request, target host if known, number of times the connection has been reused already and so on.
If the connection is already closed, false is returned.
The stale connection check MUST NOT be triggered by a
connection reuse strategy.
keepAlive in interface ConnectionReuseStrategyresponse - The last response received over that connection.context - the context in which the connection is being
used.true if the connection is allowed to be reused, or
false if it MUST NOT be reusedprotected TokenIterator createTokenIterator(HeaderIterator hit)
hit - the header iteratorCopyright © 2005–2022 The Apache Software Foundation. All rights reserved.