aws-sigv4-fetch
Version:
SignatureV4 fetch function implemented with the official AWS SDK
61 lines (56 loc) • 2.08 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
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 index_exports = {};
__export(index_exports, {
createSignedFetcher: () => createSignedFetcher
});
module.exports = __toCommonJS(index_exports);
// src/create-signed-fetcher.ts
var import_aws_sigv4_sign = require("aws-sigv4-sign");
// src/get-fetch.ts
var getFetchFn = (customFetchFn) => {
if (customFetchFn) {
return customFetchFn;
}
if (typeof window !== "undefined" && typeof window.fetch === "function") {
return window.fetch.bind(window);
}
if (typeof globalThis !== "undefined" && typeof globalThis.fetch === "function") {
return globalThis.fetch.bind(globalThis);
}
throw new Error("No fetch implementation found");
};
// src/create-signed-fetcher.ts
var createSignedFetcher = (options) => {
const fetchFn = getFetchFn(options.fetch);
const signOptions = {
service: options.service,
region: options.region,
credentials: options.credentials
};
return async (input, init) => {
const signedRequest = init ? await (0, import_aws_sigv4_sign.signRequest)(input, init, signOptions) : await (0, import_aws_sigv4_sign.signRequest)(input, signOptions);
return fetchFn(signedRequest);
};
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
createSignedFetcher
});