summaryrefslogtreecommitdiffstats
path: root/include/mod_core.h
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2022-04-13 09:40:17 +0200
committerStefan Eissing <icing@apache.org>2022-04-13 09:40:17 +0200
commitfbb84e00fa53ca34b97f9acc4d024e512d4e6f23 (patch)
tree47249fbbc06ebbf64e767683f870c0d7dd14213f /include/mod_core.h
parentFollow up to r1899777: CHANGES entry [skip ci]. (diff)
downloadapache2-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.h5
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);