/// <summary> /// Serializes request and sends message via websocket communicator. /// It logs and re-throws every exception. /// </summary> /// <param name="request">Request/message to be sent</param> public void Send <T>(T request) where T : RequestBase { try { BitstampValidations.ValidateInput(request, nameof(request)); var serialized = BitstampJsonSerializer.Serialize(request); _communicator.Send(serialized); } catch (Exception e) { Log.Error(e, L($"Exception while sending message '{request}'. Error: {e.Message}")); throw; } }
private bool HandleObjectMessage(string msg) { var response = BitstampJsonSerializer.Deserialize <JObject>(msg); // ******************** // ADD OBJECT HANDLERS BELOW // ******************** return (SubscriptionSucceeded.TryHandle(response, Streams.SubscriptionSucceededSubject) || UnsubscriptionSucceeded.TryHandle(response, Streams.UnsubscriptionSucceededSubject) || //OrderBookSnapshotResponse.TryHandle(response, Streams.OrderBookSnapshotSubject) || Ticker.TryHandle(response, Streams.TickerSubject) || OrderBookResponse.TryHandle(response, Streams.OrderBookSubject) || OrderBookDetailResponse.TryHandle(response, Streams.OrderBookDetailSubject) || OrderBookDiffResponse.TryHandle(response, Streams.OrderBookDiffSubject) || ErrorResponse.TryHandle(response, Streams.ErrorSubject) || OrderResponse.TryHandle(response, Streams.OrdersSubject) || false); }