[Catalyst] How to access $c->apache in 5.9?

Tomas Doran bobtfish at bobtfish.net
Fri Apr 20 12:55:49 GMT 2012


On 20 Apr 2012, at 12:56, Eden Cardim wrote:

>>>>>> "Hailin" == Hailin Hu <i at h2l.name> writes:
>    Hailin> Finally, something like below works for me.
> 
>    Hailin> my $apache = $c->engine->env->{'psgi.input'}; #
>    Hailin> Apache2::RequestRec $apache->user( $username );
> 
>    Hailin> I supposed that an accessor of apache should be a method instead
>    Hailin> of a key of hash.  Is this the right way to retrieve the
>    Hailin> apache/mod_perl object?
> 
> No it's not, this ties your application to a specific backend server
> implementation (which is what caused your problem in the first
> place). Whenever you need to access $c->engine->env, you should be applying a
> Plack::Middleware to your .psgi instead.

For this specific thing, there is already $c->req->remote_user, which should get this - no?

https://metacpan.org/module/Catalyst::Request#req-remote_user
http://search.cpan.org/~bobtfish/Catalyst-Plugin-Authentication-0.10018/lib/Catalyst/Authentication/Credential/Remote.pm

Cheers
t0m




More information about the Catalyst mailing list