BenFradet / RiotSharp

C# wrapper for the Riot Games API
http://benfradet.github.io/RiotSharp/
MIT License
300 stars 145 forks source link

Retry 429s within requester #726

Open tVoss opened 1 year ago

tVoss commented 1 year ago

I found when using this library, the default rate limiting implementation would occasionally de-sync from the riot servers, especially in-between invocations, leading to my application hard crashing with a 429 error. I've added some simple logic here to automatically retry rate limited requests given the returned header value.

I tested this implementation out with a small integration test, not included in this PR as it required a RiotApiKey which isn't great for checking into a repository. I can update the test to take in environmental variables and include it in this PR though if you'd like.