Llamar a múltiples solicitudes HTTP en una sola solicitud HTTP en Node.js

Estoy tratando de llamar a múltiples URL en una sola llamada URL y empujar su respuesta json en una matriz y enviar esa matriz en respuesta al usuario final.

Mi código se ve así:

var express = require('express');

var main_router = express.Router();

var http = require('http');

urls = [
"http://localhost:3010/alm/build_tool",
"http://localhost:3010/alm/development_tool",
"http://localhost:3010/alm/project_architecture"];

var responses = [];

main_router.route('/')

.get(function (req, res) {

var completed_requests = 0;

for (url in urls) {

  http.get(url, function(res) {

    responses.push(res.body);

    completed_request++;

    if (completed_request == urls.length) {

        // All download done, process responses array
    }
  });
}
res.send(responses);
});

También he intentado esto usando el módulo de solicitud npm. Cuando ejecuto este código, solo devuelve NULL o alguna salida aleatoria que solo tiene encabezados.

Mi objetivo es llamar a múltiples URL en una solicitud de obtención de un solo nodo y agregar su salida JSON en una matriz y enviarla al usuario final.

Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta