From: Eric Covener Date: Fri, 28 Feb 2020 13:02:05 +0000 (+0000) Subject: PR64140: Allow %{Content-Type} in health check expressions X-Git-Tag: 2.5.0-alpha2-ci-test-only~1608 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6d43562a4a2d6f95f1a1e11b0c550624946be762;p=thirdparty%2Fapache%2Fhttpd.git PR64140: Allow %{Content-Type} in health check expressions Submitted By: Renier Velazco Commited By: covener Github: closes #97 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1874616 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index ee8150654e3..ca9e13066da 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,9 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.1 + *) mod_proxy_hcheck: Allow healthcheck expressions to use %{Content-Type}. + PR64140. [Renier Velazco ] + *) mod_ssl: Fix memory leak of OCSP stapling response. [Yann Ylavic] *) mod_authz_groupfile: Drop AH01666 from loglevel "error" to "info". diff --git a/modules/proxy/mod_proxy_hcheck.c b/modules/proxy/mod_proxy_hcheck.c index 1307d5ae2b5..9854e348a53 100644 --- a/modules/proxy/mod_proxy_hcheck.c +++ b/modules/proxy/mod_proxy_hcheck.c @@ -644,6 +644,7 @@ static int hc_read_headers(request_rec *r) { char buffer[HUGE_STRING_LEN]; int len; + const char *ct; len = ap_getline(buffer, sizeof(buffer), r, 1); if (len <= 0) { @@ -678,6 +679,7 @@ static int hc_read_headers(request_rec *r) } else { return !OK; } + /* OK, 1st line is OK... scarf in the headers */ while ((len = ap_getline(buffer, sizeof(buffer), r, 1)) > 0) { char *value, *end; @@ -694,6 +696,11 @@ static int hc_read_headers(request_rec *r) *end = '\0'; apr_table_add(r->headers_out, buffer, value); } + + /* Set the Content-Type for the request if set */ + if ((ct = apr_table_get(r->headers_out, "Content-Type")) != NULL) + ap_set_content_type(r, ct); + return OK; }