in lib/recipes-data/src/lib/fastly.ts [109:151]
export async function sendFastlyPurgeRequestWithRetries({
contentPath,
apiKey,
contentPrefix,
purgeType,
retryCount,
}: {
contentPath: string;
apiKey: string;
contentPrefix: string;
purgeType?: PurgeType;
retryCount?: number;
}): Promise<void> {
try {
return sendFastlyPurgeRequest({
contentPath,
apiKey,
contentPrefix,
purgeType,
});
} catch (err) {
if (err instanceof FastlyError) {
const nextRetry = retryCount ? retryCount + 1 : 1;
if (
nextRetry > MaximumRetries ||
!MaximumRetries ||
isNaN(MaximumRetries)
) {
throw err; //we give up! it ain't gonna work.
}
await awaitableDelay();
return sendFastlyPurgeRequestWithRetries({
contentPath,
apiKey,
contentPrefix,
purgeType,
retryCount: nextRetry,
});
} else {
throw err;
}
}
}