From 4cc4837fbe2e557747da6e6f2d2a4a8b90e99c6e Mon Sep 17 00:00:00 2001 From: sta Date: Tue, 22 Nov 2016 17:04:22 +0900 Subject: [PATCH] [Modify] Throw exceptions --- websocket-sharp/WebSocket.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/websocket-sharp/WebSocket.cs b/websocket-sharp/WebSocket.cs index fbb4cec6..defdb859 100644 --- a/websocket-sharp/WebSocket.cs +++ b/websocket-sharp/WebSocket.cs @@ -2848,17 +2848,19 @@ namespace WebSocketSharp /// public void SendAsync (string data, Action completed) { - var msg = _readyState.CheckIfAvailable (false, true, false, false) ?? - CheckSendParameter (data); + if (_readyState != WebSocketState.Open) { + var msg = "The current state of the connection is not Open."; + throw new InvalidOperationException (msg); + } - if (msg != null) { - _logger.Error (msg); - error ("An error has occurred in sending data.", null); + if (data == null) + throw new ArgumentNullException ("data"); - return; - } + byte[] bytes; + if (!data.TryGetUTF8EncodedBytes (out bytes)) + throw new ArgumentException ("Cannot be UTF8 encoded.", "data"); - sendAsync (Opcode.Text, new MemoryStream (data.UTF8Encode ()), completed); + sendAsync (Opcode.Text, new MemoryStream (bytes), completed); } ///