Explorar el Código

Merge pull request #153 from mbarnach/caseInsensitiveWebSocket

Fix issue #152
Damian Kołakowski hace 10 años
padre
commit
19ba2cd326
Se han modificado 1 ficheros con 5 adiciones y 2 borrados
  1. 5 2
      Sources/WebSockets.swift

+ 5 - 2
Sources/WebSockets.swift

@@ -15,10 +15,13 @@ public func websocket(
         text: ((WebSocketSession, String) -> Void)?,
     _ binary: ((WebSocketSession, [UInt8]) -> Void)?) -> (HttpRequest -> HttpResponse) {
     return { r in
-        guard r.headers["upgrade"] == "websocket" else {
+        guard let upgradeHeader = r.headers["upgrade"] where
+        upgradeHeader.lowercaseString == "websocket" else {
+            print(r.headers["upgrade"])
             return .BadRequest(.Text("Invalid value of 'Upgrade' header: \(r.headers["upgrade"])"))
         }
-        guard r.headers["connection"] == "Upgrade" else {
+        guard let connectionHeader = r.headers["connection"] where
+            connectionHeader.lowercaseString == "upgrade" else {
             return .BadRequest(.Text("Invalid value of 'Connection' header: \(r.headers["connection"])"))
         }
         guard let secWebSocketKey = r.headers["sec-websocket-key"] else {