@softchef/cdk-iot-device-management
Version:
IoT device management is composed of things, thing types, thing groups, jobs, files API services. The constructs can be used independently, that are based on full-managed service to create an API Gateway & Lambda function.
31 lines (30 loc) • 1.26 kB
JavaScript
import { __awaiter, __generator, __read, __spreadArray } from "tslib";
export var retryMiddleware = function (options) {
return function (next, context) {
return function (args) { return __awaiter(void 0, void 0, void 0, function () {
var retryStrategy;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, options.retryStrategy()];
case 1:
retryStrategy = _a.sent();
if (retryStrategy === null || retryStrategy === void 0 ? void 0 : retryStrategy.mode)
context.userAgent = __spreadArray(__spreadArray([], __read((context.userAgent || []))), [["cfg/retry-mode", retryStrategy.mode]]);
return [2, retryStrategy.retry(next, args)];
}
});
}); };
};
};
export var retryMiddlewareOptions = {
name: "retryMiddleware",
tags: ["RETRY"],
step: "finalizeRequest",
priority: "high",
override: true,
};
export var getRetryPlugin = function (options) { return ({
applyToStack: function (clientStack) {
clientStack.add(retryMiddleware(options), retryMiddlewareOptions);
},
}); };