public static async Task <IActionResult> checkforupdate([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { string customerid = req.Query["customerid"]; customerid = customerid ?? ""; string updateshash = req.Query["updateshash"]; updateshash = updateshash ?? ""; string ClientIP = req.HttpContext.Connection.RemoteIpAddress.ToString(); if (!Base.ValidateIP(ClientIP)) { if (Environment.GetEnvironmentVariable("EnforceGetURL") == "true") { return(new OkObjectResult(new JArray().ToString())); } } else { } DateTime dStart = DateTime.Now; var oGet = new StreamReader(req.Body).ReadToEndAsync(); JArray jItems = JArray.Parse(oGet.Result); if (jItems.Count > 0) { if (!string.IsNullOrEmpty(updateshash)) //still in use? { if (updateshash != Hash.CalculateMD5HashString(oGet.Result)) { return(new OkObjectResult(new JArray().ToString())); } else { Console.WriteLine("CheckForUpdates Hash Error !"); } } string sResult = Base.CheckForUpdates(jItems, customerid).ToString(); TimeSpan tDuration = DateTime.Now - dStart; Console.WriteLine("V2 UpdateCheck duration: " + tDuration.TotalMilliseconds.ToString() + "ms"); Base.WriteLog("V2 UpdateCheck duration: " + Math.Round(tDuration.TotalSeconds).ToString() + "s", ClientIP, 1100, customerid); return(new OkObjectResult(sResult)); } else { return(new OkObjectResult((new JArray()).ToString())); } }