>我想快速收听传入的POST请求.
>我想把这个请求传递给另外一个服务器
>我想收到响应里面的快递处理程序(我不想管道响应来表达res流)
>我想把这个请求传递给另外一个服务器
>我想收到响应里面的快递处理程序(我不想管道响应来表达res流)
app.post('server1',function(req,res,next){ var request = require('request'); req.pipe(request.post('server2')).pipe(res); }
所以这不工作 – 请求甚至没有管道到server2 – 我检查了它,没有传入的请求.
我解决了点1& 2这样:
var bodyParser = express.bodyParser(); app.use(function(req,next){ if(req.path == '/server1' && req.method == 'POST') { return next(); } else { bodyParser(req,next); } });
不是很好,但它的工作 – 它只是禁用bodyparser单个路由(POST / server1).
但我仍然不知道如何从管道请求获取json响应体 – 我有以下代码:
app.post('/server1',next){ var request = require('request'); var pipe = req.pipe(request.post('/server2')); pipe.on('end',function(){ var res2 = pipe.response; console.log(res2); }); });
res2对象具有正确的statusCode和头等等,但它不包含body – 我如何从res2对象获得这个? / server2在json中返回一些数据,但我不知道如何从响应中读取它…
解决方法
它不起作用,因为bodyParser使用解析器拦截所有的物体