no objections in principle to your suggested changes. but in practice, I don't see where an
error bucket gets flagged as metadata. seems like they should be.
Greg
----- Original Message ----
From: Ruediger Pluem <rpluem@apache.org>
To: dev@httpd.apache.org
Sent: Saturday, July 7, 2007 4:13:08 PM
Subject: Re: svn commit: r554011 - /httpd/httpd/trunk/modules/filters/mod_deflate.c
> with LimitRequestBody xxx and the deflate output filter configured, mod_deflate
> eats the 413 error bucket, a 500 error is logged, and a blank screen appears
> at the browser.
Two comments:
1. IMHO this does not work well if a proxy backend breaks in the middle of the response and
sends
an error bucket up the chain (ap_proxy_backend_broke). This can lead to a mixture of uncompressed
and compressed content in the response and a correct partial response might be valuable
for
the client in order to continue the connection where it broke with a range request.
2. In principle the inflate output filter suffers from the same problem.
The following patch should address both points. Comments?
Index: modules/filters/mod_deflate.c
===================================================================
--- modules/filters/mod_deflate.c (Revision 554244)
+++ modules/filters/mod_deflate.c (Arbeitskopie)
@@ -579,9 +579,14 @@
continue;
}
- if (AP_BUCKET_IS_ERROR(e)) {
- ap_remove_output_filter(f);
- return ap_pass_brigade(f->next, bb);
+ if (APR_BUCKET_IS_METADATA(e)) {
____________________________________________________________________________________
Yahoo! oneSearch: Finally, mobile search
that gives answers, not web links.
http://mobile.yahoo.com/mobileweb/onesearch?refer=1ONXIC
|