@Immutable public class HttpService extends Object
HttpService
is a server side HTTP protocol handler based on
the classic (blocking) I/O model.
HttpService
relies on 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 implement
application specific content generation and processing.
HttpService
uses HttpRequestHandlerMapper
to map
matching request handler for a particular request URI of an incoming HTTP
request.
HttpService
can use optional HttpExpectationVerifier
to ensure that incoming requests meet server's expectations.
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()
Deprecated.
(4.3) no longer used.
|
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)
Deprecated.
(4.1) set
ConnectionReuseStrategy using constructor |
void |
setExpectationVerifier(HttpExpectationVerifier expectationVerifier)
Deprecated.
(4.1) set
HttpExpectationVerifier using constructor |
void |
setHandlerResolver(HttpRequestHandlerResolver handlerResolver)
Deprecated.
(4.1) set
HttpRequestHandlerResolver using constructor |
void |
setHttpProcessor(HttpProcessor processor)
Deprecated.
(4.1) set
HttpProcessor using constructor |
void |
setParams(HttpParams params)
Deprecated.
(4.1) set
HttpResponseFactory using constructor |
void |
setResponseFactory(HttpResponseFactory responseFactory)
Deprecated.
(4.1) set
HttpResponseFactory using constructor |
@Deprecated public HttpService(HttpProcessor processor, ConnectionReuseStrategy connStrategy, HttpResponseFactory responseFactory, HttpRequestHandlerResolver handlerResolver, HttpExpectationVerifier expectationVerifier, HttpParams params)
HttpService(HttpProcessor, ConnectionReuseStrategy,
HttpResponseFactory, HttpRequestHandlerMapper, HttpExpectationVerifier)
processor
- the processor to use on requests and responsesconnStrategy
- the connection reuse strategyresponseFactory
- the response factoryhandlerResolver
- the handler resolver. May be null.expectationVerifier
- the expectation verifier. May be null.params
- the HTTP parameters@Deprecated public HttpService(HttpProcessor processor, ConnectionReuseStrategy connStrategy, HttpResponseFactory responseFactory, HttpRequestHandlerResolver handlerResolver, HttpParams params)
HttpService(HttpProcessor, ConnectionReuseStrategy,
HttpResponseFactory, HttpRequestHandlerMapper)
processor
- the processor to use on requests and responsesconnStrategy
- the connection reuse strategyresponseFactory
- the response factoryhandlerResolver
- the handler resolver. May be null.params
- the HTTP parameters@Deprecated public HttpService(HttpProcessor proc, ConnectionReuseStrategy connStrategy, HttpResponseFactory responseFactory)
HttpService(HttpProcessor,
ConnectionReuseStrategy, HttpResponseFactory, HttpRequestHandlerResolver, HttpParams)
proc
- the processor to use on requests and responsesconnStrategy
- the connection reuse strategyresponseFactory
- the response factorypublic HttpService(HttpProcessor processor, ConnectionReuseStrategy connStrategy, HttpResponseFactory responseFactory, HttpRequestHandlerMapper handlerMapper, HttpExpectationVerifier expectationVerifier)
processor
- the processor to use on requests and responsesconnStrategy
- the connection reuse strategy. If null
DefaultConnectionReuseStrategy.INSTANCE
will be used.responseFactory
- the response factory. If null
DefaultHttpResponseFactory.INSTANCE
will be used.handlerMapper
- the handler mapper. May be null.expectationVerifier
- the expectation verifier. May be null.public HttpService(HttpProcessor processor, ConnectionReuseStrategy connStrategy, HttpResponseFactory responseFactory, HttpRequestHandlerMapper handlerMapper)
processor
- the processor to use on requests and responsesconnStrategy
- the connection reuse strategy. If null
DefaultConnectionReuseStrategy.INSTANCE
will be used.responseFactory
- the response factory. If null
DefaultHttpResponseFactory.INSTANCE
will be used.handlerMapper
- the handler mapper. May be null.public HttpService(HttpProcessor processor, HttpRequestHandlerMapper handlerMapper)
processor
- the processor to use on requests and responseshandlerMapper
- the handler mapper. May be null.@Deprecated public void setHttpProcessor(HttpProcessor processor)
HttpProcessor
using constructor@Deprecated public void setConnReuseStrategy(ConnectionReuseStrategy connStrategy)
ConnectionReuseStrategy
using constructor@Deprecated public void setResponseFactory(HttpResponseFactory responseFactory)
HttpResponseFactory
using constructor@Deprecated public void setParams(HttpParams params)
HttpResponseFactory
using constructor@Deprecated public void setHandlerResolver(HttpRequestHandlerResolver handlerResolver)
HttpRequestHandlerResolver
using constructor@Deprecated public void setExpectationVerifier(HttpExpectationVerifier expectationVerifier)
HttpExpectationVerifier
using constructor@Deprecated public HttpParams getParams()
public void handleRequest(HttpServerConnection conn, HttpContext context) throws IOException, HttpException
conn
- the active connection to the clientcontext
- the actual execution context.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, 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.IOException
- in case of an I/O error.HttpException
- in case of HTTP protocol violation or a processing
problem.Copyright © 2005–2015 The Apache Software Foundation. All rights reserved.