mirror of
https://github.com/discordeno/discordeno.git
synced 2026-05-21 02:40:08 +00:00
fix(rest): Use Retry-After header for retrying requests (#4739)
* fix(rest): Use Retry-After header for retrying requests According to discord docs: Your application should rely on the Retry-After header [...] to determine when to retry the request. * also use in processHeaders() --------- Co-authored-by: Awesome Stickz <kiran121102@gmail.com>
This commit is contained in:
@@ -352,7 +352,7 @@ export function createRestManager(options: CreateRestManagerOptions): RestManage
|
||||
|
||||
// GET ALL NECESSARY HEADERS
|
||||
const remaining = headers.get(RATE_LIMIT_REMAINING_HEADER);
|
||||
const retryAfter = headers.get(RATE_LIMIT_RESET_AFTER_HEADER);
|
||||
const retryAfter = headers.get('Retry-After') ?? headers.get(RATE_LIMIT_RESET_AFTER_HEADER);
|
||||
const reset = Date.now() + Number(retryAfter) * 1000;
|
||||
const global = headers.get(RATE_LIMIT_GLOBAL_HEADER);
|
||||
// undefined override null needed for typings
|
||||
@@ -500,7 +500,7 @@ export function createRestManager(options: CreateRestManagerOptions): RestManage
|
||||
|
||||
options.retryCount += 1;
|
||||
|
||||
const resetAfter = response.headers.get(RATE_LIMIT_RESET_AFTER_HEADER);
|
||||
const resetAfter = response.headers.get('retry-after');
|
||||
if (resetAfter) await delay(Number(resetAfter) * 1000);
|
||||
|
||||
return await options.retryRequest?.(options);
|
||||
@@ -579,7 +579,7 @@ export function createRestManager(options: CreateRestManagerOptions): RestManage
|
||||
return;
|
||||
}
|
||||
|
||||
// If we the request has a token, use it
|
||||
// If the request has a token, use it
|
||||
// Else fallback to prefix with the bot token
|
||||
const queueIdentifier = request.requestBodyOptions?.headers?.authorization ?? `Bot ${rest.token}`;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user