Пример #1
0
 public MemoryCacheIpPolicyStore(
     IMemoryCache cache,
     IRateLimitLoader Loader) : base(cache)
 {
     _options  = Loader.GetIpRateLimitOptions();
     _policies = Loader.GetIpRateLimitPolicies();
 }
 public RedisCacheClientPolicyStore(
     IRedisCache cache,
     IRateLimitLoader Loader) : base(cache)
 {
     _options  = Loader.GetClientRateLimitOptions();
     _policies = Loader.GetClientRateLimitPolicies();
 }
Пример #3
0
 public ClientRateLimitMiddleware(RequestDelegate next,
                                  IRateLimitLoader Loader,
                                  IRateLimitCounterStore counterStore,
                                  IClientPolicyStore policyStore,
                                  IRateLimitConfiguration config,
                                  ILogger <ClientRateLimitMiddleware> logger)
     : base(next, Loader.GetClientRateLimitOptions(), new ClientRateLimitProcessor(Loader.GetClientRateLimitOptions(), counterStore, policyStore, config), config)
 {
     _logger = logger;
 }
Пример #4
0
        public RateLimitConfiguration(
            IHttpContextAccessor httpContextAccessor,
            IRateLimitLoader Loader)
        {
            IpRateLimitOptions = Loader.GetIpRateLimitOptions();
            ClientRateLimitOptions = Loader.GetClientRateLimitOptions();
            HttpContextAccessor = httpContextAccessor;

            ClientResolvers = new List<IClientResolveContributor>();
            IpResolvers = new List<IIpResolveContributor>();

            RegisterResolvers();
        }