diff options
author | Stefan Eissing <icing@apache.org> | 2022-04-13 09:40:17 +0200 |
---|---|---|
committer | Stefan Eissing <icing@apache.org> | 2022-04-13 09:40:17 +0200 |
commit | fbb84e00fa53ca34b97f9acc4d024e512d4e6f23 (patch) | |
tree | 47249fbbc06ebbf64e767683f870c0d7dd14213f /include/mod_core.h | |
parent | Follow up to r1899777: CHANGES entry [skip ci]. (diff) | |
download | apache2-fbb84e00fa53ca34b97f9acc4d024e512d4e6f23.tar.xz apache2-fbb84e00fa53ca34b97f9acc4d024e512d4e6f23.zip |
Merge PR 311:
*) core/mod_http: use REQUEST meta buckets and a new HTTP/1.x specific
input filter to separate the handling for HTTP requests from the
handling of HTTP/1.x request parsing and checks.
A new HTTP1_REQUEST_IN filter installs itself on http/1.1 connections
before a request is being read. It generates either a REQUEST meta
bucket on success or an ERROR bucket with the proposed response status.
The core connection processing, relying on ap_read_request(), now expects
a REQUEST or ERROR bucket from the input filters and is agnostic to
specific HTTP versions and how they bring requests into the server.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899799 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include/mod_core.h')
-rw-r--r-- | include/mod_core.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/mod_core.h b/include/mod_core.h index 0c795ceeee..f9cc0611f4 100644 --- a/include/mod_core.h +++ b/include/mod_core.h @@ -41,6 +41,7 @@ extern "C" { /* Handles for core filters */ AP_DECLARE_DATA extern ap_filter_rec_t *ap_http_input_filter_handle; +AP_DECLARE_DATA extern ap_filter_rec_t *ap_h1_request_in_filter_handle; AP_DECLARE_DATA extern ap_filter_rec_t *ap_h1_body_in_filter_handle; AP_DECLARE_DATA extern ap_filter_rec_t *ap_http_header_filter_handle; AP_DECLARE_DATA extern ap_filter_rec_t *ap_chunk_filter_handle; @@ -54,6 +55,10 @@ apr_status_t ap_http_filter(ap_filter_t *f, apr_bucket_brigade *b, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes); +apr_status_t ap_h1_request_in_filter(ap_filter_t *f, apr_bucket_brigade *bb, + ap_input_mode_t mode, apr_read_type_e block, + apr_off_t readbytes); + apr_status_t ap_h1_body_in_filter(ap_filter_t *f, apr_bucket_brigade *b, ap_input_mode_t mode, apr_read_type_e block, apr_off_t readbytes); |