シンプルな http プロキシ サーバーを作成して、node.js について詳しく学ぼうとしています。使用シナリオは単純です: ユーザー -> プロキシ -> サーバー -> プロキシ -> ユーザー
次のコードは、最後のステップまで機能します。コネクタの出力をユーザーに戻す方法が見つかりませんでした。
#!/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 を使用すると、ブラウザからの着信要求、発信プロキシ要求、プロキシへのサーバー応答が表示されます。どういうわけか、応答をブラウザに再送信できませんでした。
このロジックをパイプで実装する適切な方法は何ですか?