summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Web/Request.pm8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/Web/Request.pm b/lib/Web/Request.pm
index e089b31..66c9f80 100644
--- a/lib/Web/Request.pm
+++ b/lib/Web/Request.pm
@@ -210,7 +210,7 @@ has content => (
# XXX get Plack::TempBuffer onto CPAN separately, so that this doesn't
# always have to be sitting in memory
- return $self->_parsed_body->{content};
+ return $self->decode($self->_parsed_body->{content});
},
);
@@ -258,7 +258,7 @@ has body_parameters => (
my $ret = {};
for my $key (keys %$body) {
my $val = $body->{$key};
- $ret->{$key} = ref($val) ? $val->[-1] : $val;
+ $ret->{$key} = $self->decode(ref($val) ? $val->[-1] : $val);
}
return $ret;
@@ -277,7 +277,9 @@ has all_body_parameters => (
my $ret = {};
for my $key (keys %$body) {
my $val = $body->{$key};
- $ret->{$key} = ref($val) ? $val : [ $val ];
+ $ret->{$key} = ref($val)
+ ? [ map { $self->decode($_) } @$val ]
+ : [ $self->decode($val) ];
}
return $ret;