org.apache.http.nio.protocol

## Class BasicAsyncResponseConsumer

- java.lang.Object
- - org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<HttpResponse>
  - - org.apache.http.nio.protocol.BasicAsyncResponseConsumer

- All Implemented Interfaces:
    Closeable, AutoCloseable, Cancellable, HttpAsyncResponseConsumer<HttpResponse>

      @ThreadSafe
      public class BasicAsyncResponseConsumer
      extends AbstractAsyncResponseConsumer<HttpResponse>

  Basic implementation of `HttpAsyncResponseConsumer`. Please note that this consumer buffers response content in memory and should be used for relatively small response messages.
  Since:
    4.2

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BasicAsyncResponseConsumer()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected HttpResponse` | `buildResult(HttpContext context)` Invoked to generate a result object from the received HTTP response message.
    `protected void` | `onContentReceived(ContentDecoder decoder, IOControl ioctrl)` Invoked to process a chunk of content from the `ContentDecoder`.
    `protected void` | `onEntityEnclosed(HttpEntity entity, ContentType contentType)` Invoked if the response message encloses a content entity.
    `protected void` | `onResponseReceived(HttpResponse response)` Invoked when a HTTP response message is received.
    `protected void` | `releaseResources()` Invoked to release all system resources currently allocated.

    - ### Methods inherited from class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer

      `cancel, close, consumeContent, failed, getException, getResult, isDone, onClose, responseCompleted, responseReceived`

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

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

- - ### Constructor Detail

    - #### BasicAsyncResponseConsumer

          public BasicAsyncResponseConsumer()

  - ### Method Detail

    - #### onResponseReceived

          protected void onResponseReceived(HttpResponse response)
                                     throws IOException

      Description copied from class: `AbstractAsyncResponseConsumer`
      Invoked when a HTTP response message is received. Please note that the `AbstractAsyncResponseConsumer.onContentReceived(ContentDecoder, IOControl)` method will be invoked only if the response messages has a content entity enclosed.
      Specified by:
        `onResponseReceived` in class `AbstractAsyncResponseConsumer<HttpResponse>`
      Parameters:
        `response` - HTTP response message.
      Throws:
        `IOException` - in case of an I/O error

    - #### onEntityEnclosed

          protected void onEntityEnclosed(HttpEntity entity,
                              ContentType contentType)
                                   throws IOException

      Description copied from class: `AbstractAsyncResponseConsumer`
      Invoked if the response message encloses a content entity.
      Specified by:
        `onEntityEnclosed` in class `AbstractAsyncResponseConsumer<HttpResponse>`
      Parameters:
        `entity` - HTTP entity
        `contentType` - expected content type.
      Throws:
        `IOException` - in case of an I/O error

    - #### onContentReceived

          protected void onContentReceived(ContentDecoder decoder,
                               IOControl ioctrl)
                                    throws IOException

      Description copied from class: `AbstractAsyncResponseConsumer`
      Invoked to process a chunk of content from the `ContentDecoder`. The `IOControl` interface can be used to suspend input events if the consumer is temporarily unable to consume more content.

      The consumer can use the `ContentDecoder.isCompleted()` method to find out whether or not the message content has been fully consumed.
      Specified by:
        `onContentReceived` in class `AbstractAsyncResponseConsumer<HttpResponse>`
      Parameters:
        `decoder` - content decoder.
        `ioctrl` - I/O control of the underlying connection.
      Throws:
        `IOException` - in case of an I/O error

    - #### releaseResources

          protected void releaseResources()

      Description copied from class: `AbstractAsyncResponseConsumer`
      Invoked to release all system resources currently allocated.
      Specified by:
        `releaseResources` in class `AbstractAsyncResponseConsumer<HttpResponse>`

    - #### buildResult

          protected HttpResponse buildResult(HttpContext context)

      Description copied from class: `AbstractAsyncResponseConsumer`
      Invoked to generate a result object from the received HTTP response message.
      Specified by:
        `buildResult` in class `AbstractAsyncResponseConsumer<HttpResponse>`
      Parameters:
        `context` - HTTP context.
      Returns:
        result of the response processing.

Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.