NAME
HTTP::Daemon::UNIX - HTTP::Daemon over Unix sockets
VERSION
version 0.01
SYNOPSIS
use HTTP::Daemon::UNIX;
# arguments will be passed to IO::Socket::UNIX, but Listen=>1 and
# Type=>SOCK_STREAM will be added by default. also, HTTP::Daemon::UNIX will try
# to delete stale socket first, for convenience.
my $d = HTTP::Daemon::UNIX->new(Local => "/path/to/unix.sock");
# will print something like: "http:path/to/unix.sock"
print "Please contact me at: <URL:", $d->url, ">\n";
# after that, use like you would use HTTP::Daemon
while (my $c = $d->accept) {
while (my $r = $c->get_request) {
if ($r->method eq 'GET' and $r->uri->path eq "/xyzzy") {
# remember, this is *not* recommended practice :-)
$c->send_file_response("/etc/passwd");
} else {
$c->send_error(RC_FORBIDDEN);
}
}
$c->close;
undef($c);
}
DESCRIPTION
This is a quick hack to enable HTTP::Daemon to serve requests over Unix sockets, by mixing in IO::Socket::UNIX and HTTP::Daemon as parents to HTTP::Daemon::UNIX and overriding IO::Socket::INET-related stuffs.
Basic stuffs seem to be working, but this module has not been tested extensively, so beware that things might blow up in your face.
SEE ALSO
AUTHOR
Steven Haryanto <stevenharyanto@gmail.com>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Steven Haryanto.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.