@sap/cli-core
Version:
Command-Line Interface (CLI) Core Module
26 lines (25 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.create = void 0;
const constants_1 = require("../../../constants");
const fetch_1 = require("./fetch");
const next_1 = require("../next");
const requiresCsrfToken = (parameterMappings) => !!parameterMappings?.find((param) => param.name === constants_1.X_CSRF_TOKEN);
const createCsrfTokenFetchHandler = (path, parameterMappings) => (0, fetch_1.create)("GET", path, parameterMappings
?.filter((param) => param.name !== constants_1.X_CSRF_TOKEN)
.concat([
{
name: constants_1.X_CSRF_TOKEN,
in: "header",
source: { type: "value", value: "fetch" },
},
]));
/* jscpd:ignore-start */
const create = (method, path, parameterMappings, responsePostProcessor) => {
/* jscpd:ignore-end */
if (requiresCsrfToken(parameterMappings)) {
return (0, next_1.create)("commands.handler.fetch", createCsrfTokenFetchHandler(path, parameterMappings), (0, fetch_1.create)(method, path, parameterMappings, responsePostProcessor));
}
return (0, fetch_1.create)(method, path, parameterMappings, responsePostProcessor);
};
exports.create = create;