UNPKG

low-code-service

Version:

to handle workflow execution, handlebars execution and condition execution for low code service

59 lines (58 loc) 2.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCurlCommand = exports.getRequestData = void 0; var handlebars_handler_1 = require("../handlebars/handlebars-handler"); function convertToString(data) { if (typeof data === 'string') { return data; } return JSON.stringify(data); } var getRequestData = function (apiData, params) { var _a; var headerTemplate = apiData.headerTemplate, requestTemplate = apiData.requestTemplate, urlTemplate = apiData.urlTemplate; var compiledHeaders = (0, handlebars_handler_1.getTemplateData)(convertToString(headerTemplate) || '', params); compiledHeaders = (0, handlebars_handler_1.cleanHandleBarTemplate)(compiledHeaders, '{}'); compiledHeaders = JSON.parse(compiledHeaders); var compiledRequestBody = (0, handlebars_handler_1.getTemplateData)(convertToString(requestTemplate) || '', params); compiledRequestBody = (0, handlebars_handler_1.cleanHandleBarTemplate)(compiledRequestBody, '{}'); compiledRequestBody = JSON.parse(compiledRequestBody); var compiledUrl = (0, handlebars_handler_1.getTemplateData)(convertToString(urlTemplate) || '', params); compiledUrl = (0, handlebars_handler_1.cleanHandleBarTemplate)(compiledUrl, ''); var isFormData = false; if (compiledHeaders) { var contentType = compiledHeaders['Content-Type'] || compiledHeaders['content-type']; if (contentType && contentType.includes('application/x-www-form-urlencoded')) { isFormData = true; } } return _a = { headers: compiledHeaders }, _a[isFormData ? 'form' : 'body'] = compiledRequestBody, _a.url = compiledUrl, _a; }; exports.getRequestData = getRequestData; var getRequestBody = function (obj) { if (!obj) { return ''; } var strToReturn = ''; for (var key in obj) { strToReturn += " -d '".concat(key, "=").concat(obj[key], "'"); } return strToReturn; }; var getCurlCommand = function (apiData, params) { var method = apiData.method; var _a = (0, exports.getRequestData)(apiData, params), compiledHeaderTemplate = _a.headers, compiledRequestTemplate = _a.body, compiledUrl = _a.url, compiledFormData = _a.form; var finalHeaders = Object.keys(compiledHeaderTemplate).reduce(function (acc, curr) { acc += (" -H '".concat(curr, ":").concat(compiledHeaderTemplate[curr], "'")); return acc; }, ''); var body = compiledFormData ? "".concat(getRequestBody(compiledFormData)) : "-d '".concat(JSON.stringify(compiledRequestTemplate), "'"); var curlCommand = "curl -X ".concat(method, " ").concat(finalHeaders, " ").concat(body, " ").concat(compiledUrl); return curlCommand; }; exports.getCurlCommand = getCurlCommand;