You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@httpd.apache.org by GitBox <gi...@apache.org> on 2022/03/28 11:35:19 UTC

[GitHub] [httpd] ylavic commented on a change in pull request #291: Icing/http1 separation

ylavic commented on a change in pull request #291:
URL: https://github.com/apache/httpd/pull/291#discussion_r836330804



##########
File path: server/protocol.c
##########
@@ -1477,9 +1306,62 @@ request_rec *ap_read_request(conn_rec *conn)
 
     ap_run_pre_read_request(r, conn);
 
-    /* Get the request... */
-    if (!read_request_line(r, tmp_bb) || !ap_parse_request_line(r)) {
+    r->request_time = apr_time_now();
+    rv = ap_get_brigade(r->proto_input_filters, tmp_bb, AP_MODE_READBYTES, APR_BLOCK_READ, 0);

Review comment:
       IIUC, before we had proto_input_filters that were called by read_request_line() and ap_get_mime_headers_core() for each line with AP_MODE_GETLINE, while now those filters will be called once with AP_MODE_READBYTES (of zero bytes) and will get a REQUEST meta bucket from downstream/TRANSCODE filters.
   
   I wonder how much this can break existing protocol input filters, those that still want to do something on a per header basis will now have to work/iterate on ((ap_bucket_request *)b->data)->headers_in at AP_FTYPE_PROTOCOL level still or register at AP_FTYPE_TRANSCODE + something.
   
   Can't we leave http1_request_in_filter() as AP_FTYPE_PROTOCOL (like h2_c2_filter_request_in() is, it seems)?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@httpd.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@httpd.apache.org
For additional commands, e-mail: notifications-help@httpd.apache.org