From cf3ca5fde27fa8a646ceef69505b7a5ffe4c0f54 Mon Sep 17 00:00:00 2001 From: Markus Sattler Date: Wed, 15 Jul 2015 10:09:07 +0200 Subject: [PATCH] fix #6 Firefox send more then Upgrade in Connection header --- src/WebSocketsServer.cpp | 7 +++++-- tests/webSocket.html | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/WebSocketsServer.cpp b/src/WebSocketsServer.cpp index cdabd2c..b88217d 100644 --- a/src/WebSocketsServer.cpp +++ b/src/WebSocketsServer.cpp @@ -402,8 +402,11 @@ void WebSocketsServer::handleHeader(WSclient_t * client) { if(headerLine.startsWith("GET ")) { // cut URL out client->cUrl = headerLine.substring(4, headerLine.indexOf(' ', 4)); - } else if(headerLine == "Connection: Upgrade") { - client->cIsUpgrade = true; + } else if(headerLine.startsWith("Connection: ")) { + // 12 = lenght of "Connection: " + if(headerLine.indexOf("Upgrade", 12)) { + client->cIsUpgrade = true; + } } else if(headerLine.startsWith("Upgrade: ")) { // 9 = lenght of "Upgrade: " String low = headerLine.substring(9); diff --git a/tests/webSocket.html b/tests/webSocket.html index 0bc49ae..c23ee78 100644 --- a/tests/webSocket.html +++ b/tests/webSocket.html @@ -2,7 +2,7 @@