Class BasicAsyncRequestHandler

java.lang.Object
org.apache.http.nio.protocol.BasicAsyncRequestHandler
All Implemented Interfaces:
HttpAsyncRequestHandler<org.apache.http.HttpRequest>

@Contract(threading=IMMUTABLE_CONDITIONAL) public class BasicAsyncRequestHandler extends Object implements HttpAsyncRequestHandler<org.apache.http.HttpRequest>
Basic implementation of HttpAsyncRequestHandler that delegates the process of request handling to a HttpRequestHandler. Please note that this handler buffers request content in memory and should be used for relatively small request messages.
Since:
4.2
  • Constructor Details

    • BasicAsyncRequestHandler

      public BasicAsyncRequestHandler(org.apache.http.protocol.HttpRequestHandler handler)
  • Method Details

    • processRequest

      public HttpAsyncRequestConsumer<org.apache.http.HttpRequest> processRequest(org.apache.http.HttpRequest request, org.apache.http.protocol.HttpContext context)
      Description copied from interface: HttpAsyncRequestHandler
      Triggered when an incoming request is received. This method should return a HttpAsyncRequestConsumer that will be used to process the request and consume message content if enclosed. The consumer can optionally parse or transform the message content into a structured object which is then passed onto the HttpAsyncRequestHandler.handle(Object, HttpAsyncExchange, HttpContext) method for further processing.
      Specified by:
      processRequest in interface HttpAsyncRequestHandler<org.apache.http.HttpRequest>
      Parameters:
      request - the entity enclosing request.
      context - the execution context.
      Returns:
      request consumer.
    • handle

      public void handle(org.apache.http.HttpRequest request, HttpAsyncExchange httpexchange, org.apache.http.protocol.HttpContext context) throws org.apache.http.HttpException, IOException
      Description copied from interface: HttpAsyncRequestHandler
      Triggered to complete request processing and to initiate the process of generating a response. This method does not have to submit a response immediately. It can defer transmission of an HTTP response back to the client without blocking the I/O thread by delegating the process of request handling to another service or a worker thread. HTTP response can be submitted as a later a later point of time using HttpAsyncExchange once response content becomes available.
      Specified by:
      handle in interface HttpAsyncRequestHandler<org.apache.http.HttpRequest>
      Parameters:
      request - request data returned by the request consumer.
      httpexchange - HTTP exchange.
      context - HTTP execution context.
      Throws:
      org.apache.http.HttpException - in case of HTTP protocol violation or a processing problem.
      IOException - in case of an I/O error.