Попытка узнать больше о node.js, сделав простой HTTP-прокси-сервер. Сценарий использования прост: пользователь → прокси → сервер → прокси → пользователь
Следующий код работает до последнего шага. Не удалось найти путь к выводу соединителя контуров обратно пользователю.
#!/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
});
Используя tcpflow, я вижу входящий запрос из браузера, затем исходящий запрос прокси, затем ответ сервера обратно на прокси. Как-то я не смог выполнить повторную передачу ответа обратно в браузер.
Каков правильный способ реализации этой логики с помощью труб?