Exemplo n.º 1
0
        private RiotApi(string apiKey, IDictionary <TimeSpan, int> rateLimits)
        {
            Requesters.RiotApiRequester = new RateLimitedRequester(apiKey, rateLimits);
            var requester = Requesters.RiotApiRequester;

            Summoner        = new SummonerEndpoint(requester, _cache);
            Champion        = new ChampionEndpoint(requester);
            Masteries       = new MasteriesEndpoint(requester);
            Runes           = new RunesEndpoint(requester);
            League          = new LeagueEndpoint(requester);
            Match           = new MatchEndpoint(requester, _cache);
            Spectator       = new SpectatorEndpoint(requester);
            ChampionMastery = new ChampionMasteryEndpoint(requester);
            ThirdParty      = new ThirdPartyEndpoint(requester);
            Static          = StaticDataEndpoints.GetInstance(apiKey, true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Dependency injection constructor
        /// </summary>
        /// <param name="rateLimitedRequester"></param>
        /// <param name="staticEndpointProvider"></param>
        public RiotApi(IRateLimitedRequester rateLimitedRequester, IStaticEndpointProvider staticEndpointProvider)
        {
            if (rateLimitedRequester == null)
            {
                throw new ArgumentNullException(nameof(rateLimitedRequester));
            }

            if (staticEndpointProvider == null)
            {
                throw new ArgumentNullException(nameof(staticEndpointProvider));
            }

            Summoner        = new SummonerEndpoint(rateLimitedRequester, _cache);
            Champion        = new ChampionEndpoint(rateLimitedRequester);
            Masteries       = new MasteriesEndpoint(rateLimitedRequester);
            Runes           = new RunesEndpoint(rateLimitedRequester);
            League          = new LeagueEndpoint(rateLimitedRequester);
            Match           = new MatchEndpoint(rateLimitedRequester, _cache);
            Spectator       = new SpectatorEndpoint(rateLimitedRequester);
            ChampionMastery = new ChampionMasteryEndpoint(rateLimitedRequester);
            ThirdParty      = new ThirdPartyEndpoint(rateLimitedRequester);
            Static          = new StaticDataEndpoints(staticEndpointProvider);
        }