Commit 8a3123d0 authored by Stefan Eissing's avatar Stefan Eissing
Browse files

mod_http v1.0.11, fixes duplicate response headers when post_req_hook gets invoked twice

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1718341 13f79535-47bb-0310-9956-ffa450edef68
parent 6717de5c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -663,18 +663,20 @@ static int h2_h2_post_read_req(request_rec *r)
    h2_ctx *ctx = h2_ctx_rget(r);
    struct h2_task *task = h2_ctx_get_task(ctx);
    if (task) {
        /* FIXME: sometimes, this hook gets called twice for a single request.
         * This should not be, right? */
        /* h2_task connection for a stream, not for h2c */
        ap_log_rerror(APLOG_MARK, APLOG_TRACE3, 0, r,
                      "adding h1_to_h2_resp output filter");
        if (task->serialize_headers) {
/*            ap_remove_output_filter_byhandle(r->output_filters, "H1_TO_H2_RESP");*/
            ap_remove_output_filter_byhandle(r->output_filters, "H1_TO_H2_RESP");
            ap_add_output_filter("H1_TO_H2_RESP", task, r, r->connection);
        }
        else {
            /* replace the core http filter that formats response headers
             * in HTTP/1 with our own that collects status and headers */
            ap_remove_output_filter_byhandle(r->output_filters, "HTTP_HEADER");
/*            ap_remove_output_filter_byhandle(r->output_filters, "H2_RESPONSE");*/
            ap_remove_output_filter_byhandle(r->output_filters, "H2_RESPONSE");
            ap_add_output_filter("H2_RESPONSE", task, r, r->connection);
        }
        ap_add_output_filter("H2_TRAILERS", task, r, r->connection);
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
 * @macro
 * Version number of the h2 module as c string
 */
#define MOD_HTTP2_VERSION "1.0.11-DEV"
#define MOD_HTTP2_VERSION "1.0.11"

/**
 * @macro