On Mar 31, 2004, at 10:04 AM, Stas Bekman wrote:


John D.Lima wrote:
I have a proxy running with mod_proxy with a request output filter for examining
the (remote) server response. Under certain conditions I want to add additional
html to the server's error response, or replace a (possibly non-error) response
with a dynamic error document of my construction, changed status included.
It'd be great if I could grab the filter's request and let
$r->custom_response() do what I want, possibly adding an EOS bucket to
the filter stream before passing the brigade on at the end of the filter handler.
This seems related to a someone's previous thread titled,
"[mp2] $r->status does not accept a valid parameter" where the issue was
how to change the $r->status, apparently in the response phase. But I'm past
that, in the (request) output filter.

i.e. you want to be able to change the response headers in addition to the response body. in which case you must use a connection output filter.

Well, sure, when you put it that way ;)


I was rather hoping to avoid setting up the logic to examine bucket contents.
Reading between the line [sic] I guess the answer is no, $r->custom_response
doesn't work in the request output filter?


Does the connection filter give me access to the $r->headers_out() as well?
In my case, I'm reporting (to the client) an error page when the server fails
to set a particular HTTP response header. I want to do something with that
header value, possibly sending an error page on to the client. With the request
filter, I just $xyz = $f->r->headers_out{'XYZ'} and go on.


Seems you have an excellent example for this in your recent -FixupHeaders package
and other tuts. I'll forge ahead with using the bucket code.


Cheers,
-jd.


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