72 lines
2.5 KiB
JavaScript
72 lines
2.5 KiB
JavaScript
|
var __defProp = Object.defineProperty;
|
||
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
||
|
var __export = (target, all) => {
|
||
|
for (var name in all)
|
||
|
__defProp(target, name, { get: all[name], enumerable: true });
|
||
|
};
|
||
|
var __copyProps = (to, from, except, desc) => {
|
||
|
if (from && typeof from === "object" || typeof from === "function") {
|
||
|
for (let key of __getOwnPropNames(from))
|
||
|
if (!__hasOwnProp.call(to, key) && key !== except)
|
||
|
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||
|
}
|
||
|
return to;
|
||
|
};
|
||
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||
|
|
||
|
// src/index.ts
|
||
|
var src_exports = {};
|
||
|
__export(src_exports, {
|
||
|
contentLengthMiddleware: () => contentLengthMiddleware,
|
||
|
contentLengthMiddlewareOptions: () => contentLengthMiddlewareOptions,
|
||
|
getContentLengthPlugin: () => getContentLengthPlugin
|
||
|
});
|
||
|
module.exports = __toCommonJS(src_exports);
|
||
|
var import_protocol_http = require("@smithy/protocol-http");
|
||
|
var CONTENT_LENGTH_HEADER = "content-length";
|
||
|
function contentLengthMiddleware(bodyLengthChecker) {
|
||
|
return (next) => async (args) => {
|
||
|
const request = args.request;
|
||
|
if (import_protocol_http.HttpRequest.isInstance(request)) {
|
||
|
const { body, headers } = request;
|
||
|
if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) {
|
||
|
try {
|
||
|
const length = bodyLengthChecker(body);
|
||
|
request.headers = {
|
||
|
...request.headers,
|
||
|
[CONTENT_LENGTH_HEADER]: String(length)
|
||
|
};
|
||
|
} catch (error) {
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
return next({
|
||
|
...args,
|
||
|
request
|
||
|
});
|
||
|
};
|
||
|
}
|
||
|
__name(contentLengthMiddleware, "contentLengthMiddleware");
|
||
|
var contentLengthMiddlewareOptions = {
|
||
|
step: "build",
|
||
|
tags: ["SET_CONTENT_LENGTH", "CONTENT_LENGTH"],
|
||
|
name: "contentLengthMiddleware",
|
||
|
override: true
|
||
|
};
|
||
|
var getContentLengthPlugin = /* @__PURE__ */ __name((options) => ({
|
||
|
applyToStack: (clientStack) => {
|
||
|
clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);
|
||
|
}
|
||
|
}), "getContentLengthPlugin");
|
||
|
// Annotate the CommonJS export names for ESM import in node:
|
||
|
|
||
|
0 && (module.exports = {
|
||
|
contentLengthMiddleware,
|
||
|
contentLengthMiddlewareOptions,
|
||
|
getContentLengthPlugin
|
||
|
});
|
||
|
|