UNPKG

1.27 kBJavaScriptView Raw
1import { __awaiter, __generator, __read, __spreadArray } from "tslib";
2export var retryMiddleware = function (options) {
3 return function (next, context) {
4 return function (args) { return __awaiter(void 0, void 0, void 0, function () {
5 var retryStrategy;
6 return __generator(this, function (_a) {
7 switch (_a.label) {
8 case 0: return [4, options.retryStrategy()];
9 case 1:
10 retryStrategy = _a.sent();
11 if (retryStrategy === null || retryStrategy === void 0 ? void 0 : retryStrategy.mode)
12 context.userAgent = __spreadArray(__spreadArray([], __read((context.userAgent || [])), false), [["cfg/retry-mode", retryStrategy.mode]], false);
13 return [2, retryStrategy.retry(next, args)];
14 }
15 });
16 }); };
17 };
18};
19export var retryMiddlewareOptions = {
20 name: "retryMiddleware",
21 tags: ["RETRY"],
22 step: "finalizeRequest",
23 priority: "high",
24 override: true,
25};
26export var getRetryPlugin = function (options) { return ({
27 applyToStack: function (clientStack) {
28 clientStack.add(retryMiddleware(options), retryMiddlewareOptions);
29 },
30}); };