plack::handler::http::server::psgi(3pm) [debian man page]
Plack::Handler::HTTP::Server::PSGI(3pm) User Contributed Perl Documentation Plack::Handler::HTTP::Server::PSGI(3pm)NAME
Plack::Handler::HTTP::Server::PSGI - adapter for HTTP::Server::PSGI
SYNOPSIS
% plackup -s HTTP::Server::PSGI
--host 127.0.0.1 --port 9091 --timeout 120
BACKWARD COMPATIBLITY
Since Plack 0.99_22 this handler doesn't support preforking configuration i.e. "--max-workers". Use Starman or Starlet if you need
preforking PSGI web server.
CONFIGURATIONS
host
Host the server binds to. Defaults to all interfaces.
port
Port number the server listens on. Defaults to 8080.
timeout
Number of seconds a request times out. Defaults to 300.
max-reqs-per-child
Number of requests per worker to process. Defaults to 100.
AUTHOR
Kazuho Oku
Tatsuhiko Miyagawa
SEE ALSO
Plack HTTP::Server::PSGI
perl v5.14.2 2011-02-27 Plack::Handler::HTTP::Server::PSGI(3pm)
Check Out this Related Man Page
Plack::Test(3pm) User Contributed Perl Documentation Plack::Test(3pm)NAME
Plack::Test - Test PSGI applications with various backends
SYNOPSIS
use Plack::Test;
# named params
test_psgi
app => sub {
my $env = shift;
return [ 200, [ 'Content-Type' => 'text/plain' ], [ "Hello World" ] ],
},
client => sub {
my $cb = shift;
my $req = HTTP::Request->new(GET => "http://localhost/hello");
my $res = $cb->($req);
like $res->content, qr/Hello World/;
};
use HTTP::Request::Common;
# positional params (app, client)
my $app = sub { return [ 200, [], [ "Hello "] ] };
test_psgi $app, sub {
my $cb = shift;
my $res = $cb->(GET "/");
is $res->content, "Hello";
};
DESCRIPTION
Plack::Test is a unified interface to test PSGI applications using HTTP::Request and HTTP::Response objects. It also allows you to run PSGI
applications in various ways. The default backend is "Plack::Test::MockHTTP", but you may also use any Plack::Handler implementation to run
live HTTP requests against at web server
FUNCTIONS
test_psgi
test_psgi $app, $client;
test_psgi app => $app, client => $client;
Runs the client test code $client against a PSGI application $app. The client callback gets one argument $cb, a callback that accepts
an "HTTP::Request" object and returns an "HTTP::Response" object.
Use HTTP::Request::Common to import shortcuts for creating requests for "GET", "POST", "DELETE", and "PUT" operations.
For your convenience, the "HTTP::Request" given to the callback automatically uses the HTTP protocol and the localhost (127.0.0.1 by
default), so the following code just works:
use HTTP::Request::Common;
test_psgi $app, sub {
my $cb = shift;
my $res = $cb->(GET "/hello");
};
Note that however, it is not a good idea to pass an arbitrary (i.e. user-input) string to "GET" or even "HTTP::Request->new" by
assuming that it always represents a path, because:
my $req = GET "//foo/bar";
would represent a request for a URL that has no scheme, has a hostname foo and a path /bar, instead of a path //foo/bar which you might
actually want.
OPTIONS
Specify the Plack::Test backend using the environment variable "PLACK_TEST_IMPL" or $Plack::Test::Impl package variable.
The available values for the backend are:
MockHTTP
(Default) Creates a PSGI env hash out of HTTP::Request object, runs the PSGI application in-process and returns HTTP::Response.
Server
Runs one of Plack::Handler backends ("Standalone" by default) and sends live HTTP requests to test.
ExternalServer
Runs tests against an external server specified in the "PLACK_TEST_EXTERNALSERVER_URI" environment variable instead of spawning the
application in a server locally.
For instance, test your application with the "HTTP::Server::ServerSimple" server backend with:
> env PLACK_TEST_IMPL=Server PLACK_SERVER=HTTP::Server::ServerSimple
prove -l t/test.t
AUTHOR
Tatsuhiko Miyagawa
perl v5.14.2 2011-09-20 Plack::Test(3pm)