Class HeapBufferedAsyncResponseConsumer

java.lang.Object
org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
org.elasticsearch.client.HeapBufferedAsyncResponseConsumer
All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable, org.apache.http.concurrent.Cancellable, org.apache.http.nio.protocol.HttpAsyncResponseConsumer<org.apache.http.HttpResponse>

public class HeapBufferedAsyncResponseConsumer
extends org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
Default implementation of HttpAsyncResponseConsumer. Buffers the whole response content in heap memory, meaning that the size of the buffer is equal to the content-length of the response. Limits the size of responses that can be read based on a configurable argument. Throws an exception in case the entity is longer than the configured buffer limit.
  • Constructor Summary

    Constructors 
    Constructor Description
    HeapBufferedAsyncResponseConsumer​(int bufferLimit)
    Creates a new instance of this consumer with the provided buffer limit
  • Method Summary

    Modifier and Type Method Description
    protected org.apache.http.HttpResponse buildResult​(org.apache.http.protocol.HttpContext context)  
    int getBufferLimit()
    Get the limit of the buffer.
    protected org.apache.http.nio.util.ByteBufferAllocator getByteBufferAllocator()
    Returns the instance of ByteBufferAllocator to use for content buffering.
    protected void onContentReceived​(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioctrl)  
    protected void onEntityEnclosed​(org.apache.http.HttpEntity entity, org.apache.http.entity.ContentType contentType)  
    protected void onResponseReceived​(org.apache.http.HttpResponse response)  
    protected void releaseResources()  

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

    cancel, close, consumeContent, failed, getContentType, 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 Details

    • HeapBufferedAsyncResponseConsumer

      public HeapBufferedAsyncResponseConsumer​(int bufferLimit)
      Creates a new instance of this consumer with the provided buffer limit
  • Method Details

    • getBufferLimit

      public int getBufferLimit()
      Get the limit of the buffer.
    • onResponseReceived

      protected void onResponseReceived​(org.apache.http.HttpResponse response) throws org.apache.http.HttpException, java.io.IOException
      Specified by:
      onResponseReceived in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
      Throws:
      org.apache.http.HttpException
      java.io.IOException
    • onEntityEnclosed

      protected void onEntityEnclosed​(org.apache.http.HttpEntity entity, org.apache.http.entity.ContentType contentType) throws java.io.IOException
      Specified by:
      onEntityEnclosed in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
      Throws:
      java.io.IOException
    • getByteBufferAllocator

      protected org.apache.http.nio.util.ByteBufferAllocator getByteBufferAllocator()
      Returns the instance of ByteBufferAllocator to use for content buffering. Allows to plug in any ByteBufferAllocator implementation.
    • onContentReceived

      protected void onContentReceived​(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioctrl) throws java.io.IOException
      Specified by:
      onContentReceived in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
      Throws:
      java.io.IOException
    • buildResult

      protected org.apache.http.HttpResponse buildResult​(org.apache.http.protocol.HttpContext context) throws java.lang.Exception
      Specified by:
      buildResult in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>
      Throws:
      java.lang.Exception
    • releaseResources

      protected void releaseResources()
      Specified by:
      releaseResources in class org.apache.http.nio.protocol.AbstractAsyncResponseConsumer<org.apache.http.HttpResponse>