public RegionalRequester(IRiotGamesApiConfig config, string route) { _config = config; _appRateLimit = new RateLimit(RateLimitType.Application, config); _client.BaseAddress = new Uri($"https://{route}{RiotRootUrl}"); _client.DefaultRequestHeaders.Add(RiotKeyHeader, config.ApiKey); }
private RiotGamesApi(IRiotGamesApiConfig config) { if (null == config) { throw new ArgumentException($"{nameof(config)} cannot be null."); } _requestManager = new RequestManager(config); }
public RequestManager(IRiotGamesApiConfig config) { _config = config; _concurrentRequestSemaphore = new SemaphoreSlim(_config.MaxConcurrentRequests); }
/// <summary> /// Creates a new RiotApi instance with the provided configuration. /// </summary> /// <param name="config">RiotApiConfig to use.</param> /// <returns>RiotApi instance using supplied configuration.</returns> public static RiotGamesApi NewInstance(IRiotGamesApiConfig config) { return(new RiotGamesApi(config)); }
public RateLimit(RateLimitType rateLimitType, IRiotGamesApiConfig config) { _rateLimitType = rateLimitType; _config = config; }