HTTP::Daemon
The HTTP::Daemon module creates HTTP server applications. The module provides objects based on the IO::Socket::INET class that can listen on a socket for client requests and send server responses. The objects implemented by the module are HTTP 1.1 servers. Client requests are stored as HTTP::Request objects, and all the methods for that class can be used to obtain information about the request. HTTP::Response objects can be used to send information back to the client.
An HTTP::Daemon object is created by using the
new constructor. Since the base
class for this object is IO::Socket::INET, the parameters used in
that class’s constructor are the same here. For example:
$d = HTTP::Daemon->new ( LocalAddr => 'maude.oreilly.com',
LocalPort => 8888,
Listen => 5 );The HTTP::Daemon object is a server socket that automatically
listens for requests on the specified port (or on the default port
if none is given). When a client request is received, the object
uses the accept method to create
a connection with the client on the network.
$d = HTTP::Daemon->new;
while ( $c = $d->accept ) {
$req = $c->get_request;
# Process request and send response here
}
$c = undef; # Don't forget to close the socketThe accept method
returns a reference to a new object of the HTTP::Daemon::ClientConn
class. This class is also based on IO::Socket::INET and is used to
extract the request message and send the response and any requested
file content.
The sockets created by both HTTP::Daemon and HTTP::Daemon::ClientConn ...