You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by sh...@apache.org on 2015/05/12 19:55:29 UTC
trafficserver git commit: TS-3584: SPDY and H2 requests should not
trigger connection keep-alive.
Repository: trafficserver
Updated Branches:
refs/heads/master c66e71cb5 -> dda6814f0
TS-3584: SPDY and H2 requests should not trigger connection keep-alive.
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/dda6814f
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/dda6814f
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/dda6814f
Branch: refs/heads/master
Commit: dda6814f07ee59c9e3e452a649e6e7f80906457d
Parents: c66e71c
Author: shinrich <sh...@yahoo-inc.com>
Authored: Tue May 12 12:54:35 2015 -0500
Committer: shinrich <sh...@yahoo-inc.com>
Committed: Tue May 12 12:54:35 2015 -0500
----------------------------------------------------------------------
CHANGES | 2 ++
proxy/http2/HTTP2.cc | 2 ++
proxy/spdy/SpdyCallbacks.cc | 3 +++
proxy/spdy/SpdyClientSession.h | 2 +-
4 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/dda6814f/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 1d107dc..e136e4c 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 6.0.0
+ *) [TS-3584] Turn off keep alive for HTTP request headers created from SPDY and H2
+
*) [TS-2609] Header rewrite plugin *URL:HOST condition
*) [TS-3565] Only start up the continuation from DoRemap if the request has
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/dda6814f/proxy/http2/HTTP2.cc
----------------------------------------------------------------------
diff --git a/proxy/http2/HTTP2.cc b/proxy/http2/HTTP2.cc
index 6a8b290..9390ed8 100644
--- a/proxy/http2/HTTP2.cc
+++ b/proxy/http2/HTTP2.cc
@@ -529,6 +529,8 @@ convert_from_2_to_1_1_header(HTTPHdr *headers)
headers->field_delete(MIME_FIELD_TRANSFER_ENCODING, MIME_LEN_TRANSFER_ENCODING);
headers->field_delete(MIME_FIELD_UPGRADE, MIME_LEN_UPGRADE);
+ headers->value_set(MIME_FIELD_CONNECTION, MIME_LEN_CONNECTION, HTTP_VALUE_CLOSE, HTTP_LEN_CLOSE);
+
return PARSE_DONE;
}
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/dda6814f/proxy/spdy/SpdyCallbacks.cc
----------------------------------------------------------------------
diff --git a/proxy/spdy/SpdyCallbacks.cc b/proxy/spdy/SpdyCallbacks.cc
index e42921e..a625fd7 100644
--- a/proxy/spdy/SpdyCallbacks.cc
+++ b/proxy/spdy/SpdyCallbacks.cc
@@ -297,6 +297,8 @@ spdy_process_syn_stream_frame(SpdyClientSession *sm, SpdyRequest *req)
spdy_fetcher_launch(req);
}
+static char const *const no_keep_alive[] = {"Connection", "close", NULL};
+
void
spdy_on_ctrl_recv_callback(spdylay_session *session, spdylay_frame_type type, spdylay_frame *frame, void *user_data)
{
@@ -312,6 +314,7 @@ spdy_on_ctrl_recv_callback(spdylay_session *session, spdylay_frame_type type, sp
req = spdyRequestAllocator.alloc();
req->init(sm, stream_id);
req->append_nv(frame->syn_stream.nv);
+ req->append_nv(no_keep_alive);
sm->req_map[stream_id] = req;
sm->vc->add_to_keep_alive_lru();
spdy_process_syn_stream_frame(sm, req);
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/dda6814f/proxy/spdy/SpdyClientSession.h
----------------------------------------------------------------------
diff --git a/proxy/spdy/SpdyClientSession.h b/proxy/spdy/SpdyClientSession.h
index 556fa42..0b444ba 100644
--- a/proxy/spdy/SpdyClientSession.h
+++ b/proxy/spdy/SpdyClientSession.h
@@ -55,7 +55,7 @@ public:
void clear();
void
- append_nv(char **nv)
+ append_nv(const char *const *nv)
{
for (int i = 0; nv[i]; i += 2) {
headers.push_back(make_pair(nv[i], nv[i + 1]));