httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Graham Leggett <minf...@sharp.fm>
Subject Re: HTTP_HEADER filter not getting added until 'insert filters'phase
Date Mon, 28 May 2001 23:10:17 GMT
sterling wrote:

> What do you mean by HEADERS phase?  I guess I don't know enough about the
> ordering requirements of the filters.

The AP_FTYPE_HTTP_HEADERS phase (sorry - I shortened it).

> What i did to temporarily fix the problem in my tree was add the
> add_output_filter("HTTP_HEADER"...) et. al. to the end of ap_die - this
> way, even if the request dies before the insert_filters phase we can be
> certain the headers filter is added.
> 
> that seems kinda kludgy though....

Hmmm - maybe not... If ap_die() is called, it is quite logical that the
filters stack might be incompletely formed for whatever reason. It would
be reasonable to suggest that ap_die() might fashion things to work just
enough to get things done (by adding the filters there), ie to send the
headers.

We only need to make sure that the filters are not already there should
ap_die() be called, otherwise they will be added twice. Inside the http
module there is a routine called reset_filters() in http_protocol.c that
removes all filters except CORE, CONTENT_LENGTH and HTTP_HEADER. An idea
could be to add the filters, then run reset_filters() to make sure they
only appeared once. (I have a feeling BYTE_RANGE has been fogotten).

Regards,
Graham
-- 
-----------------------------------------
minfrin@sharp.fm		"There's a moon
					over Bourbon Street
						tonight..."
Mime
View raw message