GitHub auth: user token selection supports remaining requests

This commit is contained in:
Thaddee Tyl 2016-06-26 18:01:48 +02:00
parent 2b849b2b7f
commit a3ba53a0d8

View File

@ -154,12 +154,15 @@ function getReqRemainingToken() {
if (highestReqRemaining > 0) {
return highestReqRemainingToken;
} else {
// Go through the user tokens, keep the first one which has reset.
// Go through the user tokens.
// Keep the first one which is usable or has reset.
var now = +new Date();
for (var token of reqReset.keys()) {
if (reqReset.get(token) < now) {
// We are past the rate limit reset.
var hasRemainingReqs = reqRemaining.get(token) > 0;
var isBeyondRateLimitReset = reqReset.get(token) < now;
if (hasRemainingReqs || isBeyondRateLimitReset) {
highestReqRemainingToken = token;
highestReqRemaining = reqRemaining.get(token);
return highestReqRemainingToken
}
}