> > stack in ap_read_request() (and remove once we've parsed the > > request header): let this filter do the scanning for the various > > forms of HTTP header, remove the header from the brigade, and > > leave the rest of the brigade for subsequent input filters to > > handle. > > It'd have to be a connection-level filter to ensure that we don't > lose pipelined-requests since we read too much. But, since we are > a connection-level filter, that means you don't have access to > the request. So, you'd have to split it out into two filters: > > - One connection-level filter that will split on a CRLFCRLF and > stash the rest away for the next read on this connection. > - One request-level filter that will expect a CRLFCRLF-segmented > brigade and process the headers and then get out of the way.
Connection level filters do have access to the request. I don't understand why you don't think they do. Ryan