mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 16:50:39 +00:00
30 lines
917 B
JavaScript
30 lines
917 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, obj) {
|
|
const opts = {url, method, auth, json: true};
|
|
if (method === 'GET') Object.assign(opts, {qs: obj});
|
|
else Object.assign(opts, {body: obj});
|
|
|
|
return new Promise((resolve, reject) => {
|
|
request(opts, (err, response, body) => {
|
|
if (err) throw err;
|
|
if (body) logger.debug({body}, 'retrieveUrl: customer returned an application');
|
|
resolve(body);
|
|
});
|
|
});
|
|
}
|
|
|
|
async function retrieveApp(logger, url, method, auth, obj) {
|
|
let json;
|
|
|
|
if (typeof url === 'object') json = url;
|
|
else json = await retrieveUrl(logger, url, method, auth, obj);
|
|
return normalizeJamones(logger, json).map((tdata) => makeTask(logger, tdata));
|
|
}
|
|
|
|
module.exports = retrieveApp;
|