if (!CheckIPTable(request, response))return;
if (!CheckDomains(request))
{if (string.IsNullOrEmpty(Options.InvalidDomainUrl)){response.InnerError("509", "Invalid domain name!");}else{Move302Result result = new Move302Result(Options.InvalidDomainUrl);response.Result(result);}return;
}
HttpToken token = (HttpToken)request.Session.Tag;
if (token.HttpRpsLimit.Check(this.Options.SessionMaxRps))
{response.InnerError("509", "session max rps limit!");return;
}
if (!mIPLimit.ValidateRPS(request))
{response.InnerError("509",?$"{request.RemoteIPAddress}?max rps limit!");return;
}
if (!CheckUrlLimit(request, response))return;
if (!CheckDomainsLimit(request, response))return;
if (RpsLimitHandlers.Count > 0)foreach (var handler in RpsLimitHandlers.Values){if (handler.Check(request, response)){response.InnerError("509", $"{handler.Name} max rps limit!");return;}}if (AllRpsLimit.Check(this.Options.MaxRps))
{response.InnerError("509", "server max rps limit!");return;
}BeetleX