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