mirror of
https://github.com/tiramisulabs/seyfert.git
synced 2025-07-01 12:36:08 +00:00
fix(api): handle 429 in shared scopes
This commit is contained in:
parent
798f648955
commit
c4d1c1ce90
@ -291,18 +291,20 @@ export class ApiHandler {
|
||||
await this.onRatelimit?.(response, request);
|
||||
|
||||
const content = `${JSON.stringify(request)} `;
|
||||
let retryAfter =
|
||||
let retryAfter: number | undefined;
|
||||
|
||||
const data = JSON.parse(result);
|
||||
if (data.retry_after) retryAfter = Math.ceil(data.retry_after * 1000);
|
||||
|
||||
retryAfter ??=
|
||||
Number(response.headers.get('x-ratelimit-reset-after') || response.headers.get('retry-after')) * 1000;
|
||||
|
||||
if (Number.isNaN(retryAfter)) {
|
||||
try {
|
||||
retryAfter = JSON.parse(result).retry_after * 1000;
|
||||
} catch (err) {
|
||||
this.debugger?.warn(`Unexpected error: ${err}`);
|
||||
reject(err);
|
||||
this.debugger?.warn(`${route} Could not extract retry_after from 429 response. ${result}`);
|
||||
next();
|
||||
reject(new Error('Could not extract retry_after from 429 response.'));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
this.debugger?.info(
|
||||
`${
|
||||
|
Loading…
x
Reference in New Issue
Block a user