public async Task <(int, string)> Handle(HttpRequest request)
        {
            #region Function Setup
            var elaps = new ELAPSFunctionHandler(Environment.GetEnvironmentVariable("mongoEndpoint"));
            //Read input string
            var reader = new StreamReader(request.Body);
            var input  = await reader.ReadToEndAsync();

            elaps.Function.Key = input;
            // Start timer
            elaps.StartTimer();
            _ = elaps.LogStartAsync();

            elaps.ReadFunctionCallDoc(input);
            #endregion

            var callChildren = Execute(elaps);

            if (callChildren)
            {
                _ = elaps.CallChildren();
            }

            #region Function Teardown

            //Stop timer
            var duration = elaps.StopTimer();
            await elaps.LogStopAsync(duration);

            #endregion

            return(200, $"Function execution {input}");
        }
 public bool Execute(ELAPSFunctionHandler elaps)
 {
     // If callChildren() is called explicitly within this function, return false to prevent call to children after Execute()
     return(true);
 }