in apps/mountebank-mock/mountebank-source/src/models/mbConnection.js [32:68]
function postJSON (what, where) {
return new Promise((resolve, reject) => {
const parts = new URL(where),
driver = require(parts.protocol.replace(':', '')),
options = {
hostname: parts.hostname,
port: parts.port,
path: parts.pathname,
method: 'POST',
headers: { 'Content-Type': 'application/json' }
},
request = driver.request(options, response => {
const packets = [];
response.on('data', chunk => packets.push(chunk));
response.on('end', () => {
const buffer = Buffer.concat(packets),
body = buffer.toString('utf8');
if (response.statusCode !== 200) {
reject(errors.CommunicationError({
statusCode: response.statusCode,
body: body
}));
}
else {
resolve(JSON.parse(body));
}
});
});
request.on('error', reject);
request.write(JSON.stringify(what));
request.end();
});
}