Proxy node.js simple en redirigeant le serveur http vers une requête http

Essayer d'en apprendre plus sur node.js en faisant un simple serveur proxy http. Le scénario d'utilisation est simple: l'utilisateur -> proxy -> serveur -> proxy -> user

Le code suivant fonctionne jusqu'à la dernière étape. Ne pouvais pas trouver moyen de tuyau du connecteur de sortie à l'utilisateur.

#!/usr/bin/env node

var
    url = require('url'),
    http = require('http'),
    acceptor = http.createServer().listen(3128);

acceptor.on('request', function(request, response) {
    console.log('request ' + request.url);
    request.pause();
    var options = url.parse(request.url);
    options.headers = request.headers;
    options.method = request.method;
    options.agent = false;

    var connector = http.request(options);
    request.pipe(connector);
    request.resume();
// connector.pipe(response); //doesn't work
// connector.pipe(request); //doesn't work either
});

À l'aide de tcpflow je vois la demande entrante à partir du navigateur, puis sortant de proxy demande, la réponse du serveur de retour vers le proxy. De toute façon je ne parvenais pas à le retransmettre la réponse au navigateur.

Quelle est la méthode appropriée pour mettre en œuvre cette logique avec des tuyaux?

source d'informationauteur Nikolai Gorchilov