Bill Stoddard wrote:
Brian Pane wrote:

Bill Stoddard wrote:

Just a heads up in case anyone else is interested or is comtemplating working on
this...

I am rewriting much of the code called by ap_read_request to handle HTTP
headers. Much of the function in rgetline_core, read_request_headers and
get_mime_headers_core is being reimplemented
Another update.. finding a bit of time to work on this. My latest efforts are focused on reimplementing ap_http_filter in http_protocol.c. I am modifying the ap_http_filter as follows:

1. Installing this filter for the duration of a connection. It is still a protocol filter, but it lasts for the duration of the connection. In order to handle pipelined connections, an http_header parsing filter must have the smarts to identify the boundary between pipelined requests. ap_header_filter has the smarts, so it made sense to draft it for parsing http headers rather than attempting to recreate all the logic in a standalone http header parsing filter.

2. ap_http_filter will be 100% state driven

3. It will have the ability to setaside brigades on request boundaries and maintain the setaside brigade in the filter context (hung off the connection pool)

My initial implementation of a standalone http header parsing filter trimmed about 2600 instructions from an http transaction. Consolidating the header parsing function into ap_http_filter should save a few more instructions as it is installed once per connection rather than per request.

No promises on when I will have something reviewable...

Bill


Reply via email to