When a job fails, respect the Retry-After header if applicable

This commit is contained in:
Evan Hahn 2021-09-02 17:31:21 -05:00 committed by GitHub
parent c7873dd7ea
commit 1f45bce0a2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 228 additions and 30 deletions

View file

@ -6,7 +6,11 @@ import { isNormalNumber } from './isNormalNumber';
const ONE_SECOND = 1000;
const MINIMAL_RETRY_AFTER = ONE_SECOND;
export function parseRetryAfter(value: string): number {
export function parseRetryAfter(value: unknown): number {
if (typeof value !== 'string') {
return MINIMAL_RETRY_AFTER;
}
let retryAfter = parseInt(value, 10);
if (!isNormalNumber(retryAfter) || retryAfter.toString() !== value) {
retryAfter = 0;