public class

DefaultConnectionReuseStrategy

extends Object
implements ConnectionReuseStrategy
java.lang.Object
   ↳ org.apache.http.impl.DefaultConnectionReuseStrategy

Class Overview

Default implementation of a strategy deciding about connection re-use. The default implementation first checks some basics, for example whether the connection is still open or whether the end of the request entity can be determined without closing the connection. If these checks pass, the tokens in the "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.

Summary

Public Constructors
DefaultConnectionReuseStrategy()
Public Methods
boolean keepAlive(HttpResponse response, HttpContext context)
Decides whether a connection can be kept open after a request.
Protected Methods
TokenIterator createTokenIterator(HeaderIterator hit)
Creates a token iterator from a header iterator.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.apache.http.ConnectionReuseStrategy

Public Constructors

public DefaultConnectionReuseStrategy ()

Public Methods

public boolean keepAlive (HttpResponse response, HttpContext context)

Decides whether a connection can be kept open after a request. If this method returns false, the caller MUST close the connection to correctly implement 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.

Parameters
response The last response received over that connection.
context the context in which the connection is being used.
Returns
  • true if the connection is allowed to be reused, or false if it MUST NOT be reused

Protected Methods

protected TokenIterator createTokenIterator (HeaderIterator hit)

Creates a token iterator from a header iterator. This method can be overridden to replace the implementation of the token iterator.

Parameters
hit the header iterator
Returns
  • the token iterator