Kelp::Request - Request class for a Kelp application
my $request = Kelp::Request( app => $app, env => $env );
This module provides a convenience layer on top of Plack::Request. It extends it to add several convenience methods.
A reference to the Kelp application.
An all use, utility hash to use to pass information between routes.
This hash is initialized with the named placeholders of the path that the current route is processing.
Returns the HTTP parameters of the request. This method delegates all the work to "param" in Plack::Request, except when the content type of the request is application/json. In that case, it will decode the JSON body and return as follows:
application/json
If no arguments are passed, then it will return the names of the HTTP parameters when called in array contest, and a reference to the entire JSON hash when called in scalar context.
# JSON body = { bar => 1, foo => 2 } my @names = $self->param; # @names = ('bar', 'foo') my $json = $self->param; # $json = { bar => 1, foo => 2 }
If a single argument is passed, then the corresponding value in the JSON document is returned.
my $bar = $self->param('bar'); # $bar = 1
Returns the Plack session hash or dies if no Session middleware was included.
Session
sub route_zero { my $self = shift; $self->session->{user} = 45; }
If called with a single argument, returns that value from the session hash:
sub route_one { my $self = shift; my $user = $self->req->session('user'); }
Set values in the session using key-value pairs:
sub route_two { my $self = shift; $self->req->session( name => 'Jill Andrews', age => 24, email => 'jill@perlkelp.com' ); }
In your config file:
middleware => ['Session'], middleware_init => { Session => { store => 'File' } }
delete $self->req->session->{'useless'};
$self->req->session = {};
Returns true if the request was called with XMLHttpRequest.
XMLHttpRequest
Returns true if the request's content type was application/json.
To install Kelp, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Kelp
CPAN shell
perl -MCPAN -e shell install Kelp
For more information on module installation, please visit the detailed CPAN module installation guide.