From 76a431be3faade2f44686a7a9268ded1b1d7f994 Mon Sep 17 00:00:00 2001
From: derwish-pro <derwish.pro@gmail.com>
Date: Wed, 27 Jun 2018 21:21:39 +0300
Subject: [PATCH] ConfigureWebSocket headers bug fix

---
 WebSocket/WebSocketMono.cs | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/WebSocket/WebSocketMono.cs b/WebSocket/WebSocketMono.cs
index b12c74d..6080a38 100644
--- a/WebSocket/WebSocketMono.cs
+++ b/WebSocket/WebSocketMono.cs
@@ -15,7 +15,7 @@
 namespace Unity3dAzure.WebSockets {
   public class WebSocketMono : IWebSocket {
     private WebSocket socket;
- 
+
     public event OnOpen OnOpen;
     public event OnError OnError;
     public event OnMessage OnMessage;
@@ -39,7 +39,7 @@ public void ConfigureWebSocket(string url, List<KeyValuePair<string, string>> he
       socket = new WebSocket(url);
 
       // add custom web socket headers
-      if (headers != null || headers.Count > 0) {
+      if (headers != null && headers.Count > 0) {
         socket.CustomHeaders = headers;
       }
     }
@@ -86,7 +86,7 @@ public void SendAsync(string text, Action<bool> completed = null) {
       socket.SendAsync(text, completed);
     }
 
-#region WebSocket Handlers
+    #region WebSocket Handlers
 
     private void AttachHandlers() {
       if (isAttached) {
@@ -111,7 +111,7 @@ private void UnattachHandlers() {
     }
 
     private void Dispose() {
-      ((IDisposable)socket).Dispose();
+      ((IDisposable) socket).Dispose();
       socket = null;
       isAttached = false;
     }
@@ -143,7 +143,7 @@ private void HandleOnClose(object sender, WebSocketSharp.CloseEventArgs e) {
       Dispose();
     }
 
-#endregion
+    #endregion
 
     public bool CheckValidCertificateCallback(System.Object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) {
       bool valid = true;
@@ -156,7 +156,7 @@ public bool CheckValidCertificateCallback(System.Object sender, X509Certificate
             chain.ChainPolicy.RevocationMode = X509RevocationMode.Online;
             chain.ChainPolicy.UrlRetrievalTimeout = new TimeSpan(0, 1, 0);
             chain.ChainPolicy.VerificationFlags = X509VerificationFlags.AllFlags;
-            bool chainIsValid = chain.Build((X509Certificate2)certificate);
+            bool chainIsValid = chain.Build((X509Certificate2) certificate);
             if (!chainIsValid) {
               valid = false;
             }