fix parameters
[catagits/Catalyst-Runtime.git] / lib / Catalyst / Engine / CGI.pm
index 936a38c..84fadd9 100644 (file)
@@ -116,11 +116,22 @@ sub prepare_headers {
 
 sub prepare_parameters {
     my $c = shift;
+    
+    my ( @params );
 
-    for my $param ( $c->cgi->param ) {
-        my @values = $c->cgi->param($param);
-        $c->req->parameters->{$param} = ( @values > 1 ) ? \@values : $values[0];
+    for my $param ( $c->cgi->param ) { 
+        for my $value (  $c->cgi->param($param) ) {
+            push ( @params, $param, $value );
+        }
     }
+    
+    for my $param ( $c->cgi->url_param ) { 
+        for my $value (  $c->cgi->url_param($param) ) {
+            push ( @params, $param, $value );
+        }
+    }
+    
+    $c->req->_assign_values( $c->req->parameters, \@params );
 }
 
 =item $c->prepare_path