/// <summary> /// Logic for your function goes here. /// </summary> /// <param name="context">The HTTP context, containing the request and the response.</param> /// <returns>A task representing the asynchronous operation.</returns> public async Task HandleAsync(HttpContext context) { var query = context.Request.Query; var reduce = GetQueryStringParameterOrDefault <bool>(query, "reduce"); // Action to execute var filename = GetQueryStringParameterOrDefault <string>(query, "filename"); // Target tracks zip filename var factor = GetQueryStringParameterOrDefault <float?>(query, "factor"); // Reduction factor var keepBacklog = GetQueryStringParameterOrDefault <bool>(query, "keepBacklog"); // True if backlog should not be deleted once processed // --- Reduce existing tracks file if (reduce) { await _aggregagorService.ReduceCumulativeTracksZipFile(filename, factor); } // --- Aggregate backlog files into yearly tracks file else { await _aggregagorService.Run(factor, keepBacklog); } await context.Response.WriteAsync("[AggregatorService] Done !"); }