public async Task RouteAsync(string message, Action ack) { try { dynamic msg = JsonConvert.DeserializeObject(message); var environmentMode = Infokeeper.GetEnvironmentMode(); if (msg.SourceEnvironment != environmentMode) { ack(); _logger.LogError($"Ignoring message with SourceEnvironment {msg.SourceEnvironment} since this is running in ENVIRONMENT_MODE {environmentMode}"); return; } switch (msg.Event.Name.ToString()) { case "Something Happened": await _somethingHappenedHandler.ExecuteAsync(msg, message, ack); Console.WriteLine($"Message processed: {message}"); break; default: ack(); break; } } catch (Exception e) { ack(); _logger.LogError($"Message processing failed with exception: {e.Message}\n\nmessage received: {message}"); } }
public void Configure(IApplicationBuilder app, IApplicationLifetime applicationLifetime, ILoggerFactory loggerFactory, IRabbitEndpoint rabbitEndpoint) { _rabbitEndpoint = rabbitEndpoint; applicationLifetime.ApplicationStarted.Register(OnStarted); applicationLifetime.ApplicationStopping.Register(OnShutdown); app.UseMvc(); if (Infokeeper.GetEnvironmentMode() == "dev") { loggerFactory.AddDebug(); } }