129 lines
3.8 KiB
JavaScript
129 lines
3.8 KiB
JavaScript
// Module ID: 855
|
|
// Function ID: 9610
|
|
// Name: parseRetryAfterHeader
|
|
// Dependencies: [57, 808]
|
|
// Exports: isRateLimited, updateRateLimits
|
|
|
|
// Module 855 (parseRetryAfterHeader)
|
|
import _slicedToArray from "_slicedToArray";
|
|
|
|
function parseRetryAfterHeader(arg0) {
|
|
if (arguments.length > 1) {
|
|
if (undefined !== arguments[1]) {
|
|
let safeDateNowResult = arguments[1];
|
|
}
|
|
const _parseInt = parseInt;
|
|
const _HermesInternal = HermesInternal;
|
|
const parsed = parseInt("" + arg0, 10);
|
|
const _isNaN = isNaN;
|
|
if (isNaN(parsed)) {
|
|
const _Date = Date;
|
|
const _HermesInternal2 = HermesInternal;
|
|
const parsed1 = Date.parse("" + arg0);
|
|
const _isNaN2 = isNaN;
|
|
let num3 = 60000;
|
|
if (!isNaN(parsed1)) {
|
|
num3 = parsed1 - safeDateNowResult;
|
|
}
|
|
return num3;
|
|
} else {
|
|
return 1000 * parsed;
|
|
}
|
|
}
|
|
safeDateNowResult = require(808) /* withRandomSafeContext */.safeDateNow();
|
|
}
|
|
function disabledUntil(all) {
|
|
return all[arg1] || all.all || 0;
|
|
}
|
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
|
export const DEFAULT_RETRY_AFTER = 60000;
|
|
export { disabledUntil };
|
|
export const isRateLimited = function isRateLimited(arg0, arg1) {
|
|
if (arguments.length > 2) {
|
|
if (undefined !== arguments[2]) {
|
|
let safeDateNowResult = arguments[2];
|
|
}
|
|
return disabledUntil(arg0, arg1) > safeDateNowResult;
|
|
}
|
|
safeDateNowResult = require(808) /* withRandomSafeContext */.safeDateNow();
|
|
};
|
|
export { parseRetryAfterHeader };
|
|
export const updateRateLimits = function updateRateLimits(arg0, headers) {
|
|
headers = headers.headers;
|
|
if (arguments.length > 2) {
|
|
if (undefined !== arguments[2]) {
|
|
let safeDateNowResult = arguments[2];
|
|
}
|
|
const _Object = Object;
|
|
const merged = Object.assign({}, arg0);
|
|
let prop;
|
|
if (null != headers) {
|
|
prop = headers["x-sentry-rate-limits"];
|
|
}
|
|
if (null != headers) {
|
|
retry_after = headers["retry-after"];
|
|
}
|
|
if (prop) {
|
|
const parts = prop.trim().split(",");
|
|
const iter = parts[Symbol.iterator]();
|
|
const str = prop.trim();
|
|
while (iter !== undefined) {
|
|
let tmp34 = _slicedToArray;
|
|
let tmp35 = _slicedToArray(str7.split(":", 5), 5);
|
|
let str8 = tmp35[1];
|
|
let str9 = tmp35[4];
|
|
let _parseInt = parseInt;
|
|
let parsed = parseInt(tmp35[0], 10);
|
|
let tmp37 = parsed;
|
|
let _isNaN = isNaN;
|
|
let num9 = 60;
|
|
if (!isNaN(parsed)) {
|
|
num9 = parsed;
|
|
}
|
|
let result = 1000 * num9;
|
|
let tmp16 = str8;
|
|
if (str8) {
|
|
let tmp20 = str8;
|
|
let parts1 = str8.split(";");
|
|
let tmp22 = parts1;
|
|
for (const item10072 of parts1) {
|
|
let tmp24 = "metric_bucket" === item10072;
|
|
let tmp25 = tmp24;
|
|
let tmp23 = item10072;
|
|
if (tmp24) {
|
|
tmp25 = str9;
|
|
}
|
|
let tmp26 = tmp25;
|
|
if (tmp25) {
|
|
let tmp27 = str9;
|
|
let parts2 = str9.split(";");
|
|
tmp26 = !parts2.includes("custom");
|
|
}
|
|
if (!tmp26) {
|
|
let tmp28 = merged;
|
|
let tmp29 = item10072;
|
|
let tmp30 = safeDateNowResult;
|
|
let tmp31 = result;
|
|
merged[tmp23] = tmp3 + result;
|
|
}
|
|
continue;
|
|
}
|
|
} else {
|
|
let tmp17 = merged;
|
|
let tmp18 = safeDateNowResult;
|
|
let tmp19 = result;
|
|
merged.all = tmp3 + result;
|
|
}
|
|
continue;
|
|
}
|
|
str7 = iter.next();
|
|
} else if (retry_after) {
|
|
merged.all = tmp3 + parseRetryAfterHeader(retry_after, tmp3);
|
|
} else if (429 === tmp) {
|
|
merged.all = tmp3 + 60000;
|
|
}
|
|
return merged;
|
|
}
|
|
safeDateNowResult = require(808) /* withRandomSafeContext */.safeDateNow();
|
|
};
|