[Catalyst-dev] [patch] Catalyst::Engine::Apache bug

Andy Grundman andy at hybridized.org
Thu Mar 29 18:35:40 GMT 2007


On Feb 13, 2007, at 11:55 AM, Carl Johnstone wrote:

>
> I've got a problem with $c->req->arguments which I've tracked track  
> to a bug with how the Catalyst::Engine::Apache parses the URL.
>
> Given the URL: /search/foo%2Fbar%20baz/1
>
> The cat-server returns:
>
> $VAR1 = [
>          'search',
>          'foo/bar baz',
>          '1'
>        ];
>
> Whereas through Apache I get:
>
> $VAR1 = [
>          'search',
>          'foo',
>          'bar baz',
>          '1'
>        ];
>
>
> This is because Catalyst::Engine::Apache is called apache->uri  
> which has already unescaped the URL. Using apache->unparsed_uri and  
> splitting off the query_string portion means that I get the same  
> result through Apache as through the cat-server. I've attached my  
> change as a patch.

Hi,

I'm sorry I didn't get to this before now.  I've checked in support  
for using unparsed_uri.  Since this is a mod_perl2-only method, for  
mod_perl1 support I've pulled the same info out using $self->apache- 
 >the_request.

http://dev.catalyst.perl.org/changeset/6238

-Andy




More information about the Catalyst-dev mailing list