Files
jambonz-feature-server/lib/utils/retrieve-app.js
2020-01-25 11:47:33 -05:00

31 lines
868 B
JavaScript

const request = require('request');
//require('request-debug')(request);
const makeTask = require('../tasks/make_task');
const normalizeJamones = require('./normalize-jamones');
function retrieveUrl(logger, url, method, auth, qs, body) {
logger.debug(`body: ${body}`);
const opts = {url, method, auth, qs, json: true};
if (body) {
logger.debug('adding body');
Object.assign(opts, {body});
}
return new Promise((resolve, reject) => {
request(opts, (err, response, body) => {
if (err) throw err;
resolve(body);
});
});
}
async function retrieveApp(logger, url, method, auth, qs, body) {
let json;
if (typeof url === 'object') json = url;
else json = await retrieveUrl(logger, url, method, auth, qs, body);
return normalizeJamones(logger, json).map((tdata) => makeTask(logger, tdata));
}
module.exports = retrieveApp;