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);
        }