public async Task <IActionResult> GetParameter() { if (HttpContext.WebSockets.IsWebSocketRequest) { _logger.LogDebug($"Websocket request for {HttpContext.Request.Path}"); var webSocket = await HttpContext.WebSockets.AcceptWebSocketAsync(); var client = _serviceProvider.GetService <IWebSocketClientHandler>(); await client.StartListen(webSocket, HttpContext); client.Dispose(); return(new EmptyResult()); } var req = Request.Query; var parameters = _avionicData.GetParameters(); if (req.ContainsKey("keys")) { var filter = req["keys"].First().Split(","); parameters = parameters.Where(p => filter.Contains(p.Key)).ToArray(); } var result = new AvionicParameters { Parameters = parameters }; return(Ok(result)); }
private void SendOnTimer(object sender, ElapsedEventArgs e) { var data = _avionicData.GetParameters(); if (_eventFilter.Count > 0) { data = data.Where(p => _eventFilter.Contains(p.Key)).ToArray(); } var jsonResult = JsonSerializer.Serialize(new AvionicParameters { Parameters = data }); SendData(jsonResult); }