Merge pull request #981 from methane/websocket
[mono.git] / mcs / class / System / System.Net / HttpListenerRequest.cs
index 23a17199bf93557fdfe2bf7ff38a75476658c2f0..37be80f1b94cc425d25146785eb129a14f144912 100644 (file)
@@ -525,10 +525,17 @@ namespace System.Net {
 #endif
                
 #if NET_4_5
-               [MonoTODO]
                public bool IsWebSocketRequest {
                        get {
-                               return false;
+                               string connection = headers.Get ("Connection");
+                               if (connection == null || ! connection.Equals ("upgrade", StringComparison.OrdinalIgnoreCase)) {
+                                       return false;
+                               }
+                               string upgrade = headers.Get ("Upgrade");
+                               if (upgrade == null || ! upgrade.Equals ("websocket", StringComparison.OrdinalIgnoreCase)) {
+                                       return false;
+                               }
+                               return true;
                        }
                }