diff --git a/src/WebSocketsClient.cpp b/src/WebSocketsClient.cpp index 81e8a6d..9ed5d5c 100644 --- a/src/WebSocketsClient.cpp +++ b/src/WebSocketsClient.cpp @@ -319,10 +319,13 @@ void WebSocketsClient::handleHeader(WSclient_t * client) { client->cCode = headerLine.substring(9, headerLine.indexOf(' ', 9)).toInt(); } else if(headerLine == "Connection: Upgrade") { client->cIsUpgrade = true; - } else if(headerLine == "Upgrade: websocket") { - client->cIsWebsocket = true; - } else if(headerLine == "Upgrade: WebSocket") { - client->cIsWebsocket = true; + } else if(headerLine.startsWith("Upgrade: ")) { + // 9 = lenght of "Upgrade: " + String low = headerLine.substring(9); + low.toLowerCase(); + if(low == "websocket") { + client->cIsWebsocket = true; + } } else if(headerLine.startsWith("Sec-WebSocket-Accept: ")) { // 22 = lenght of "Sec-WebSocket-Accept: " client->cAccept = headerLine.substring(22); diff --git a/src/WebSocketsServer.cpp b/src/WebSocketsServer.cpp index c593dc3..cdabd2c 100644 --- a/src/WebSocketsServer.cpp +++ b/src/WebSocketsServer.cpp @@ -404,10 +404,13 @@ void WebSocketsServer::handleHeader(WSclient_t * client) { client->cUrl = headerLine.substring(4, headerLine.indexOf(' ', 4)); } else if(headerLine == "Connection: Upgrade") { client->cIsUpgrade = true; - } else if(headerLine == "Upgrade: websocket") { - client->cIsWebsocket = true; - } else if(headerLine == "Upgrade: WebSocket") { - client->cIsWebsocket = true; + } else if(headerLine.startsWith("Upgrade: ")) { + // 9 = lenght of "Upgrade: " + String low = headerLine.substring(9); + low.toLowerCase(); + if(low == "websocket") { + client->cIsWebsocket = true; + } } else if(headerLine.startsWith("Sec-WebSocket-Version: ")) { // 23 = lenght of "Sec-WebSocket-Version: " client->cVersion = headerLine.substring(23).toInt();