public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = "query")] HttpRequest req, ILogger log) { try { int.TryParse(req.Query["take"].FirstOrDefault() ?? "10000", out int take); List <SimpleEvent> query = null; long start = Stopwatch.GetTimestamp(); if (req.Method == HttpMethods.Get) { query = DoGet(take); } else { query = await DoPost(take, req); } long end = Stopwatch.GetTimestamp(); QueryResultHeader hdr = new QueryResultHeader() { Count = query?.Count ?? 0, QueryTime = (end - start) / 10000, Success = true }; QueryResult result = new QueryResult() { Results = query, Header = hdr }; return(new OkObjectResult(result)); } catch (Exception ex) { log.LogError(ex, "Error occurred when querying data.\n" + ex.StackTrace); return(new BadRequestResult()); } }
public QueryResult(string response) { Header = new QueryResultHeader(); Events = new List <QueryEvent>(); Parse(response); }