diff options
author | Lionel Landwerlin <llandwerlin@gmail.com> | 2017-10-09 17:12:47 +0100 |
---|---|---|
committer | Lionel Landwerlin <lionel.g.landwerlin@intel.com> | 2018-01-04 12:28:51 +0000 |
commit | e24abeeb31da35e2d1073a296c193388691c8621 (patch) | |
tree | c3a80a0c50ece0ab1d2161936ec15a8f23988d3b /libsoup | |
parent | 7c685b6258a1ad1b8ca19a8f9b01caa7b3c3590d (diff) | |
download | libsoup-e24abeeb31da35e2d1073a296c193388691c8621.tar.gz |
session: don't request Keep-Alive for upgraded connections
When an upgrade is requested through "Connection: Upgrade" (used for
setting up websocket connection for example), there is no need to
request Keep-Alive.
It turns out doing both is confusing some servers based on the h2o
library.
https://bugzilla.gnome.org/show_bug.cgi?id=788723
Diffstat (limited to 'libsoup')
-rw-r--r-- | libsoup/soup-session.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c index 8ce3d516..3387f68a 100644 --- a/libsoup/soup-session.c +++ b/libsoup/soup-session.c @@ -1314,7 +1314,9 @@ soup_session_send_queue_item (SoupSession *session, if (!soup_message_headers_header_contains (item->msg->request_headers, "Connection", "Keep-Alive") && !soup_message_headers_header_contains (item->msg->request_headers, - "Connection", "close")) { + "Connection", "close") && + !soup_message_headers_header_contains (item->msg->request_headers, + "Connection", "Upgrade")) { soup_message_headers_append (item->msg->request_headers, "Connection", "Keep-Alive"); } |