我正在尝试使用 node.js 来设置一个简单的代理服务器。其背后的想法是让对一个 Web 服务的所有 Web 服务调用都通过 node.js 代理,以便轻松检查和调试 Web 服务调用。
为了做到这一点,我正在尝试使用以下代码来代理请求:
var
url = require('url'),
http = require('http'),
acceptor = http.createServer().listen(8008);
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, function(serverResponse) {
serverResponse.pause();
response.writeHeader(serverResponse.statusCode, serverResponse.headers);
serverResponse.pipe(response);
serverResponse.resume();
});
request.pipe(connector);
request.resume();
});
但我不知道在哪里检查/转储以提交响应。使用节点检查器,我正在查看响应对象: serverResponse.pipe(response); 但响应的正文尚不可用。
我发现以下问题node.js 代理请求正文,但它是用 CoffeeScript 编写的。