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 socket
The 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 ...
Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.