private async Task <IActionResult> ProcessRequest(RequestQueueItem.ApiEndpoint endpoint, IActionResult result) { var queueItem = new RequestQueueItem(Request, endpoint); var enqueuResponse = _requestQueue.Enqueue(queueItem); if (enqueuResponse != EnqueueResponse.Ok) { var response = StatusCode(TooManyRequestHttpCode, $"Too many requests. {enqueuResponse} occured."); LogMessage(LogLevel.Error, response); return(response); } await Task.Delay(_random.Next(500, 2000)); LogMessage(LogLevel.Information, result); _requestQueue.Dequeu(); return(result); }