Repository: trafficserver Updated Branches: refs/heads/6.0.x 95da6bc6d -> d48294335
TS-3954: Latency with SPDY/HTTP/2 when chunking disabled (not default setting) (cherry picked from commit 4eb2563cc8021d5a4d2034ce905c494044b01f65) Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/d4829433 Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/d4829433 Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/d4829433 Branch: refs/heads/6.0.x Commit: d48294335c577bf2e410bd9e04d0a3d0c7d5fe4b Parents: 95da6bc Author: Bryan Call <[email protected]> Authored: Thu Oct 1 10:42:00 2015 -0700 Committer: Bryan Call <[email protected]> Committed: Thu Nov 19 16:39:09 2015 -0800 ---------------------------------------------------------------------- proxy/http/HttpTransact.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/trafficserver/blob/d4829433/proxy/http/HttpTransact.cc ---------------------------------------------------------------------- diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc index a4d492e..7249e2b 100644 --- a/proxy/http/HttpTransact.cc +++ b/proxy/http/HttpTransact.cc @@ -6941,7 +6941,10 @@ HttpTransact::handle_response_keep_alive_headers(State *s, HTTPVersion ver, HTTP // Insert a Transfer-Encoding header in the response if necessary. // check that the client is HTTP 1.1 and the conf allows chunking - if (s->client_info.http_version == HTTPVersion(1, 1) && s->txn_conf->chunking_enabled == 1 && + if (s->client_info.http_version == HTTPVersion(1, 1) && + (s->txn_conf->chunking_enabled == 1 || + (s->state_machine->plugin_tag && + (!strcmp(s->state_machine->plugin_tag, "http/2") || !strncmp(s->state_machine->plugin_tag, "spdy", 4)))) && // if we're not sending a body, don't set a chunked header regardless of server response !is_response_body_precluded(s->hdr_info.client_response.status_get(), s->method) && // we do not need chunked encoding for internal error messages
