On Tue, Jun 01, 2010 at 05:02:08PM +0200, "Plüm, Rüdiger, VF-Group" wrote: > > The guide to writing output filters says: > > > > https://httpd.apache.org/docs/trunk/developer/output-filters.h > > tml#invocation > > > > "An output filter should never pass an empty brigade down the filter > > chain. But, for good defensive programming, filters should be prepared > > to accept an empty brigade, and do nothing." > > IMHO do nothing means the same thing as pass it down the chain. So I think > mod_deflate does the correct thing here.
The wording there is not entirely clear but I think the intent matches the example, as Matthew points out. On the general point, is there a reason to prefer having filters pass down empty brigades rather than ignore them and return success? Other than burning a few cycles, it does seem less safe since a less defensive downstream filter (e.g. the core output filter in this example!) may "do something" given the empty brigade. Maybe we should have a strict API here rather than a loose one: "filters MUST NOT pass an empty brigade down the filter chain." Regards, Joe