deprecate Catalyst::Base (left for compability reasons)
[catagits/Catalyst-Runtime.git] / lib / Catalyst.pm
index 367b742..8028afa 100644 (file)
@@ -920,6 +920,7 @@ sub uri_for {
     $path ||= '';
     $namespace = '' if $path =~ /^\//;
     $path =~ s/^\///;
+    $path =~ s/\?/%3F/g;
 
     my $params =
       ( scalar @args && ref $args[$#args] eq 'HASH' ? pop @args : {} );
@@ -933,7 +934,7 @@ sub uri_for {
     };
     
     # join args with '/', or a blank string
-    my $args = ( scalar @args ? '/' . join( '/', @args ) : '' );
+    my $args = ( scalar @args ? '/' . join( '/', map {s/\?/%3F/g; $_} @args ) : '' );
     $args =~ s/^\/// unless $path;
     my $res =
       URI->new_abs( URI->new_abs( "$path$args", "$basepath$namespace" ), $base )