@knapsack/app
Version:
Build Design Systems with Knapsack
37 lines • 1.14 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.execCurl = execCurl;
const child_process_1 = require("child_process");
/**
* Use this in place of `fetch` for when strict ssl is on
*/
function execCurl({ url, headers = {}, }) {
const allHeaders = {
...headers,
'Content-Type': 'application/json',
Accept: 'application/json',
};
const headerFlags = Object.entries(allHeaders)
.map(([key, value]) => `--header '${key}: ${value}'`)
.join(' ');
return new Promise((resolve, reject) => {
(0, child_process_1.exec)(`curl --request GET ${headerFlags} --silent --url ${url}`, (error, stdout, stderr) => {
if (error) {
reject(error);
return;
}
if (stderr) {
reject(new Error(stderr));
return;
}
try {
const parsed = JSON.parse(stdout);
resolve(parsed);
}
catch (e) {
reject(e);
}
});
});
}
//# sourceMappingURL=exec-curl.js.map