Torsten Förtsch wrote:
> Hi,
> 
> I know one can specify the handler invocation order of the request phases. But 
> how to do it?
> 
> My problem is, I want to know if a request came in over http or https in the 
> fixup phase. With mp1 I had configured by the LoadModule order that a 
> mod_perl handler was called after the mod_ssl handler. Since mod_ssl sets up 
> subprocess_env in the fixup phase I could check subprocess_env('HTTPS') in a 
> mod_perl fixup handler.
> 
> How can I define that my mod_perl fixup handler is to be called after the 
> mod_ssl fixup handler?

the only way to do this currently is to alter the mod_perl source.  after
running 'perl Makefile.PL' open modperl_hooks.c and look for this line:

  ap_hook_fixup(modperl_fixup_handler, NULL, NULL, APR_HOOK_REALLY_FIRST);

to get mod_perl to run after mod_ssl, change APR_HOOK_REALLY_FIRST to
APR_HOOK_LAST (since mod_ssl runs fixups as APR_HOOK_MIDDLE).

I started working on a way to dynamically alter module order at config time,
just like you used to do with LoadModule or ClearModuleList/AddModule, but
unfortunately I haven't had the time to follow up on it.  understand,
however, that this isn't a mod_perl specific thing - apache 2.0 has removed
the ability for users to specify the order that modules will run, pending a
core change (which is what I was working on :)

> 
> Or how can I access the SSL related stuff from mod_perl prior to the response 
> phase?

it doesn't look like you can, at least from my glancing over the source.

--Geoff

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html

Reply via email to