|
Revision 29306, 503 bytes
(checked in by dann, 4 years ago)
|
|
changed implementation based on new HE::Middleware interface
|
| Line | |
|---|
| 1 | package HTTP::Engine::Middleware::Encode; |
|---|
| 2 | use HTTP::Engine::Middleware; |
|---|
| 3 | use Data::Visitor::Encode; |
|---|
| 4 | |
|---|
| 5 | before_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__ |
|---|