private IEnumerable <MessageContext <object, string> > ParseFeedMessageHandler(MessageContext <string> messageContext) { try { return(Enumerable.Repeat(messageContext.NextWithState(webSocketMessageParser.Parse(messageContext.Message), messageContext.Message), 1)); } catch (Exception ex) { logger.LogError(ex, $"Parsing message error. ContextId: {messageContext.IncomingId}"); messageDumper.Write( messageContext.Next( new DumpMessage() { EventId = "Line", Source = DumpSource.FROM_FEED, MessageBody = messageContext.Message, MessageType = "Unkuown" } ) ); return(Array.Empty <MessageContext <object, string> >()); } }
public Task SendAsync(MessageContext <IWebSocketRequest> messageContext, CancellationToken cancellationToken) { var message = JsonConvert.SerializeObject(messageContext.Message); var task = webSocketClient.SendAsync(message, cancellationToken); messageDumper.Write(messageContext.Next( new DumpMessage() { EventId = (messageContext.Message as ITranslationWebSocketRequest)?.TranslationId.ToString() ?? "Line", Source = DumpSource.TO_FEED, MessageType = messageContext.Message.GetType().Name, MessageBody = message } ) ); return(task); }
private void DumpResponseHandler(MessageContext <string> messageContext) { try { messageDumper.Write( messageContext.Next( new DumpMessage() { EventId = "Line", Source = DumpSource.FROM_API, MessageType = "TranslationsList", MessageBody = messageContext.Message } ) ); } catch (Exception ex) { logger.LogError(ex, $"Dumping reponse error. ContextId: {messageContext.IncomingId}"); } }
private void WriteDumpHandler(MessageContext <ITransmitterCommand, string> messageContext) { try { messageDumper.Write( messageContext.Next( new DumpMessage() { Source = DumpSource.TO_TRANSMITTER, MessageBody = JsonConvert.SerializeObject(messageContext.Message), MessageType = messageContext.Message.GetType().Name, EventId = messageContext.State } ) ); } catch (Exception ex) { logger.LogError(ex, $"Dump sending error. ContextId: {messageContext.IncomingId}"); } }
private IEnumerable <MessageContext <Translation, TranslationSubscription> > TranslationDumpHandler(MessageContext <Translation, TranslationSubscription> messageContext) { try { messageDumper.Write( messageContext.Next( new DumpMessage() { Source = DumpSource.FROM_API, MessageBody = JsonConvert.SerializeObject(messageContext.Message), MessageType = messageContext.Message.GetType().Name, EventId = messageContext.Message.Id.ToString() } ) ); } catch (Exception ex) { logger.LogError(ex, $"Dump sending error. ContextId: {messageContext.IncomingId}, TranslationId: {messageContext.Message.Id}"); } return(Enumerable.Repeat(messageContext, 1)); }