A skeletal implementation of a simple non-blocking HTTP server.


Interface Summary
RequestHeader An interface defining the attributes of the header part of an HTTP request.
ResponseFactory An application-specific interface used to configure an HttpServer.
ResponseFactoryConfig An interface for thread-safe, ResponseFactory configuration.

Class Summary
AbstractResponseFactory A skeletal implementation of a ResponseFactory that honors the server's asynchHint.
CannedResponses A collection of canned HTTP responses.
Caroon The Caroon HTTP server.
DebugHttpServer A version of HttpServer used for debugging.
ExceptionResponseFactory A response factory that filters exceptions thrown by a contained ResponseFactory instance.
ExceptionStagelet A boiler plate HTTP 500 response that prints a stack trace.
FileChannelStagelet Serves the contents of an HTTP response from a FileChannel.
HttpHandlet HTTP/1.1 server protocol implementation using a staged I/O strategy.
HttpServer An embedded, non-blocking HTTP server implementation using a staged I/O approach.
IdemResponseFactory A pre-processing ResponseFactory filter that does not allow HTTP POST, PUT, or DELETE verbs and issues a standard 405 (Method Not Allowed) response.
NotFoundResponseFactory A utility ResponseFactory that always returns 404 (Not Found).
NotFoundStage Simple 404 Not Found response.
QueryString Utility for parsing a URI for its query string.
RequestStage The first stage in the implementation of HTTP.
ResponseFactoryFilters Utility for wrapping a ResponseFactory with filters that restrict HTTP verb requests to either the implementation set, or the idempotent set (GET and HEAD), or filters that do basic exception handling.
ResponseFactorySwitch A thread-safe, ResponseFactory configuration utility.
ResponseHeaderStage Writes the HTTP response headers.
UnimplementedVerbResponseFactory Stop-gap interface wrapper for currently unimplemented HTTP verbs.

Enum Summary
Verb HTTP verbs.

Package Description

A skeletal implementation of a simple non-blocking HTTP server. This is nowhere near a complete implementation of the 1.1 protocol.

Getting started

The basic way to get the implementation up and running is that you implement a ResponseFactory which you pass as the argument to the HttpServer constructor.

To see an example of what your ResponseFactory must return, see the FileChannelStagelet code. Logo