コード例 #1
0
        public IHttpActionResult Post(HttpRequestMessage req)
        {
            _logger.Info("-----------------------------------------");
            _logger.Info("StableDeviceController...");
            var data = req.Content.ReadAsStringAsync().Result;

            data = Regex.Replace(data, @"\s+", " ", RegexOptions.Compiled);
            _logger.Info("StableDevice Results...");
            _logger.Info(data);
            try
            {
                var headers    = Request.Headers;
                var serverGuid = headers.GetValues("server_guid").First();
                if (!Util.IsServerGuidValid(serverGuid))
                {
                    throw new HttpResponseException(HttpStatusCode.Unauthorized);
                }

                var guid          = headers.GetValues("agent_guid").First();
                var agent         = monitorDb.GetAgentByGuid(guid);
                var agentResource = new AgentResource()
                {
                    AgentId          = agent.AgentId,
                    StableDeviceJson = data,
                    LastUpdatedDate  = DateTime.UtcNow
                };
                _logger.Debug($"Stable Device controller : UpsertAgentResource");

                monitorDb.UpsertAgentResource(agentResource);
                return(Ok());
            }
            catch (Exception e)
            {
                _logger.Error($" Stable Device controller :Post method Exception:{e.Message}");
                return(BadRequest());
            }
        }