public virtual void ProcessRequest(IRequest request, IResponse response, object obj) { var limits = LimitProvider.GetLimits(request); if (limits == null) { // No limits for request, continue log.Warn($"No limits found for request {request.AbsoluteUri}"); return; } var rateLimitResult = GetLimitResult(request, limits); ProcessResult(response, rateLimitResult); }
private string GetSha1() { var scriptFromConfig = LimitProvider.GetRateLimitScriptId(); if (!string.IsNullOrWhiteSpace(scriptFromConfig)) { log.Debug($"Got Lua script sha1 {scriptFromConfig} from config"); return(scriptFromConfig); } if (string.IsNullOrEmpty(scriptSha1)) { log.Info("Registering Lua rate limiting script"); scriptSha1 = LuaScriptHelpers.RegisterLuaScript(redisClientsManager); } return(scriptSha1); }