summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-07-22 14:51:04 -0500
committerJesse Luehrs <doy@tozt.net>2012-07-22 14:51:04 -0500
commit7b97f1dbd765eb7e2bdcac3dd9db623273e6f45d (patch)
treea762c688658588b3988ee7171d5986a79eccea72 /lib
parentae8b38ecdccef81043f70bfa00dbaa1c664510ad (diff)
downloadweb-request-7b97f1dbd765eb7e2bdcac3dd9db623273e6f45d.tar.gz
web-request-7b97f1dbd765eb7e2bdcac3dd9db623273e6f45d.zip
the parameter keys also need to be decoded
Diffstat (limited to 'lib')
-rw-r--r--lib/Web/Request.pm5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Web/Request.pm b/lib/Web/Request.pm
index e63d245..ecc5e26 100644
--- a/lib/Web/Request.pm
+++ b/lib/Web/Request.pm
@@ -251,7 +251,7 @@ has query_parameters => (
(map { $_ => '' } $self->uri->query_keywords),
);
return {
- map { $_ => $self->decode($params{$_}) } keys %params
+ map { $self->decode($_) } map { $_ => $params{$_} } keys %params
};
},
);
@@ -268,6 +268,7 @@ has all_query_parameters => (
my $ret = {};
while (my ($k, $v) = splice @params, 0, 2) {
+ $k = $self->decode($k);
push @{ $ret->{$k} ||= [] }, $self->decode($v);
}
@@ -288,6 +289,7 @@ has body_parameters => (
my $ret = {};
for my $key (keys %$body) {
my $val = $body->{$key};
+ $key = $self->decode($key);
$ret->{$key} = $self->decode(ref($val) ? $val->[-1] : $val);
}
@@ -308,6 +310,7 @@ has all_body_parameters => (
my $ret = {};
for my $key (keys %$body) {
my $val = $body->{$key};
+ $key = $self->decode($key);
$ret->{$key} = ref($val)
? [ map { $self->decode($_) } @$val ]
: [ $self->decode($val) ];