/* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ eV: () => (/* binding */ getRecursionDetectionPlugin) /* harmony export */ }); /* unused harmony exports recursionDetectionMiddleware, addRecursionDetectionMiddlewareOptions */ /* harmony import */ var _smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6580); const TRACE_ID_HEADER_NAME = "X-Amzn-Trace-Id"; const ENV_LAMBDA_FUNCTION_NAME = "AWS_LAMBDA_FUNCTION_NAME"; const ENV_TRACE_ID = "_X_AMZN_TRACE_ID"; const recursionDetectionMiddleware = (options) => (next) => async (args) => { const { request } = args; if (!_smithy_protocol_http__WEBPACK_IMPORTED_MODULE_0__/* .HttpRequest */ .aW.isInstance(request) || options.runtime !== "node" || request.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) { return next(args); } const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME]; const traceId = process.env[ENV_TRACE_ID]; const nonEmptyString = (str) => typeof str === "string" && str.length > 0; if (nonEmptyString(functionName) && nonEmptyString(traceId)) { request.headers[TRACE_ID_HEADER_NAME] = traceId; } return next({ ...args, request, }); }; const addRecursionDetectionMiddlewareOptions = { step: "build", tags: ["RECURSION_DETECTION"], name: "recursionDetectionMiddleware", override: true, priority: "low", }; const getRecursionDetectionPlugin = (options) => ({ applyToStack: (clientStack) => { clientStack.add(recursionDetectionMiddleware(options), addRecursionDetectionMiddlewareOptions); }, }); //# sourceURL=[module] //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMTc2OS5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbWF0dHJ6LWN4LWxpYnJhcnkvLi9ub2RlX21vZHVsZXMvQGF3cy1zZGsvbWlkZGxld2FyZS1yZWN1cnNpb24tZGV0ZWN0aW9uL2Rpc3QtZXMvaW5kZXguanM/MGRlNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAc21pdGh5L3Byb3RvY29sLWh0dHBcIjtcbmNvbnN0IFRSQUNFX0lEX0hFQURFUl9OQU1FID0gXCJYLUFtem4tVHJhY2UtSWRcIjtcbmNvbnN0IEVOVl9MQU1CREFfRlVOQ1RJT05fTkFNRSA9IFwiQVdTX0xBTUJEQV9GVU5DVElPTl9OQU1FXCI7XG5jb25zdCBFTlZfVFJBQ0VfSUQgPSBcIl9YX0FNWk5fVFJBQ0VfSURcIjtcbmV4cG9ydCBjb25zdCByZWN1cnNpb25EZXRlY3Rpb25NaWRkbGV3YXJlID0gKG9wdGlvbnMpID0+IChuZXh0KSA9PiBhc3luYyAoYXJncykgPT4ge1xuICAgIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXJncztcbiAgICBpZiAoIUh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UocmVxdWVzdCkgfHxcbiAgICAgICAgb3B0aW9ucy5ydW50aW1lICE9PSBcIm5vZGVcIiB8fFxuICAgICAgICByZXF1ZXN0LmhlYWRlcnMuaGFzT3duUHJvcGVydHkoVFJBQ0VfSURfSEVBREVSX05BTUUpKSB7XG4gICAgICAgIHJldHVybiBuZXh0KGFyZ3MpO1xuICAgIH1cbiAgICBjb25zdCBmdW5jdGlvbk5hbWUgPSBwcm9jZXNzLmVudltFTlZfTEFNQkRBX0ZVTkNUSU9OX05BTUVdO1xuICAgIGNvbnN0IHRyYWNlSWQgPSBwcm9jZXNzLmVudltFTlZfVFJBQ0VfSURdO1xuICAgIGNvbnN0IG5vbkVtcHR5U3RyaW5nID0gKHN0cikgPT4gdHlwZW9mIHN0ciA9PT0gXCJzdHJpbmdcIiAmJiBzdHIubGVuZ3RoID4gMDtcbiAgICBpZiAobm9uRW1wdHlTdHJpbmcoZnVuY3Rpb25OYW1lKSAmJiBub25FbXB0eVN0cmluZyh0cmFjZUlkKSkge1xuICAgICAgICByZXF1ZXN0LmhlYWRlcnNbVFJBQ0VfSURfSEVBREVSX05BTUVdID0gdHJhY2VJZDtcbiAgICB9XG4gICAgcmV0dXJuIG5leHQoe1xuICAgICAgICAuLi5hcmdzLFxuICAgICAgICByZXF1ZXN0LFxuICAgIH0pO1xufTtcbmV4cG9ydCBjb25zdCBhZGRSZWN1cnNpb25EZXRlY3Rpb25NaWRkbGV3YXJlT3B0aW9ucyA9IHtcbiAgICBzdGVwOiBcImJ1aWxkXCIsXG4gICAgdGFnczogW1wiUkVDVVJTSU9OX0RFVEVDVElPTlwiXSxcbiAgICBuYW1lOiBcInJlY3Vyc2lvbkRldGVjdGlvbk1pZGRsZXdhcmVcIixcbiAgICBvdmVycmlkZTogdHJ1ZSxcbiAgICBwcmlvcml0eTogXCJsb3dcIixcbn07XG5leHBvcnQgY29uc3QgZ2V0UmVjdXJzaW9uRGV0ZWN0aW9uUGx1Z2luID0gKG9wdGlvbnMpID0+ICh7XG4gICAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICAgICAgY2xpZW50U3RhY2suYWRkKHJlY3Vyc2lvbkRldGVjdGlvbk1pZGRsZXdhcmUob3B0aW9ucyksIGFkZFJlY3Vyc2lvbkRldGVjdGlvbk1pZGRsZXdhcmVPcHRpb25zKTtcbiAgICB9LFxufSk7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0= //# sourceURL=webpack-internal:///1769