node.js – express req.pipe()不起作用

>我想快速收听传入的POST请求.
>我想把这个请求传递给另外一个服务器
>我想收到响应里面的快递处理程序(我不想管道响应来表达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使用解析器拦截所有的物体

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...