Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.http.nio.protocol
Class BasicAsyncRequestHandler

    java.lang.Object
      org.apache.http.nio.protocol.BasicAsyncRequestHandler

All Implemented Interfaces:
  HttpAsyncRequestHandler<HttpRequest>

    @Contract(threading=IMMUTABLE_CONDITIONAL)
    public class BasicAsyncRequestHandler

extends Object
implements HttpAsyncRequestHandler<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 Summary
`BasicAsyncRequestHandler(HttpRequestHandler handler)`

Method Summary
`void` | `handle(HttpRequest request, HttpAsyncExchange httpexchange, HttpContext context)` Triggered to complete request processing and to initiate the process of generating a response.
`HttpAsyncRequestConsumer<HttpRequest>` | `processRequest(HttpRequest request, HttpContext context)` Triggered when an incoming request is received.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BasicAsyncRequestHandler

    public BasicAsyncRequestHandler(HttpRequestHandler handler)

Method Detail

### processRequest

    public HttpAsyncRequestConsumer<HttpRequest> processRequest(HttpRequest request,
                                                                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<HttpRequest>`
  Parameters:
    `request` - the entity enclosing request.
    `context` - the execution context.
  Returns:
    request consumer.

### handle

    public void handle(HttpRequest request,
                       HttpAsyncExchange httpexchange,
                       HttpContext context)
                throws 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<HttpRequest>`
  Parameters:
    `request` - request data returned by the request consumer.
    `httpexchange` - HTTP exchange.
    `context` - HTTP execution context.
  Throws:
    `HttpException` - in case of HTTP protocol violation or a processing problem.
    `IOException` - in case of an I/O error.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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