$c->req->base with mod_proxy_fcgi? ( was: RE: [Catalyst] $C -> uri_for containing current path in catalyst 5.90010 )

stevep at majestic12.co.uk stevep at majestic12.co.uk
Fri Mar 9 19:21:08 GMT 2012


Hi David,

Thanks for testing that.

I have retested, using the code you provided in a fresh controller, and the problem persists. We suspect it may have something to do with the deployment rather than just catalyst, however - as this is the first time the application has been deployed on mod_proxy_fcgi I suspect it may be a deployment configuration, rather than core issue.

I notice that $c ->req -> base on 5.90010 returns the full URL requested, rather than just "scheme://domain:port/".

I noticed on the docs page for mod_proxy_fcgi, some references to PATH_INFO - http://httpd.apache.org/docs/2.4/mod/mod_proxy_fcgi.htm - thus re-enforcing my suspicions of a config issue. Given the lack of relevant documentation I could find wrt catalyst with mod_proxy_fcgi we may just slip back to our previous deployment configuration and see if that resolves the issue.

Steve

-----Original Message-----
From: David Schmidt [mailto:davewood at gmx.at] 
Sent: 08 March 2012 19:50
To: The elegant MVC web framework
Subject: Re: [Catalyst] $C -> uri_for containing current path in catalyst 5.90010

forgot to include my catalyst version

[info] Foo powered by Catalyst 5.90010

On 8 March 2012 20:49, David Schmidt <davewood at gmx.at> wrote:
> I tested your code
>
> sub exampleRedirect :Path(/oldPath) Args(0) {
>    my ( $self, $c ) = @_;
>    my %data = %{ $c->req->params };
>    my $url =  $c->uri_for( $self->action_for('newSub'), \%data );
>    $c->response->redirect( $url , 301 );
>    $c->log->debug('########: ' . $url); }
>
> sub newSub :Path(/this/someOtherPath) Args(0) {}
>
>
> [debug] Redirecting to "http://myapp.at:3000/this/someOtherPath?cheese=nice"
>
>
>
> On 8 March 2012 20:05,  <stevep at majestic12.co.uk> wrote:
>> Hi.
>>
>>
>>
>> We were trying to use catalyst 5.90010 to run a webapp, and almost 
>> everything is totally lovely, apart from a few redirects.
>>
>>
>>
>> In version 5.90006 it all seems to be working well.
>>
>>
>>
>> The rewrite is along the lines of:
>>
>>
>>
>> sub exampleRedirect :Path( "/oldPath" ) Args(0)
>>
>> {
>>
>>     my ( $self, $c ) = @_;
>>
>>     my %data = %{ $c -> req -> params };
>>
>>     # … actions on %data removed
>>
>>     my $url =  $c -> uri_for( $c -> controller('This') -> 
>> action_for('newSub'), \%data );
>>
>>     $c -> response -> redirect( $url , 301 ) ;
>>
>> }
>>
>>
>>
>> sub newSub :Path(“/this/someOtherPath”) Args(0)
>>
>> {
>>
>>>>
>> }
>>
>>
>>
>> When the server is called, on 5.90006, for 
>> http://somedomain/oldPath?cheese=nice, $url becomes 
>> http://somedomain/this/someOtherPath?cheese=nice
>>
>>
>>
>> On 5.9.0010, the same url becomes
>> http://somedomain/oldPath/this/someOtherPath?cheese=nice
>>
>>
>>
>> Obviously checked http headers and output $url above.
>>
>>
>>
>> Can anyone shed some light on this? It’s probably something stupid 
>> I’ve done, as I cannot find much in google.
>>
>>
>>
>> Steve
>>
>>
>>
>>
>> _______________________________________________
>> List: Catalyst at lists.scsys.co.uk
>> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
>> Searchable archive: 
>> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
>> Dev site: http://dev.catalyst.perl.org/
>>

_______________________________________________
List: Catalyst at lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/






More information about the Catalyst mailing list