rittenhop-ghost/versions/5.94.2/node_modules/@aws-sdk/util-body-length-node/dist-es/calculateBodyLength.js

23 lines
666 B
JavaScript
Raw Normal View History

import { fstatSync, lstatSync } from "fs";
export const calculateBodyLength = (body) => {
if (!body) {
return 0;
}
if (typeof body === "string") {
return Buffer.from(body).length;
}
else if (typeof body.byteLength === "number") {
return body.byteLength;
}
else if (typeof body.size === "number") {
return body.size;
}
else if (typeof body.path === "string" || Buffer.isBuffer(body.path)) {
return lstatSync(body.path).size;
}
else if (typeof body.fd === "number") {
return fstatSync(body.fd).size;
}
throw new Error(`Body Length computation failed for ${body}`);
};