summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorStefan Eissing <icing@apache.org>2022-04-07 10:41:46 +0000
committerStefan Eissing <icing@apache.org>2022-04-07 10:41:46 +0000
commit0296d7dfeaf1d354b4df7c0c36fc690b8c51c4b4 (patch)
treedfd5ed3ac7b3c5fee09043f89f6f174aa9fdd458 /include
parenta4ea0e7799cc1bb63e5406cd427f09d668cedfae (diff)
downloadhttpd-0296d7dfeaf1d354b4df7c0c36fc690b8c51c4b4.tar.gz
*) core/mod_http: use RESPONSE meta buckets and a new HTTP/1.x specific
filter to send responses through the output filter chain. Specifically: the HTTP_HEADER output filter and ap_send_interim_response() create a RESPONSE bucket and no longer are concerned with HTTP/1.x serialization. A new HTTP1_RESPONSE_OUT transcode filter writes the proper HTTP/1.x bytes when dealing with a RESPONSE bucket. That filter installs itself on the pre_read_request hook when the connection has protocol 'http/1.1'. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899648 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'include')
-rw-r--r--include/mod_core.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/mod_core.h b/include/mod_core.h
index 4897fee6f5..0c795ceeee 100644
--- a/include/mod_core.h
+++ b/include/mod_core.h
@@ -31,6 +31,7 @@
#include "apr_buckets.h"
#include "httpd.h"
+#include "http_protocol.h"
#include "util_filter.h"
@@ -57,6 +58,9 @@ 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);
+/* HTTP/1.1 response formatting filter. */
+apr_status_t ap_h1_response_out_filter(ap_filter_t *f, apr_bucket_brigade *b);
+
/* HTTP/1.1 chunked transfer encoding filter. */
apr_status_t ap_http_chunk_filter(ap_filter_t *f, apr_bucket_brigade *b);
@@ -100,6 +104,14 @@ AP_CORE_DECLARE(void) ap_init_rng(apr_pool_t *p);
/* Update RNG state in parent after fork */
AP_CORE_DECLARE(void) ap_random_parent_after_fork(void);
+/**
+ * Set the keepalive status for this request based on the response
+ * @param r The current request
+ * @param resp The response being send
+ * @return 1 if keepalive can be set, 0 otherwise
+ */
+AP_CORE_DECLARE(int) ap_h1_set_keepalive(request_rec *r, ap_bucket_response *resp);
+
#ifdef __cplusplus
}
#endif