From bfc6e7d8634e4565ae518b24c3bed3919bda9597 Mon Sep 17 00:00:00 2001 From: Thaddee Tyl Date: Mon, 27 Jun 2016 19:38:01 +0200 Subject: [PATCH] GitHub auth: use up to 3/4 of the user's rate limit --- lib/github-auth.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/github-auth.js b/lib/github-auth.js index 9ce9716..c492fcd 100644 --- a/lib/github-auth.js +++ b/lib/github-auth.js @@ -144,6 +144,8 @@ function utcEpochSeconds() { return ((Date.now() / 1000) >>> 0); } +var userTokenRateLimit = 12500; + // Retrieve a user token if there is one for which we believe there are requests // remaining. Return undefined if we could not find one. function getReqRemainingToken() { @@ -153,7 +155,8 @@ function getReqRemainingToken() { for (var token of reqReset.keys()) { var reqs = reqRemaining.get(token); var reset = reqReset.get(token); - var hasRemainingReqs = reqs > 10; // Don't go too close to 0. + // We don't want to empty more than 3/4 of a user's rate limit. + var hasRemainingReqs = reqs > (userTokenRateLimit / 4); var isBeyondRateLimitReset = reset < now; if (hasRemainingReqs || isBeyondRateLimitReset) { return token;