mirror of
https://github.com/mollersuite/monofile.git
synced 2024-11-21 21:36:26 -08:00
idk lol
This commit is contained in:
parent
16db5c3196
commit
a096a3352e
|
@ -14,6 +14,10 @@ interface QueuedRequest {
|
|||
params : RequestInit
|
||||
}
|
||||
|
||||
/**
|
||||
* @description Extracts data on ratelimits from headers
|
||||
* @param headers Headers object to extract information from
|
||||
*/
|
||||
function extractRatelimitData(headers: Headers): RatelimitData {
|
||||
return {
|
||||
bucket_name : headers.get("x-ratelimit-bucket")!,
|
||||
|
@ -63,15 +67,6 @@ class DiscordAPIBucket {
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* @description update the remainding amount of requests
|
||||
* @param remaining number to update to
|
||||
*/
|
||||
update(remaining: number) {
|
||||
this.remaining = Math.max(Math.min(0, remaining), this.remaining)
|
||||
return this
|
||||
}
|
||||
|
||||
/**
|
||||
* @description Link a route to this bucket
|
||||
* @param route Route to link
|
||||
|
@ -138,8 +133,9 @@ export class REST {
|
|||
// check if there's already a bucket, and check if it's full
|
||||
let known_bucket = getBucket( path )
|
||||
|
||||
if (known_bucket && known_bucket.remaining) {
|
||||
return this.queue(path, options)
|
||||
if (known_bucket) {
|
||||
if (known_bucket.remaining <= 0) return this.queue(path, options)
|
||||
else known_bucket.remaining-- // just in case...
|
||||
}
|
||||
|
||||
// there's no known bucket for this route; let's carry on with the request
|
||||
|
@ -157,9 +153,9 @@ export class REST {
|
|||
so this would be fine */
|
||||
}
|
||||
|
||||
// let's update the bucket...
|
||||
// let's update the bucket with data from the source now
|
||||
let rd = extractRatelimitData( response.headers )
|
||||
bucket.update(rd.remaining)
|
||||
bucket.remaining = rd.remaining
|
||||
|
||||
} else return response
|
||||
|
||||
|
|
Loading…
Reference in a new issue