public ConfigTarget(Func <HttpContext, bool> useWhen, LeakyBucketConfiguration?config,
                     IClientIdentityProvider <LeakyBucketClientIdentity>?idProvider = null)
 {
     UseWhen          = useWhen;
     Configuration    = config;
     IdentityProvider = idProvider;
 }
 public IConfigurationProvider <LeakyBucketConfiguration, LeakyBucketClientIdentity> AddConfiguration(
     Func <HttpContext, bool> useWhen,
     LeakyBucketConfiguration config,
     IClientIdentityProvider <LeakyBucketClientIdentity> idProvider)
 {
     _configTargets.Add(new ConfigTarget(useWhen, config, idProvider));
     return(this);
 }
 public IConfigurationProvider <LeakyBucketConfiguration, LeakyBucketClientIdentity> AddDefaultIdentityProvider(IClientIdentityProvider <LeakyBucketClientIdentity> idProvider)
 {
     _defaultIdentityProvider = idProvider;
     return(this);
 }