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.

