diff --git a/websocket-sharp/Server/WebSocketServiceHostManager.cs b/websocket-sharp/Server/WebSocketServiceHostManager.cs index 11c6966d7..45e4eb8d8 100644 --- a/websocket-sharp/Server/WebSocketServiceHostManager.cs +++ b/websocket-sharp/Server/WebSocketServiceHostManager.cs @@ -703,7 +703,7 @@ public Dictionary> Broadping (string message) if (message == null || message.Length == 0) return Broadping (); - byte [] data; + byte [] data = null; var msg = _state.CheckIfStarted () ?? (data = Encoding.UTF8.GetBytes (message)).CheckIfValidPingData (); diff --git a/websocket-sharp/Server/WebSocketSessionManager.cs b/websocket-sharp/Server/WebSocketSessionManager.cs index b5da20cb5..00ce5f8e4 100644 --- a/websocket-sharp/Server/WebSocketSessionManager.cs +++ b/websocket-sharp/Server/WebSocketSessionManager.cs @@ -601,7 +601,7 @@ public Dictionary Broadping (string message) if (message == null || message.Length == 0) return Broadping (); - byte [] data; + byte [] data = null; var msg = _state.CheckIfStarted () ?? (data = Encoding.UTF8.GetBytes (message)).CheckIfValidPingData (); diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index 2f6702619..28559a49a 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -245,6 +245,8 @@ internal bool IsOpened { #region Public Properties + public IEnumerable> CustomHeaders { get; set; } + /// /// Gets or sets the compression method used to compress the payload data of the WebSocket Data frame. /// @@ -714,6 +716,14 @@ private HandshakeRequest createHandshakeRequest () req.AddHeader ("Sec-WebSocket-Version", _version); + if (CustomHeaders != null) + { + foreach (var header in CustomHeaders) + { + req.AddHeader(header.Key, header.Value); + } + } + if (_preAuth && _credentials != null) req.SetAuthorization (new AuthenticationResponse (_credentials));