private static void configureRequest(HttpRequest req, SampleCallbackData data, IDateTimeProvider dateTimeProvider)
        {
            req.Headers.Add("X-Ahk-Token", data.Token);
            req.Headers.Add("X-Ahk-Sha256", data.Signature);
            req.Headers.Add("Date", dateTimeProvider.GetUtcNow().ToString("R"));

            var memStream = new System.IO.MemoryStream();

            using var writer = new System.IO.StreamWriter(memStream, leaveOpen: true);
            writer.Write(data.Body);
            writer.Flush();

            memStream.Position = 0;
            req.Body           = memStream;
        }
        public static async Task <TResponse> InvokeWithContentAndGetResponseAs <TResponse>(this ResultProcessingFunction function, SampleCallbackData data, IDateTimeProvider dateTimeProvider)
            where TResponse : IActionResult
        {
            var result = await function.Invoke(req => configureRequest(req, data, dateTimeProvider));

            Assert.IsInstanceOfType(result, typeof(TResponse));
            return((TResponse)result);
        }