org.apache.http.nio.protocol

## Class BufferingHttpClientHandler

- java.lang.Object
- - org.apache.http.nio.protocol.BufferingHttpClientHandler

All Implemented Interfaces:
  NHttpClientHandler

Deprecated.
(4.2) use `HttpAsyncRequestExecutor` and `HttpAsyncRequester`

    @Deprecated
    @Immutable
    public class BufferingHttpClientHandler
    extends Object
    implements NHttpClientHandler

Client protocol handler implementation that provides compatibility with the blocking I/O by storing the full content of HTTP messages in memory. The `HttpRequestExecutionHandler.handleResponse(HttpResponse, HttpContext)` method will fire only when the entire message content has been read into a in-memory buffer. Please note that request execution / response processing take place the main I/O thread and therefore `HttpRequestExecutionHandler` methods should not block indefinitely.

When using this protocol handler `HttpEntity`'s content can be generated / consumed using standard `InputStream`/ `OutputStream` classes.

IMPORTANT: This protocol handler should be used only when dealing with HTTP messages that are known to be limited in length.

Since:
  4.0

### Constructor Summary

Constructors
Constructor and Description
`BufferingHttpClientHandler(HttpProcessor httpProcessor, HttpRequestExecutionHandler execHandler, ConnectionReuseStrategy connStrategy, ByteBufferAllocator allocator, HttpParams params)` Deprecated.
`BufferingHttpClientHandler(HttpProcessor httpProcessor, HttpRequestExecutionHandler execHandler, ConnectionReuseStrategy connStrategy, HttpParams params)` Deprecated.

### Method Summary

Methods
`void` `closed(NHttpClientConnection conn)` Deprecated. Triggered when the connection is closed.
`void` `connected(NHttpClientConnection conn, Object attachment)` Deprecated. Triggered when a new outgoing connection is created.
`void` `exception(NHttpClientConnection conn, HttpException httpex)` Deprecated. Triggered when an HTTP protocol violation occurs while receiving an HTTP response.
`void` `exception(NHttpClientConnection conn, IOException ioex)` Deprecated. Triggered when an I/O error occurs while reading from or writing to the underlying channel.
`void` `inputReady(NHttpClientConnection conn, ContentDecoder decoder)` Deprecated. Triggered when the underlying channel is ready for reading a new portion of the response entity through the corresponding content decoder.
`void` `outputReady(NHttpClientConnection conn, ContentEncoder encoder)` Deprecated. Triggered when the underlying channel is ready for writing a next portion of the request entity through the corresponding content encoder.
`void` `requestReady(NHttpClientConnection conn)` Deprecated. Triggered when the connection is ready to accept a new HTTP request.
`void` `responseReceived(NHttpClientConnection conn)` Deprecated. Triggered when an HTTP response is received.
`void` `setEventListener(EventListener eventListener)` Deprecated.
`void` `timeout(NHttpClientConnection conn)` Deprecated. Triggered when no input is detected on this connection over the maximum period of inactivity.

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

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

### Constructor Detail

#### BufferingHttpClientHandler

    public BufferingHttpClientHandler(HttpProcessor httpProcessor,
                              HttpRequestExecutionHandler execHandler,
                              ConnectionReuseStrategy connStrategy,
                              ByteBufferAllocator allocator,
                              HttpParams params)

Deprecated.

#### BufferingHttpClientHandler

    public BufferingHttpClientHandler(HttpProcessor httpProcessor,
                              HttpRequestExecutionHandler execHandler,
                              ConnectionReuseStrategy connStrategy,
                              HttpParams params)

Deprecated.

### Method Detail

#### setEventListener

    public void setEventListener(EventListener eventListener)

Deprecated.

#### connected

    public void connected(NHttpClientConnection conn,
                 Object attachment)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when a new outgoing connection is created.

Specified by:
  `connected` in interface `NHttpClientHandler`
Parameters:
  `conn` - new outgoing HTTP connection.
  `attachment` - an object that was attached to the session request

#### closed

    public void closed(NHttpClientConnection conn)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when the connection is closed.

Specified by:
  `closed` in interface `NHttpClientHandler`
Parameters:
  `conn` - closed HTTP connection.

#### requestReady

    public void requestReady(NHttpClientConnection conn)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when the connection is ready to accept a new HTTP request. The protocol handler does not have to submit a request if it is not ready.

Specified by:
  `requestReady` in interface `NHttpClientHandler`
Parameters:
  `conn` - HTTP connection that is ready to accept a new HTTP request.
See Also:
  `NHttpClientConnection`

#### inputReady

    public void inputReady(NHttpClientConnection conn,
                  ContentDecoder decoder)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when the underlying channel is ready for reading a new portion of the response entity through the corresponding content decoder.

If the content consumer is unable to process the incoming content, input event notifications can be temporarily suspended using `IOControl` interface.

Specified by:
  `inputReady` in interface `NHttpClientHandler`
Parameters:
  `conn` - HTTP connection that can produce a new portion of the incoming response content.
  `decoder` - The content decoder to use to read content.
See Also:
  `NHttpClientConnection`, `ContentDecoder`, `IOControl`

#### outputReady

    public void outputReady(NHttpClientConnection conn,
                   ContentEncoder encoder)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when the underlying channel is ready for writing a next portion of the request entity through the corresponding content encoder.

If the content producer is unable to generate the outgoing content, output event notifications can be temporarily suspended using `IOControl` interface.

Specified by:
  `outputReady` in interface `NHttpClientHandler`
Parameters:
  `conn` - HTTP connection that can accommodate a new portion of the outgoing request content.
  `encoder` - The content encoder to use to write content.
See Also:
  `NHttpClientConnection`, `ContentEncoder`, `IOControl`

#### responseReceived

    public void responseReceived(NHttpClientConnection conn)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when an HTTP response is received. The connection passed as a parameter to this method is guaranteed to return a valid HTTP response object.

If the response received encloses a response entity this method will be followed by a series of `NHttpClientHandler.inputReady(NHttpClientConnection, ContentDecoder)` calls to transfer the response content.

Specified by:
  `responseReceived` in interface `NHttpClientHandler`
Parameters:
  `conn` - HTTP connection that contains an HTTP response
See Also:
  `NHttpClientConnection`

#### exception

    public void exception(NHttpClientConnection conn,
                 HttpException httpex)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when an HTTP protocol violation occurs while receiving an HTTP response.

Specified by:
  `exception` in interface `NHttpClientHandler`
Parameters:
  `conn` - HTTP connection that caused an HTTP protocol violation
  `httpex` - HTTP protocol violation exception

#### exception

    public void exception(NHttpClientConnection conn,
                 IOException ioex)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when an I/O error occurs while reading from or writing to the underlying channel.

Specified by:
  `exception` in interface `NHttpClientHandler`
Parameters:
  `conn` - HTTP connection that caused an I/O error
  `ioex` - I/O exception

#### timeout

    public void timeout(NHttpClientConnection conn)

Deprecated.
Description copied from interface: `NHttpClientHandler`
Triggered when no input is detected on this connection over the maximum period of inactivity.

Specified by:
  `timeout` in interface `NHttpClientHandler`
Parameters:
  `conn` - HTTP connection that caused timeout condition.