Bit.Api.Middleware.CustomIpRateLimitMiddleware.ReturnQuotaExceededResponse C# (CSharp) Method

ReturnQuotaExceededResponse() public method

public ReturnQuotaExceededResponse ( HttpContext httpContext, RateLimitRule rule, string retryAfter ) : System.Threading.Tasks.Task
httpContext HttpContext
rule RateLimitRule
retryAfter string
return System.Threading.Tasks.Task
        public override Task ReturnQuotaExceededResponse(HttpContext httpContext, RateLimitRule rule, string retryAfter)
        {
            var message = string.IsNullOrWhiteSpace(_options.QuotaExceededMessage) ?
                $"Slow down! Too many requests. Try again in {rule.Period}." : _options.QuotaExceededMessage;
            httpContext.Response.Headers["Retry-After"] = retryAfter;
            httpContext.Response.StatusCode = _options.HttpStatusCode;

            httpContext.Response.ContentType = "application/json";
            var errorModel = new ErrorResponseModel { Message = message };
            return httpContext.Response.WriteAsync(JsonConvert.SerializeObject(errorModel));
        }