From: Tobias Klug Date: Fri, 23 Dec 2016 09:43:27 +0000 (+0100) Subject: fixes debug output of body and query parameters with multiple values X-Git-Tag: 5.90115~5^2^2 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=commitdiff_plain;h=22e4231076a7be928a8889ca52eae42bd4b4cd57 fixes debug output of body and query parameters with multiple values when use_hash_multivalue_in_request is used. --- diff --git a/lib/Catalyst.pm b/lib/Catalyst.pm index 178d502..898ad60 100644 --- a/lib/Catalyst.pm +++ b/lib/Catalyst.pm @@ -2741,9 +2741,16 @@ sub log_request_parameters { next if ! keys %$params; my $t = Text::SimpleTable->new( [ 35, 'Parameter' ], [ $column_width, 'Value' ] ); for my $key ( sort keys %$params ) { - my $param = $params->{$key}; - my $value = defined($param) ? $param : ''; - $t->row( $key, ref $value eq 'ARRAY' ? ( join ', ', @$value ) : $value ); + my @values = (); + if(ref $params eq 'Hash::MultiValue') { + @values = $params->get_all($key); + } else { + my $param = $params->{$key}; + if( defined($param) ) { + @values = ref $param eq 'ARRAY' ? @$param : $param; + } + } + $t->row( $key.( scalar @values > 1 ? ' [multiple]' : ''), join(', ', @values) ); } $c->log->debug( ucfirst($type) . " Parameters are:\n" . $t->draw ); }