*) mod_proxy_http2: apply the standard httpd content type handling
to responses from the backend, as other proxy modules do. Fixes PR 66391.
Thanks to Jérôme Billiras for providing the patch.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@
1906476 13f79535-47bb-0310-9956-
ffa450edef68
--- /dev/null
+ *) mod_proxy_http2: apply the standard httpd content type handling
+ to responses from the backend, as other proxy modules do. Fixes PR 66391.
+ Thanks to Jérôme Billiras for providing the patch.
+ [Stefan Eissing]
\ No newline at end of file
h2_proxy_session *session = stream->session;
request_rec *r = stream->r;
apr_pool_t *p = r->pool;
+ const char *buf;
/* Now, add in the cookies from the response to the ones already saved */
apr_table_do(add_header, stream->saves, r->headers_out, "Set-Cookie", NULL);
apr_table_unset(r->headers_out, "Set-Cookie");
r->headers_out = apr_table_overlay(p, r->headers_out, stream->saves);
}
+
+ if ((buf = apr_table_get(r->headers_out, "Content-Type"))) {
+ ap_set_content_type(r, apr_pstrdup(p, buf));
+ }
/* handle Via header in response */
if (session->conf->viaopt != via_off
r = env.curl_get(url, 5)
assert r.response["status"] == 200
assert r.json["h2_stream_id"] == "1"
- # httpd 2.5.0 disables reuse, not matter the config
- if enable_reuse == "on" and not env.httpd_is_at_least("2.5.0"):
+ if enable_reuse == "on":
# reuse is not guarantueed for each request, but we expect some
# to do it and run on a h2 stream id > 1
reused = False
url = env.mkurl("https", "cgi", f"/h2proxy/{env.http_port2}/hello.py")
r = env.curl_get(url, 5)
assert r.response["status"] == 200
- exp_port = env.http_port if enable_reuse == "on" \
- and not env.httpd_is_at_least("2.5.0")\
- else env.http_port2
+ exp_port = env.http_port if enable_reuse == "on" else env.http_port2
assert int(r.json["port"]) == exp_port
# lets do some error tests