@confluentinc/schemaregistry
Version:
Node.js client for Confluent Schema Registry
19 lines (18 loc) • 715 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.sleep = void 0;
exports.fullJitter = fullJitter;
exports.isSuccess = isSuccess;
exports.isRetriable = isRetriable;
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
exports.sleep = sleep;
function fullJitter(baseDelayMs, maxDelayMs, retriesAttempted) {
return Math.random() * Math.min(maxDelayMs, baseDelayMs * 2 ** retriesAttempted);
}
function isSuccess(statusCode) {
return statusCode >= 200 && statusCode <= 299;
}
function isRetriable(statusCode) {
return statusCode == 408 || statusCode == 429
|| statusCode == 500 || statusCode == 502 || statusCode == 503 || statusCode == 504;
}