On Apr 22, 2010, at 8:40 PM, Mark Nottingham wrote:
> I couldn't find any obvious way to set HTTP trailers in Apache 2.x without 
> taking over all response processing (a la nph).
> 
> Did I miss something?


I started hacking on this at work, but got the point where I can't insert a 
filter in the right spot.

The problem I ran into is that if the Content-Length header is set (which 
ap_content_length_filter_handle sets), then the chunking filter doesn't kick 
in.  Something about wanting to use sendfile so don't chunk.

I can't get a filter inserted after ap_content_length_filter_handle, but before 
ap_http_header_filter (which adds the chunking filter).

My plan was to insert a filter that removes the Content-Length header so the 
response will be chunked and add another filter after the chunking filter that 
would search for ASCII_ZERO ASCII_CRLF ASCII_CRLF and insert the trailer data 
before the last ASCII_CRLF.  This was just a proof of concept to see if it 
would work and output data in the right format.

If it all worked my plan was add a trailers hook and call the hook in 
chunk_filter.c in place of the /* <trailers> */ comment.

Brian

After typing this up and working through it again, I think I can add a filter 
AP_FTYPE_TRANSCODE+1 for the after chunking filter and AP_FTYPE_PROTOCOL+1 and 
get them to be in the right order.  Will test that out now.

Reply via email to