@baqhub/sdk
Version:
The official JavaScript SDK for the BAQ federated app platform.
33 lines (32 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpSignatureInput = void 0;
const tslib_1 = require("tslib");
const reduce_js_1 = tslib_1.__importDefault(require("lodash/reduce.js"));
const io_js_1 = require("../../helpers/io.js");
const httpSignatureHeader_js_1 = require("./httpSignatureHeader.js");
//
// Helpers.
//
function signatureInputFromRequest(method, url, headers, authorizationId) {
const headerValues = (0, reduce_js_1.default)(headers, (result, value, header) => {
const signatureHeader = (0, io_js_1.tryDecode)(httpSignatureHeader_js_1.RHttpSignatureHeader, header);
if (!signatureHeader) {
return result;
}
result.set(signatureHeader, value);
return result;
}, new Map());
const urlObj = new URL(url);
return {
authorizationId,
method,
pathAndQuery: urlObj.pathname + urlObj.search,
host: urlObj.hostname,
port: Number(urlObj.port) || 443,
headerValues,
};
}
exports.HttpSignatureInput = {
new: signatureInputFromRequest,
};