GitHub auth: use UTC epoch seconds instead of milliseconds
This commit is contained in:
parent
63e25b29eb
commit
12b0ded4a3
|
@ -140,12 +140,16 @@ function rmReqRemaining(token) {
|
|||
reqReset.delete(token);
|
||||
}
|
||||
|
||||
function utcEpochSeconds() {
|
||||
return ((Date.now() / 1000) >>> 0);
|
||||
}
|
||||
|
||||
// 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() {
|
||||
// Go through the user tokens.
|
||||
// Keep the first one which is usable or has reset.
|
||||
var now = +new Date();
|
||||
var now = utcEpochSeconds();
|
||||
for (var token of reqReset.keys()) {
|
||||
var reqs = reqRemaining.get(token);
|
||||
var reset = reqReset.get(token);
|
||||
|
@ -212,9 +216,10 @@ function githubRequest(request, url, query, cb) {
|
|||
rmGithubToken(githubToken);
|
||||
} else {
|
||||
var remaining = +res.headers['x-ratelimit-remaining'];
|
||||
// reset is in UTC epoch seconds.
|
||||
var reset = +res.headers['x-ratelimit-reset'];
|
||||
console.log('GitHub auth: token', githubToken, 'rate limit', remaining,
|
||||
'reset', reset, 'now', +new Date());
|
||||
'reset', reset, 'now', utcEpochSeconds());
|
||||
setReqRemaining(githubToken, remaining, reset);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user