perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From André Warnier>
Subject PerlResponseHandler + mod_jk
Date Mon, 24 Sep 2007 14:03:15 GMT
Context : Apache2, mod_perl2, Tomcat, mod_jk1.2

In an Apache2/Tomcat5 setup, I have the following configuration directives :

<IfModule mod_jk.c>
   # - URI's corresponding to calls to the X servlet are redirected to 
tomcat via the mod_jk module
	JkMount /xyz ajp13
	JkMount /xyz/* ajp13

But, I would like some of the above URL request to be pre-processed by a 
mod_perl handler, like

<Location /xyz>
   SetHandler perl-script
   PerlResponseHandler My::module
   PerlSetVar anyvar "anyvalue"

My::module would do something (or not) to the request, then it should 
let the (possibly modified) request go through, so that the mod_jk 
module can intercept it and re-direct it to Tomcat.

The problem is that I can *either* have one or the other configuration 
snippet above, but if I try both, then the request is always 
"short-circuited" by the mod_jk module (and re-directed to Tomcat), and 
the mod_perl handler is never executed.  Or vice-versa I think, 
depending on which comes last.

I have found one solution, which is to install the mod_perl handler as a 
PerlAccessHandler, as such :

<Location /xyz>
   PerlAccessHandler My::module
   PerlSetVar anyvar "anyvalue"

In this way, the mod_perl handler is executed in an earlier Apache phase 
than the mod_jk intercept.  It works fine, but since the function of the 
module has basically not much to do with Access Control, I wonder if 
there is not a  more elegant way to do this.

I guess it boils donw to the following more generic question :
Assuming that the Apache configuration would already specify some 
(non-perl) handlers for some Location, Directory or whatever, is there a 
way to "insert" mod_perl handlers in the chain, without overriding the 
other handlers ?
And if yes, what does the mod_perl handler need to return to insure that 
the other handlers run also (OK, DECLINED,..) ?

Anyone has an idea ?

Thanks in advance

View raw message