Any-Daemon-HTTP
view release on metacpan or search on metacpan
lib/Any/Daemon/HTTP.pod view on Meta::CPAN
=item max_conn_per_child => INTEGER
[0.24] Average maximum number of connections which are handled
per process, before it commits suicide to cleanup garbaged memory.
The parent will start a new process.
This value gets a random value in 10% range added to subtracted to avoid
that all childs reset at the same time. So, for the default value, 9_000
upto 11_000 connections will be served before a reset.
=item max_req_per_child => INTEGER
[0.24] maximum number of HTTP requests accepted by all connections for
one process.
=item max_req_per_conn => INTEGER
[0.24] maximum number of HTTP requests handled in one connection.
=item max_time_per_conn => SECONDS
Maximum time a connection will stay alive. When the time expires, the
process will forcefully killed. For each request, C<req_time_bonus>
seconds are added. This may be a bit short when your files are large.
=item new_child => CODE|METHOD
[0.28] run code when a new child process is started. This will run
before the task starts waiting for connections. See L<newChild()|Any::Daemon::HTTP/"Action">
=item new_connection => CODE|METHOD
The CODE is called on each new connection made. It gets as parameters
the server (this object) and the connection (an
L<Any::Daemon::HTTP::Session|Any::Daemon::HTTP::Session> extension).
[0.28] Also a METHOD name. See L<newConnection()|Any::Daemon::HTTP/"Action">
=item reconfigure => CODE|METHOD
=item req_time_bonus => SECONDS
=item run_task => CODE|METHOD
=back
=back
=head1 DETAILS
=head2 Server supported features
Many often used features are supported
=over 4
=item * HTTP/1.1 protocol
Supported by via the HTTP::Daemon connection implementation, which
is gracefully hijacked. Messages are HTTP::Request and HTTP::Response
objects, borrowed from LWP.
=item * virtual hosts
Multiple "hosts" listening on the same port, abstracted in
L<Any::Daemon::HTTP::VirtualHost|Any::Daemon::HTTP::VirtualHost> objects. The vhosts have a
name and may have a number of aliases.
=item * directories per VirtualHost
One or more "directory" configurations may be added, which may be
nested. They are represened by a L<Any::Daemon::HTTP::Directory|Any::Daemon::HTTP::Directory> objects.
Each "directory" maps a "path" in the request to a directory on disk.
=item * allow/deny per Directory
Supports CIDR and hostname based access restrictions.
=item * directory lists per Directory
When permitted and no C<index.html> file is found, a listing is generated.
=item * user directories per VirtualHost
One directory object can be a L<Any::Daemon::HTTP::UserDirs|Any::Daemon::HTTP::UserDirs>, managing
user directories (request paths which start with C</~$username>)
=item * proxies
=item * static content caching
Reduce retransmitting files, supporting C<ETag> and C<Last-Modified>.
=item * rewrite rules per VirtualHost
Translate incoming request paths into new paths in the same vhost.
=item * redirection rules per VirtualHost
Translate incoming request paths into browser redirects.
=item * dynamic content handlers per VirtualHost
When there is no matching file, a handler will be called to produce the
required information. The default handler will produce 404 errors.
=item * dynamic content caching
Reduce transmitting dynamic content using C<ETag> and C<MD5>'s
=back
=head2 Server limitations
Ehhh...
=head1 SEE ALSO
This module is part of Any-Daemon-HTTP distribution version 0.30,
built on April 06, 2020. Website: F<http://perl.overmeer.net/any-daemon/>
( run in 1.521 second using v1.01-cache-2.11-cpan-d8267643d1d )