Plack::Response - Portable HTTP Response object for PSGI response
use Plack::Response; sub psgi_handler { my $env = shift; my $res = Plack::Response->new(200); $res->content_type('text/html'); $res->body("Hello World"); return $res->finalize; }
Plack::Response allows you a way to create PSGI response array ref through a simple API.
$res = Plack::Response->new; $res = Plack::Response->new($status); $res = Plack::Response->new($status, $headers); $res = Plack::Response->new($status, $headers, $body);
Creates a new Plack::Response object.
$res->status(200); $status = $res->status;
Sets and gets HTTP status code. code is an alias.
code
$headers = $res->headers; $res->headers([ 'Content-Type' => 'text/html' ]); $res->headers({ 'Content-Type' => 'text/html' }); $res->headers( HTTP::Headers->new );
Sets and gets HTTP headers of the response. Setter can take either an array ref, a hash ref or HTTP::Headers object containing a list of headers.
$res->body($body_str); $res->body([ "Hello", "World" ]); $res->body($io);
Gets and sets HTTP response body. Setter can take either a string, an array ref, or an IO::Handle-like object. content is an alias.
content
$res->header('X-Foo' => 'bar'); my $val = $res->header('X-Foo');
Shortcut for $res->headers->header.
$res->headers->header
$res->content_type('text/plain'); $res->content_length(123); $res->content_encoding('gzip');
Shortcut for the equivalent get/set methods in $res->headers.
$res->headers
$res->redirect($url); $res->redirect($url, 301);
Sets redirect URL with an optional status code, which defaults to 302.
Gets and sets Location header.
Location
$res->cookies->{foo} = 123; $res->cookies->{foo} = { value => '123' };
Returns a hash reference containing cookies to be set in the response. The keys of the hash are the cookies' names, and their corresponding values are a plain string (for value with everything else defaults) or a hash reference that can contain keys such as value, domain, expires, path, httponly, secure.
value
domain
expires
path
httponly
secure
expires can take a string or an integer (as an epoch time) and does not convert string formats such as +3M.
+3M
$res->cookies->{foo} = { value => 'test', path => "/", domain => '.example.com', expires => time + 24 * 60 * 60, };
Tokuhiro Matsuno
Tatsuhiko Miyagawa
Plack::Request
To install Plack, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Plack
CPAN shell
perl -MCPAN -e shell install Plack
For more information on module installation, please visit the detailed CPAN module installation guide.