Пример #1
0
        public void TestBuildUrl()
        {
            var region           = Region.EUROPE;
            var contentsEndpoint = new ContentsEndpoint();
            var client           = new Client(region, key: null);

            Assert.AreEqual(region, client.Region);
            Assert.AreEqual(client.BuildUrl(contentsEndpoint), "https://eu.api.riotgames.com/val/content/v1/contents");

            Assert.ThrowsException <ArgumentException>(() => client.BuildUrl(null));

            var nullRegionClient = new Client(null, null);

            Assert.ThrowsException <ArgumentException>(() => nullRegionClient.BuildUrl(contentsEndpoint));
        }
Пример #2
0
        async static Task Main(string[] args)
        {
            Debug.WriteLine($"[~] {System.AppDomain.CurrentDomain.FriendlyName} - START");

            var region       = Region.EUROPE;
            var key          = "RGAPI-a6dbecf6-e05b-4ca4-aa82-0eae6e5b666a";
            var databasePath = @"P:\C#\cache.db";

            var client = new Client(region, key);

            client.SetCache(databasePath);

            var rateLimiterSettings = new RateLimiterSettings();

            rateLimiterSettings.AddRateLimit(20, TimeSpan.FromSeconds(1));
            rateLimiterSettings.AddRateLimit(100, TimeSpan.FromMinutes(2));

            rateLimiterSettings.EnableRateLimiter(client);

            Debug.WriteLine($"[I] Current region: {region}");

            client.CompletedRequest += (object sender, EventArgs e) => {
                var clientRequest = e as ClientRequestEventArgs;
                Debug.WriteLine($"[CompletedRequest] {clientRequest.ResponseContent}");
            };

            client.ErrorRequest += (object sender, EventArgs e) =>
            {
                var clientRequestError = e as ClientRequestErrorEventArgs;
                Debug.WriteLine($"[E] ({clientRequestError.StatusCode}) {clientRequestError.Message}");
            };

            var contentsEndpoint = new ContentsEndpoint()
            {
                locale = Locale.ES_ES
            };

            var contentResponse = await client.GetAsync <ContentDto>(contentsEndpoint);

            Debug.WriteLine($"First gamemode: {contentResponse.gameModes.First().name}");

            Debug.WriteLine($"[~] {System.AppDomain.CurrentDomain.FriendlyName} - END");
        }