in apps/mountebank-mock/mountebank-source/src/cli/api.js [5:44]
function curl (options, method, path, body) {
return new Promise((resolve, reject) => {
const requestOptions = {
method: method,
path: path,
port: options.port,
hostname: options.host || 'localhost',
headers: {
'Content-Type': 'application/json',
Connection: 'close'
}
};
if (options.apikey) {
requestOptions.headers['x-api-key'] = options.apikey;
}
const request = http.request(requestOptions, response => {
response.body = '';
response.setEncoding('utf8');
response.on('data', chunk => { response.body += chunk; });
response.on('end', () => {
if (response.statusCode === 200) {
response.body = JSON.parse(response.body);
resolve(response);
}
else {
reject(new Error(`${response.statusCode}\n${response.body}`));
}
});
});
request.on('error', reject);
if (body) {
request.write(JSON.stringify(body, null, 2));
}
request.end();
});
}