NAME

Catalyst::Request - Catalyst Request Class

SYNOPSIS

$req = $c->request;
$req->action;
$req->address;
$req->args;
$req->arguments;
$req->base;
$req->content_encoding;
$req->content_length;
$req->content_type;
$req->cookies;
$req->header;
$req->headers;
$req->hostname;
$req->match;
$req->method;
$req->param;
$req->params;
$req->parameters;
$req->path;
$req->referer;
$req->snippets;
$req->upload;
$req->uploads;
$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];
$req->base

Contains the url base. This will always have a trailing slash.

$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

$req->cookies

Returns a reference to a hash containing the cookies.

print $c->request->cookies->{mycookie}->value;
$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

Contains the hostname of the remote user.

print $c->request->hostname
$req->match

This contains be 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 like param method.

$value  = $c->request->param('foo');
@values = $c->request->param('foo');
@params = $c->request->param;
$req->params

Shortcut for $req->parameters.

$req->parameters

Returns a reference to a hash containing parameters. Values can be either a scalar or a arrayref containing scalars.

print $c->request->parameters->{field};
print $c->request->parameters->{field}->[0];
$req->path

Contains the path.

print $c->request->path;
$req->referer

Shortcut to $req->headers->referer. Referring page.

$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->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.