support hashref for params in uri_for
[catagits/Catalyst-Runtime.git] / lib / Catalyst.pm
index 25b2c7a..d93707f 100644 (file)
@@ -717,12 +717,15 @@ sub uri_for {
     $namespace = '' if $path =~ /^\//;
     $path =~ s/^\///;
 
+    my $params = (scalar @args && ref $args[$#args] eq 'HASH' ? pop @args : {});
+
     # join args with '/', or a blank string
     my $args = ( scalar @args ? '/' . join( '/', @args ) : '' );
     $args =~ s/^\/// unless $path;
     my $res =
       URI->new_abs( URI->new_abs( "$path$args", "$basepath$namespace" ), $base )
       ->canonical;
+    $res->query_form(%$params);
     $res;
 }