fix: increase remaining after request without ratelimit header

This commit is contained in:
H01001000
2022-12-24 02:20:12 +08:00
parent 09b58a6a08
commit b2ce5651ee
2 changed files with 9 additions and 8 deletions

View File

@@ -136,6 +136,10 @@ export function createQueueBucket (
},
handleCompletedRequest: function (headers) {
if (headers.max === 0) {
bucket.remaining++
return
}
bucket.max = headers.max
bucket.interval = headers.interval
bucket.remaining = headers.remaining

View File

@@ -13,17 +13,14 @@ export function processRequestHeaders (
const retryAfter = headers.get('x-ratelimit-reset-after')
const reset = Date.now() + Number(retryAfter) * 1000
const global = headers.get('x-ratelimit-global')
const max = headers.get('x-ratelimit-limit')
// undefined override null needed for typings
const bucketId = headers.get('x-ratelimit-bucket') ?? undefined
if (max !== null) {
rest.pathQueues.get(url)?.handleCompletedRequest({
remaining: Number(remaining),
interval: Number(retryAfter) * 1000,
max: Number(max)
})
}
rest.pathQueues.get(url)?.handleCompletedRequest({
remaining: Number(remaining),
interval: Number(retryAfter) * 1000,
max: Number(headers.get('x-ratelimit-limit'))
})
// IF THERE IS NO REMAINING RATE LIMIT, MARK IT AS RATE LIMITED
if (remaining === '0') {