For instance, using request:
var request = require('request');
router.get('/', function(req, res, next) {
request(URL, function (err, response, body) {
if (err || response.statusCode !== 200) {
return res.sendStatus(500);
}
res.render('index', { title : 'Main page', news : JSON.parse(body) });
});
});
To perform multiple requests, you could use async.map():
var request = require('request');
var async = require('async');
router.get('/', function(req, res, next) {
var URLS = [ 'http://...', 'http://...', ... ];
async.map(URLS, function(url, done) {
request(url, function (err, response, body) {
if (err || response.statusCode !== 200) {
return done(err || new Error());
}
return done(null, JSON.parse(body));
});
}, function(err, results) {
if (err) return res.sendStatus(500);
res.render('index', { title : 'Main page', news : results });
});
});