FYI: I am busy hacking away at the separation between our HTTP and HTTP/1.x 
handling code. I'll make a PR once all tests have passed, so we can talk about 
the changes. 

The goals are pretty simple:

1. have mod_http focus on HTTP semantics, header checks, ap_die conversions,
   not chunking and CRLFs.
2. have a mod_http1 that installs TRANSCODE filters when the connection is h1.
   those do the chunking and the header serialization.
3. Have interim responses that send META buckets, not DATA to the transcode 
filters.
   No content filter will be confused by those.
4. Pass FOOTERS in/out as META buckets in a similar way.

The main idea is to introduce a META "HEADERS" bucket that is used for
final/interim responses and footers as well. This will safely pass through
all filters that do not know about it. This is similar to the ERROR bucket 
type we already have.

It will eliminate the remaining code duplications in mod_http2, make
it leaner and use the standard HTTP filters just like for HTTP/1.x requests.
Also, h2 will no longer need to parse interim responses back into header tables
or deal with chunked encodings.

Kind Regards,
Stefan

Reply via email to