Hi.
Still around a new perl AAA module I'm writing, a question :
If I have a Location like so :
<Location /some/url>
SetHandler jakarta-servlet
SetEnvIf REQUEST_URI "\.(htm|web|css|gif|jpg|js|html?)$" no-jk
PerlXXXHandler My::Module->some_method
...
</Location>
("jakarta-servlet" above means mod_jk --> Tomcat)
(and PerlXXXHandler being any kind of Perl HTTP Handler running soon enough)
The Question :
Is it possible, in the PerlXXXHandler, on a request-by-request base, to
"disable" the jakarta-servlet handler, and install the following instead
SetHandler modperl
PerlResponseHandler My::Module->some_other_method
?
I know that I can do something like the above for regular static pages,
and I use this already :
$r->handler('modperl');
$r->set_handlers(PerlAuthzHandler => []); # stop authorization from
running
$r->set_handlers(PerlResponseHandler => \&_send_login_form);
However, when I try to do the same in a Location like the above, it
seems that the jakarta-servlet handler runs anyway, and my
PerlResponseHandler is never called.
The reason I want to do it that way, is that it allows me, in the
substituted PerlResponseHandler, to do some stuff to the login page that
I send, which would be more complicated to do via a simple redirect.
Or ?
(One thing I have not tried (nor researched) e.g., is to see if I can
install both modperl and the jakarta-servlet as handlers, and disable
the modperl handler if the condition is /not/ met.)
Thanks