root/lang/perl/HTTP-Engine-Middleware/branches/declare/lib/HTTP/Engine/Middleware/Encode.pm @ 29306

Revision 29306, 503 bytes (checked in by dann, 4 years ago)

changed implementation based on new HE::Middleware interface

Line 
1package HTTP::Engine::Middleware::Encode;
2use HTTP::Engine::Middleware;
3use Data::Visitor::Encode;
4
5before_handle {
6    my ( $c, $self, $req ) = @_;
7
8    if (( $req->headers->header('Content-Type') || '' ) =~ /charset=(.+);?$/ )
9    {
10
11        # decode parameters
12        my $encoding = $1;
13        for my $method (qw/params query_params body_params/) {
14            $req->$method(
15                Data::Visitor::Encode->decode( $encoding, $req->$method ) );
16        }
17    }
18    $req;
19};
20
21__MIDDLEWARE__
Note: See TracBrowser for help on using the browser.