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

Eden Cardim edencardim at gmail.com
Fri Apr 20 11:56:54 GMT 2012

>>>>> "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.

      Eden Cardim         Need help with your Catalyst or DBIx::Class project?
      Code Monkey                 http://www.shadowcat.co.uk/catalyst/
 Shadowcat Systems Ltd.    Want a managed development or deployment platform?
 http://edencardim.com            http://www.shadowcat.co.uk/servers/

More information about the Catalyst mailing list