org.apache.http.protocol
Class HttpService

java.lang.Object
  extended by org.apache.http.protocol.HttpService

public class HttpService
extends Object

HttpService is a server side HTTP protocol handler based in the blocking I/O model that implements the essential requirements of the HTTP protocol for the server side message processing as described by RFC 2616.
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 HttpRequestHandlers are expected to take care of application specific content generation and processing.
HttpService relies on HttpRequestHandler to resolve 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.

Since:
4.0
Version:
$Revision: 744532 $

Constructor Summary
HttpService(HttpProcessor proc, ConnectionReuseStrategy connStrategy, HttpResponseFactory responseFactory)
          Create a new HTTP service.
 
Method Summary
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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpService

public HttpService(HttpProcessor proc,
                   ConnectionReuseStrategy connStrategy,
                   HttpResponseFactory responseFactory)
Create a new HTTP service.

Parameters:
proc - the processor to use on requests and responses
connStrategy - the connection reuse strategy
responseFactory - the response factory
Method Detail

setHttpProcessor

public void setHttpProcessor(HttpProcessor processor)

setConnReuseStrategy

public void setConnReuseStrategy(ConnectionReuseStrategy connStrategy)

setResponseFactory

public void setResponseFactory(HttpResponseFactory responseFactory)

setHandlerResolver

public void setHandlerResolver(HttpRequestHandlerResolver handlerResolver)

setExpectationVerifier

public void setExpectationVerifier(HttpExpectationVerifier expectationVerifier)

getParams

public HttpParams getParams()

setParams

public void setParams(HttpParams params)

handleRequest

public void handleRequest(HttpServerConnection conn,
                          HttpContext context)
                   throws IOException,
                          HttpException
Handles receives one HTTP request over the given connection within the given execution context and sends a response back to the client.

Parameters:
conn - the active connection to the client
context - the actual execution context.
Throws:
IOException - in case of an I/O error.
HttpException - in case of HTTP protocol violation or a processing problem.

handleException

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.

Parameters:
ex - the exception.
response - the HTTP response.

doService

protected void doService(HttpRequest request,
                         HttpResponse response,
                         HttpContext context)
                  throws HttpException,
                         IOException
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.

Super-classes can override this method in order to provide a custom implementation of the request processing logic.

Parameters:
request - the HTTP request.
response - the HTTP response.
context - the execution context.
Throws:
IOException - in case of an I/O error.
HttpException - in case of HTTP protocol violation or a processing problem.


Copyright © 2005-2009 Apache Software Foundation. All Rights Reserved.