You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by gr...@apache.org on 2007/07/13 17:11:16 UTC
svn commit: r556028 - /httpd/httpd/trunk/modules/filters/mod_deflate.c
Author: gregames
Date: Fri Jul 13 08:11:16 2007
New Revision: 556028
URL: http://svn.apache.org/viewvc?view=rev&rev=556028
Log:
* generalize from error buckets to metadata buckets
* also applicable to the deflate input filter
* pass along metadata buckets rather than giving up mid-stream
vastly improved by: Rüdiger Plüm
Modified:
httpd/httpd/trunk/modules/filters/mod_deflate.c
Modified: httpd/httpd/trunk/modules/filters/mod_deflate.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_deflate.c?view=diff&rev=556028&r1=556027&r2=556028
==============================================================================
--- httpd/httpd/trunk/modules/filters/mod_deflate.c (original)
+++ httpd/httpd/trunk/modules/filters/mod_deflate.c Fri Jul 13 08:11:16 2007
@@ -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)) {
+ /*
+ * Remove meta data bucket from old brigade and insert into the
+ * new.
+ */
+ APR_BUCKET_REMOVE(e);
+ APR_BRIGADE_INSERT_TAIL(ctx->bb, e);
+ continue;
}
/* read */
@@ -1084,6 +1089,16 @@
if (rv != APR_SUCCESS) {
return rv;
}
+ continue;
+ }
+
+ if (APR_BUCKET_IS_METADATA(e)) {
+ /*
+ * Remove meta data bucket from old brigade and insert into the
+ * new.
+ */
+ APR_BUCKET_REMOVE(e);
+ APR_BRIGADE_INSERT_TAIL(ctx->bb, e);
continue;
}