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