UNPKG

@sap/cli-core

Version:

Command-Line Interface (CLI) Core Module

22 lines (21 loc) 1.06 kB
import { X_CSRF_TOKEN } from "../../../constants.js"; import { create as createFetchHandler } from "./fetch.js"; import { create as createNextHandler } from "../next.js"; const requiresCsrfToken = (parameterMappings) => !!parameterMappings?.find((param) => param.name === X_CSRF_TOKEN); const createCsrfTokenFetchHandler = (path, parameterMappings) => createFetchHandler("GET", path, parameterMappings .filter((param) => param.name !== X_CSRF_TOKEN) .concat([ { name: X_CSRF_TOKEN, in: "header", source: { type: "value", value: "fetch" }, }, ])); /* jscpd:ignore-start */ export const create = (method, path, parameterMappings, responsePostProcessor) => { /* jscpd:ignore-end */ if (requiresCsrfToken(parameterMappings)) { return createNextHandler("commands.handler.fetch", createCsrfTokenFetchHandler(path, parameterMappings), createFetchHandler(method, path, parameterMappings, responsePostProcessor)); } return createFetchHandler(method, path, parameterMappings, responsePostProcessor); };