NAME
Catalyst::Request - Catalyst Request Class
SYNOPSIS
$req = $c->request;
$req->action;
$req->address;
$req->args;
$req->arguments;
$req->base;
$req->body;
$req->body_parameters;
$req->content_encoding;
$req->content_length;
$req->content_type;
$req->cookie;
$req->cookies;
$req->header;
$req->headers;
$req->hostname;
$req->input;
$req->match;
$req->method;
$req->param;
$req->params;
$req->parameters;
$req->path;
$req->protocol;
$req->query_parameters;
$req->read;
$req->referer;
$req->secure;
$req->snippets;
$req->upload;
$req->uploads;
$req->uri;
$req->user;
$req->user_agent;
See also Catalyst.
DESCRIPTION
This is the Catalyst Request class, which provides a set of accessors to the request data. The request object is prepared by the specialized Catalyst Engine module thus hiding the details of the particular engine implementation.
METHODS
- $req->action
-
Contains the requested action.
print $c->request->action;
- $req->address
-
Contains the remote address.
print $c->request->address
- $req->args
-
Shortcut for arguments
- $req->arguments
-
Returns a reference to an array containing the arguments.
print $c->request->arguments->[0];
For example, if your action was
package MyApp::C::Foo; sub moose : Local { ... }
And the URI for the request was
http://.../foo/moose/bah
the stringbah
would be the first and only argument. - $req->base
-
Contains the URI base. This will always have a trailing slash.
If your application was queried with the URI
http://localhost:3000/some/path
thenbase
ishttp://localhost:3000/
. - $req->body
-
Contains the message body of the request unless Content-Type is
application/x-www-form-urlencoded
ormultipart/form-data
.print $c->request->body
- $req->body_parameters
-
Returns a reference to a hash containing body parameters. Values can be either a scalar or an arrayref containing scalars.
print $c->request->body_parameters->{field}; print $c->request->body_parameters->{field}->[0];
These are the parameters from the POST part of the request, if any.
- $req->body_params
-
An alias for body_parameters.
- $req->content_encoding
-
Shortcut to $req->headers->content_encoding
- $req->content_length
-
Shortcut to $req->headers->content_length
- $req->content_type
-
Shortcut to $req->headers->content_type
-
A convenient method to $req->cookies.
$cookie = $c->request->cookie('name'); @cookies = $c->request->cookie;
-
Returns a reference to a hash containing the cookies.
print $c->request->cookies->{mycookie}->value;
The cookies in the hash are indexed by name, and the values are
CGI::Cookie
objects. - $req->header
-
Shortcut to $req->headers->header
- $req->headers
-
Returns an HTTP::Headers object containing the headers.
print $c->request->headers->header('X-Catalyst');
- $req->hostname
-
Lookup the current users DNS hostname.
print $c->request->hostname
- $req->input
-
Shortcut for $req->body.
- $req->match
-
This contains the matching part of a regexp action. Otherwise it returns the same as 'action'.
print $c->request->match;
- $req->method
-
Contains the request method (
GET
,POST
,HEAD
, etc).print $c->request->method;
- $req->param
-
Get request parameters with a CGI.pm-compatible param method. This is a method for accessing parameters in $c->req->parameters.
$value = $c->request->param( 'foo' ); @values = $c->request->param( 'foo' ); @params = $c->request->param;
Like CGI, and unlike previous versions of Catalyst, passing multiple arguments to this method, like this:
$c->request( 'foo', 'bar', 'gorch', 'quxx' );
will set the parameter
foo
to the multiple valuesbar
,gorch
andquxx
. Previously this would have addedbar
as another value tofoo
(creating it if it didn't exist before), andquxx
as another value forgorch
. - $req->params
-
Shortcut for $req->parameters.
- $req->parameters
-
Returns a reference to a hash containing parameters. Values can be either a scalar or an arrayref containing scalars.
print $c->request->parameters->{field}; print $c->request->parameters->{field}->[0];
This is the combination of
query_parameters
andbody_parameters
. - $req->path
-
Contains the path.
print $c->request->path;
- $req->path_info
-
alias for path, added for compability with CGI
- $req->protocol
-
Contains the protocol.
- $req->query_parameters
-
Returns a reference to a hash containing query parameters. Values can be either a scalar or an arrayref containing scalars.
print $c->request->query_parameters->{field}; print $c->request->query_parameters->{field}->[0];
These are the parameters from the query string portion of the request's URI, if any.
- $req->read( [$maxlength] )
-
Read a chunk of data from the request body. This method is designed to be used in a while loop, reading $maxlength bytes on every call. $maxlength defaults to the size of the request if not specified.
You have to set MyApp->config->{parse_on_demand} to use this directly.
- $req->referer
-
Shortcut to $req->headers->referer. Referring page.
- $req->secure
-
Contains a boolean denoting whether the communication is secure.
- $req->snippets
-
Returns a reference to an array containing regex snippets.
my @snippets = @{ $c->request->snippets };
- $req->upload
-
A convenient method to $req->uploads.
$upload = $c->request->upload('field'); @uploads = $c->request->upload('field'); @fields = $c->request->upload; for my $upload ( $c->request->upload('field') ) { print $upload->filename; }
- $req->uploads
-
Returns a reference to a hash containing uploads. Values can be either a hashref or a arrayref containing
Catalyst::Request::Upload
objects.my $upload = $c->request->uploads->{field}; my $upload = $c->request->uploads->{field}->[0];
- $req->uri
-
Returns a URI object for the request.
- $req->user
-
Returns the user.
- $req->user_agent
-
Shortcut to $req->headers->user_agent. User Agent version string.
AUTHOR
Sebastian Riedel, sri@cpan.org
Marcus Ramberg, mramberg@cpan.org
COPYRIGHT
This program is free software, you can redistribute it and/or modify it under the same terms as Perl itself.