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
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BasicAsyncRequestHandler
public BasicAsyncRequestHandler(HttpRequestHandler handler)
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.
Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.