=encoding utf8
=head1 NAME
Any::Daemon::HTTP - preforking HTTP daemon
=head1 INHERITANCE
Any::Daemon::HTTP
is a Any::Daemon
=head1 SYNOPSIS
my $http = Any::Daemon::HTTP->new(%opts);
$http->run;
=head1 DESCRIPTION
This module extends the basic L<Any::Daemon|Any::Daemon> with childs which
handle http connections. The HTTP/1.1 protocol implementation of
HTTP::Daemon is (ab)used.
Please support my development work by submitting bug-reports, patches
and (if available) a donation.
See L<documentation in base class|Any::Daemon/"DESCRIPTION">.
=head1 METHODS
See L<documentation in base class|Any::Daemon/"METHODS">.
=head2 Constructors
See L<documentation in base class|Any::Daemon/"Constructors">.
=over 4
=item Any::Daemon::HTTP-E<gt>B<new>(OPTIONS)
See the option descriptions of L<Any::Daemon::new()|Any::Daemon/"Constructors">.
-Option --Defined in --Default
docroot 'http://$host'
group Any::Daemon undef
host <from socket>
pid_file Any::Daemon undef
server_id <program name>
socket <created internally>
use_ssl <false>
user Any::Daemon undef
workdir Any::Daemon current working directory
=over 2
=item docroot => URL
The root url of this service. When SSL is used, then the url starts with
C<https>.
=item group => GID|GROUPNAME
=item host => HOSTNAME:PORT
=item pid_file => FILENAME
=item server_id => STRING
=item socket => SOCKET
=item use_ssl => BOOLEAN
=item user => UID|USERNAME
=item workdir => DIRECTORY
=back
=back
=head2 Accessors
See L<documentation in base class|Any::Daemon/"Accessors">.
=over 4
=item $obj-E<gt>B<docroot>()
=item $obj-E<gt>B<host>()
=item $obj-E<gt>B<socket>()
=item $obj-E<gt>B<useSSL>()
=item $obj-E<gt>B<workdir>()
See L<Any::Daemon/"Accessors">
=back
=head2 Action
See L<documentation in base class|Any::Daemon/"Action">.
=over 4
=item $obj-E<gt>B<run>(OPTIONS)
-Option --Defined in --Default
background Any::Daemon <true>
child_died Any::Daemon spawn new childs
child_task Any::Daemon <accept http connections>
handle_request <required>
kill_childs Any::Daemon send sigterm
max_childs Any::Daemon 10
new_connection <undef>
reconfigure Any::Daemon ignore
=over 2
=item background => BOOLEAN
=item child_died => CODE
=item child_task => CODE
=item handle_request => CODE
=item kill_childs => CODE
=item max_childs => INTEGER
=item new_connection => CODE
=item reconfigure => CODE
=back
=back
=head1 SEE ALSO
This module is part of Any-Daemon-HTTP distribution version 0.10,
built on July 09, 2013. Website: F<http://perl.overmeer.net/any-daemon/>
=head1 LICENSE
Copyrights 2013 by [Mark Overmeer]. For other contributors see ChangeLog.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
See F<http://www.perl.com/perl/misc/Artistic.html>