internal void TriggerMessageReceive(string message) { var compressed = Compress(message); var binary = ResponseMessage.BinaryMessage(compressed); ResponseMessageSubject.OnNext(binary); }
public void AccountClient_UnknownContent_UnhandledStreamUpdated(string messageContent) { // Arrange InitializeAccountClient(); // Act var compressed = Compress(messageContent); var binary = ResponseMessage.BinaryMessage(compressed); ResponseMessageSubject.OnNext(binary); // Assert UnhandledMessageObserverMock.Verify(m => m.OnNext(It.IsAny <string>()), Times.Once); }
protected virtual async Task <(WebSocketReceiveResult result, ResponseMessage message)> ReadRequest(WebSocket webSocket) { var buffer = new ArraySegment <byte>(new byte[8192]); using (var ms = new MemoryStream()) { WebSocketReceiveResult result; do { result = await webSocket.ReceiveAsync(buffer, CancellationToken.None); if (result.CloseStatus.HasValue) { return(result, null); } if (buffer.Array != null) { ms.Write(buffer.Array, buffer.Offset, result.Count); } } while (!result.EndOfMessage); ms.Seek(0, SeekOrigin.Begin); ResponseMessage message; if (result.MessageType == WebSocketMessageType.Text) { var data = GetEncoding().GetString(ms.ToArray()); message = ResponseMessage.TextMessage(data); } else { var data = ms.ToArray(); message = ResponseMessage.BinaryMessage(data); } return(result, message); } }
private async Task SendEcho(WebSocket webSocket, byte[] msg) { await SendResponse(webSocket, ResponseMessage.BinaryMessage(msg)); }