Package fr.gouv.vitam.common.client

# Class VitamApacheHttpClientEngine.VitamConnectionReuseStrategy

java.lang.Object
fr.gouv.vitam.common.client.VitamApacheHttpClientEngine.VitamConnectionReuseStrategy

All Implemented Interfaces:
  `org.apache.http.ConnectionReuseStrategy`

Enclosing class:
  `VitamApacheHttpClientEngine`

@Contract(threading=IMMUTABLE) public static class VitamApacheHttpClientEngine.VitamConnectionReuseStrategy extends Object implements org.apache.http.ConnectionReuseStrategy
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.

Since:
  4.0

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final VitamApacheHttpClientEngine.VitamConnectionReuseStrategy`
  `INSTANCE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `VitamConnectionReuseStrategy()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected org.apache.http.TokenIterator`
  `createTokenIterator(org.apache.http.HeaderIterator hit)`
  Creates a token iterator from a header iterator.
  `boolean`
  `keepAlive(org.apache.http.HttpResponse response, org.apache.http.protocol.HttpContext context)`

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

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

- ## Field Details

  - ### INSTANCE

    public static final VitamApacheHttpClientEngine.VitamConnectionReuseStrategy INSTANCE

- ## Constructor Details

  - ### VitamConnectionReuseStrategy

    public VitamConnectionReuseStrategy()

- ## Method Details

  - ### keepAlive

    public boolean keepAlive(org.apache.http.HttpResponse response, org.apache.http.protocol.HttpContext context)
    Specified by:
      `keepAlive` in interface `org.apache.http.ConnectionReuseStrategy`

  - ### createTokenIterator

    protected org.apache.http.TokenIterator createTokenIterator(org.apache.http.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