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)); }
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"); }