The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Catalyst::Request - Catalyst Request Class

SYNOPSIS

    $req = $c->request;
    $req->action;
    $req->address;
    $req->args;
    $req->arguments;
    $req->base;
    $req->body;
    $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->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];
$req->base

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

$req->body

Contains the message body of the request unless Content-Type is application/x-www-form-urlencoded or multipart/form-data.

    print $c->request->body
$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->cookie

A convenient method to $req->cookies.

    $cookie  = $c->request->cookie('name');
    @cookies = $c->request->cookie;
$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

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;
$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];
$req->path

Contains the path.

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

Contains the protocol.

$req->referer

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

$req->secure

Contains a boolean whether the communciation 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

Shortcut for $req->base . $req->path.

$req->user

Contains the user name of user if authentication check was successful.

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