Le http.request() de Node renvoie les données en morceaux
pour le streaming (ce serait bien s'ils l'indiquaient explicitement). Il est donc nécessaire d'écrire chaque morceau dans le corps de la réponse d'Express, écoutez la fin de la requête http
(ce qui n'est pas vraiment documenté), puis appelez response.end()
pour terminer la réponse.
var req = http.request(options, function(res)
{
res.on( 'data', function(chunk) { response.write(chunk); } );
res.on( 'end', function() { response.end(); } );
}
);
req.on('error', function(error) { … });
req.end();
Où response
est la réponse d'Express à la requête initiale du client (appel ajax de curl ou angular).