public class HttpService
extends java.lang.Object
HttpProcessor
to generate mandatory protocol
headers for all outgoing messages and apply common, cross-cutting message
transformations to all incoming and outgoing messages, whereas individual
HttpRequestHandler
s are expected to take care of application specific
content generation and processing.
HttpRequestHandler
to resolve matching request
handler for a particular request URI of an incoming HTTP request.
HttpExpectationVerifier
to ensure that
incoming requests meet server's expectations.Constructor and Description |
---|
HttpService(HttpProcessor proc,
ConnectionReuseStrategy connStrategy,
HttpResponseFactory responseFactory)
Create a new HTTP service.
|
Modifier and Type | Method and Description |
---|---|
protected void |
doService(HttpRequest request,
HttpResponse response,
HttpContext context)
The default implementation of this method attempts to resolve an
HttpRequestHandler for the request URI of the given request
and, if found, executes its
HttpRequestHandler.handle(HttpRequest, HttpResponse, HttpContext)
method. |
HttpParams |
getParams() |
protected void |
handleException(HttpException ex,
HttpResponse response)
Handles the given exception and generates an HTTP response to be sent
back to the client to inform about the exceptional condition encountered
in the course of the request processing.
|
void |
handleRequest(HttpServerConnection conn,
HttpContext context)
Handles receives one HTTP request over the given connection within the
given execution context and sends a response back to the client.
|
void |
setConnReuseStrategy(ConnectionReuseStrategy connStrategy) |
void |
setExpectationVerifier(HttpExpectationVerifier expectationVerifier) |
void |
setHandlerResolver(HttpRequestHandlerResolver handlerResolver) |
void |
setHttpProcessor(HttpProcessor processor) |
void |
setParams(HttpParams params) |
void |
setResponseFactory(HttpResponseFactory responseFactory) |
public HttpService(HttpProcessor proc, ConnectionReuseStrategy connStrategy, HttpResponseFactory responseFactory)
proc
- the processor to use on requests and responsesconnStrategy
- the connection reuse strategyresponseFactory
- the response factorypublic void setHttpProcessor(HttpProcessor processor)
public void setConnReuseStrategy(ConnectionReuseStrategy connStrategy)
public void setResponseFactory(HttpResponseFactory responseFactory)
public void setHandlerResolver(HttpRequestHandlerResolver handlerResolver)
public void setExpectationVerifier(HttpExpectationVerifier expectationVerifier)
public HttpParams getParams()
public void setParams(HttpParams params)
public void handleRequest(HttpServerConnection conn, HttpContext context) throws java.io.IOException, HttpException
conn
- the active connection to the clientcontext
- the actual execution context.java.io.IOException
- in case of an I/O error.HttpException
- in case of HTTP protocol violation or a processing
problem.protected void handleException(HttpException ex, HttpResponse response)
ex
- the exception.response
- the HTTP response.protected void doService(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, java.io.IOException
HttpRequestHandler
for the request URI of the given request
and, if found, executes its
HttpRequestHandler.handle(HttpRequest, HttpResponse, HttpContext)
method.
Super-classes can override this method in order to provide a custom implementation of the request processing logic.
request
- the HTTP request.response
- the HTTP response.context
- the execution context.java.io.IOException
- in case of an I/O error.HttpException
- in case of HTTP protocol violation or a processing
problem.