Net-Async-HTTP-Server
view release on metacpan or search on metacpan
DESCRIPTION
This module allows a program to respond asynchronously to HTTP
requests, as part of a program based on IO::Async. An object in this
class listens on a single port and invokes the on_request callback or
subclass method whenever an HTTP request is received, allowing the
program to respond to it.
For accepting HTTP connections via PSGI and Plack, see also
Plack::Handler::Net::Async::HTTP::Server.
Metrics
Since version 0.11.
This module reports basic metrics about received requests and sent
responses via Metrics::Any.
EVENTS
on_request $req
Invoked when a new HTTP request is received. It will be passed a
Net::Async::HTTP::Server::Request object.
PARAMETERS
The following named parameters may be passed to new or configure:
request_class => STRING
Gives the name of the class that make_request will construct. This is
provided as an alternative to overriding the make_request method, for
the case where no other methods need overriding or other behaviour
changed.
METHODS
As a small subclass of IO::Async::Listener, this class does not provide
many new methods of its own. The superclass provides useful methods to
control the basic operation of this server.
Specifically, see the "listen" in IO::Async::Listener method on how to
actually bind the server to a listening socket to make it accept
requests.
make_request
$request = $server->make_request( @args );
Invoked by the protocol stream handler to create a new request object
representing an incoming request. This is provided as a method for
subclasses to overload, if they wish to represent requests with
subclasses of the basic request representation.
TODO
* Don't use HTTP::Message objects as underlying implementation
* Consider how to do streaming request inbound
* Lots more testing
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>
( run in 0.620 second using v1.01-cache-2.11-cpan-140bd7fdf52 )