Merge pull request #981 from methane/websocket
[mono.git] / mcs / class / System / System.Net / HttpListenerRequest.cs
index c72d21d1d82f3c44e19c7f9d381d434336cc33aa..37be80f1b94cc425d25146785eb129a14f144912 100644 (file)
@@ -30,7 +30,7 @@
 
 #if SECURITY_DEP
 
-#if MONOTOUCH
+#if MONOTOUCH || MONODROID
 using Mono.Security.Protocol.Tls;
 #else
 extern alias MonoSecurity;
@@ -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;
                        }
                }