Tomas Doran > Catalyst-Plugin-Unicode-Encoding > Catalyst::Plugin::Unicode::Encoding

Download:
Catalyst-Plugin-Unicode-Encoding-1.9.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  3
Open  2
View/Report Bugs
Module Version: 1.9   Source  

NAME ^

Catalyst::Plugin::Unicode::Encoding - Unicode aware Catalyst

SYNOPSIS ^

    use Catalyst qw[Unicode::Encoding];

    MyApp->config( encoding => 'UTF-8' ); # A valid Encode encoding

DESCRIPTION ^

On request, decodes all params from encoding into a sequence of logical characters. On response, encodes body into encoding.

METHODS ^

encoding

Returns an instance of an Encode encoding

    print $c->encoding->name

OVERLOADED METHODS ^

finalize_headers

Encodes body into encoding.

prepare_uploads

Decodes parameters, query_parameters, body_parameters and filenames in file uploads into a sequence of logical characters.

prepare_action

Decodes request arguments (i.e. $c->request->arguments) and captures (i.e. $c->request->captures).

setup

Setups $c->encoding with encoding specified in $c->config->{encoding}.

handle_unicode_encoding_exception ($exception_context)

Method called when decoding process for a request fails.

An $exception_context hashref is provided to allow you to override the behaviour of your application when given data with incorrect encodings.

The default method throws exceptions in the case of invalid request parameters (resulting in a 500 error), but ignores errors in upload filenames.

The keys passed in the $exception_context hash are:

param_value

The value which was not able to be decoded.

error_msg

The exception recieved from Encode.

encoding_step

What type of data was being decoded. Valid values are (currently) params - for request parameters / arguments / captures and uploads - for request upload filenames.

SEE ALSO ^

Encode, Encode::Encoding, Catalyst::Plugin::Unicode, Catalyst.

AUTHORS ^

Christian Hansen, ch@ngmedia.com

Masahiro Chiba

Tomas Doran, bobtfish@bobtfish.net

LICENSE ^

This library is free software . You can redistribute it and/or modify it under the same terms as perl itself.

syntax highlighting: