"J. Horner" wrote:
> "It is called once per transaction and is intended to allow modules to
> step in and perform special processing on the incoming data", which is
> what I want, but it goes on to say, "However, because there's no way for
> modules to step in and actually contribute to the parsing of the HTTP
> header, this phase is more often used just as a convenient place to do
> processing that must occur once per transaction."
>
> Is this last sentence not the negation that I read it to be? It seems to
> me that it is telling me that I really can't write a handler to actually
> do something useful on the incoming request header.
The key phrase there is "contribute to the parsing of the HTTP header".
You can manipulate the header after it's parsed (with stuff like
$r->headers_in), you just can't take over Apache's built in parsing of
the raw header data into the request record.
Since you're not actually taking over the business of translating the
URI into a filename, it really doesn't matter if you install your
handler as a PostReadRequestHandler or a TransHandler - you just want to
step in and take action before the request gets too far along. It won't
_interfere_ with the translation phase as long as you make sure to
return DECLINED instead of OK so that other configured handlers (or the
defaults) can run.
--
Kevin | "It's Supposed To Be Automatic, But
Murphy | Actually You Have to Push This Button"
| - John Brunner, "Stand on Zanzibar"