NAME
Test::Httpd::Apache2 - Apache2 runner for tests
SYNOPSIS
use Test::Httpd::Apache2;
my $httpd = Test::Httpd::Apache2->new(
custom_conf => << 'EOT',
DocumentRoot "htdocs"
EOT
);
# do whatever you want
my $url = "http://" . $httpd->listen . "/";
...
DESCRIPTION
The module automatically setups an instance of Apache2 httpd server and destroys it when the perl script exits.
FUNCTIONS
new
Creates and runs the httpd server. Httpd is terminated when the returned object is DESTROYed. The function accepts following arguments, which can also be read and/or be set through the accessors of the same name.
listen
The address to which the httpd binds to. Corresponds to the "Listen" configuration directive of Apache. The default value is "127.0.0.1:<whatever_port_that_was_unused>".
server_root
The "ServerRoot" runtime directive. Set to current working directory if omitted.
custom_conf
Application-specific configuration passed that will be written to the configuration file of Apache. Default is none.
required_modules
An arrayref to specify the required apache modules. If any module are specified, Test::Httpd::Apache2
will check the list of statically-compiled-in and dynamically-aviable modules and load the necessary modules automatically. Module names should be specified excluding the "mod_" prefix and ".so" suffix. For example, auth_basic_module
should be specified as "auth_basic". Default is an empty arrayref.
Note: "Authz_host" is automatically translated to "access" if the found httpd is Apache/2.0.x for compatibility.
search_paths
Paths to look for the httpd server in addition to the PATH environment variable. The default is: /usr/sbin, /usr/local/sbin, /usr/local/apache/bin.
pid
the read-only accessor returns pid of the httpd server or undef if it is not running
start
the instance method starts the httpd server
stop
the instance method stops the httpd server
COPYRIGHT
Copyright (C) 2010 Cybozu Labs, Inc. Written by Kazuho Oku.
THANKS TO
Tatsuhiko Miyagawa mattn
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.