sonic-build/routes/utils.js (35 lines of code) (raw):

const util = require('util'); const request = require('request'); function _request_internal(options) { return new Promise((resolve, reject) => { request(options, (error, response, body) => { if (error) { console.error(error); reject(error); } if (response.statusCode != 200) { console.error(response.statusCode); reject('Invalid status code <' + response.statusCode + '>'); } resolve(body); }); }); } async function _request(method, url, options=null) { try{ if (options == null){ options = {} } options['url'] = url; options['method'] = method; return _request_internal(options); } catch(error) { console.error(util.format("failed to %s request to %s", method, url)); return ""; } } module.exports = Object.freeze({ request: _request, });