mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-04 05:44:04 +00:00
fix(discord): reject unsafe rate limit headers
This commit is contained in:
@@ -14,6 +14,14 @@ describe("Discord REST rate limit header parsing", () => {
|
||||
expect(readHeaderNumber(headers, "X-RateLimit-Reset-After")).toBeUndefined();
|
||||
});
|
||||
|
||||
it("rejects unsafe finite numeric header magnitudes", () => {
|
||||
const headers = new Headers({
|
||||
"X-RateLimit-Reset-After": "9007199254740993",
|
||||
});
|
||||
|
||||
expect(readHeaderNumber(headers, "X-RateLimit-Reset-After")).toBeUndefined();
|
||||
});
|
||||
|
||||
it("keeps decimal reset headers working", () => {
|
||||
vi.useFakeTimers();
|
||||
vi.setSystemTime(new Date("2026-05-28T12:00:00.000Z"));
|
||||
|
||||
@@ -32,7 +32,9 @@ export function readHeaderNumber(headers: Headers, name: string): number | undef
|
||||
return undefined;
|
||||
}
|
||||
const parsed = Number(trimmed);
|
||||
return Number.isFinite(parsed) ? parsed : undefined;
|
||||
return Number.isFinite(parsed) && Math.abs(parsed) <= Number.MAX_SAFE_INTEGER
|
||||
? parsed
|
||||
: undefined;
|
||||
}
|
||||
|
||||
export function readResetAt(response: Response): number | undefined {
|
||||
|
||||
Reference in New Issue
Block a user