表达 req.pipe() 不起作用

2024-02-05

  1. 我想以express 的形式监听传入的POST 请求。
  2. 我想将此请求传送到另一台服务器
  3. 我想在快速处理程序中接收响应(我不想将响应通过管道传输到快速资源流)

现在我有以下代码:

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,res,next){

    if(req.path == '/server1' && req.method == 'POST') {
        return next();
    }
    else {
        bodyParser(req,res,next);
    }
});

不太好,但它有效 - 它只是禁用单个路由(POST /server1)的bodyparser。

但我仍然不知道如何从管道请求获取 json 响应正文 - 我有以下代码:

app.post('/server1',function(req,res,next){

    var request = require('request');
    var pipe = req.pipe(request.post('/server2'));

    pipe.on('end',function(){

        var res2 = pipe.response;
        console.log(res2);

    });
});

res2对象具有正确的状态代码和标题等,但它不包含正文 - 我如何从res2目的?/server2返回一些 json 数据,但我不知道如何从响应中读取它......


它不起作用,因为 bodyParser 使用解析器拦截所有主体

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

表达 req.pipe() 不起作用 的相关文章

随机推荐

  • 将 GA 客户端 ID 映射到 BigQuery fullvisitorID 时遇到问题

    我正在进行受控测试 验证 Google Analytics 和 BigQuery 数据之间的链接 理论上 BigQuery fullVisitorId 应该等同于客户端 ID 也就是说 以下受控测试刚刚完成 我访问了一个内部网站 其中包含自
  • 虚线等值线地图箱图中的选择行为

    我正在尝试修改 Plotly Dash Choropleth Mapbox 图的标准选择行为 默认行为是 经典 的 Shift 选择进行多选 按住 Shift 并单击 套索选择 每个新选择都会添加到选择池中 当不再按下 Shift 键时 任
  • 通过 https 代理使用 git clone 超时

    命令 git克隆https github com user project git https github com user project git 通过 https 代理使用时超时 我之前已经成功地让 git 在代理后面运行 并且阅读了
  • NPM 安装导致 401 Unauthorized for private repo

    我的依赖项中有以下行package json log https git mydomain com myproject myrepo repository archive tar gz ref 0 1 0 我得到以下信息 km Karls
  • jQuery FancyBox:滚动时弹出窗口相对于窗口的固定位置

    我怎样才能固定的位置fancybox http fancybox net api滚动页面时屏幕上弹出窗口 这个插件中有没有任何选项或者我必须使用它来定义它css 来自API page http fancybox net api center
  • 如何告诉 eslint 您更喜欢在字符串周围使用单引号

    我是 eslint 的新手 它会抛出大量错误 告诉我使用双引号 error Strings must use doublequote 那不是我的偏好 我已经设置了一个 eslintrc 文件 其中包含基础知识 env node 1 我想将其
  • 容器禁用服务帐户

    我有一些容器将在其中运行用户代码 为了加强安全性 我想阻止他们通过服务帐户机制访问kubernetes api 但又不想全局关闭它 文档说您可以切换服务帐户名称 但只能切换为另一个有效名称 有没有我错过的替代方案 能限制账号为0权限吗 您可
  • 为什么 `cmake --verbose=1` 给出详细的 cmake 输出,但 `cmake -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON` 却没有?

    我的目标是查看有关调用的详细信息g 直接调用cmake从命令行 我不关心输出make为了这个问题的目的 根据官方常见问题解答 https cmake org Wiki CMake FAQ Is there an option to prod
  • 有没有办法获取 python array.array() 的视图?

    我正在生成许多较大的 随机 文件 500MB 其中内容是重复调用的输出random randint 我想预先分配一个大缓冲区 将长整型写入该缓冲区 并定期将该缓冲区刷新到磁盘 我目前正在使用array array 但我看不到在该缓冲区中创建
  • AWS ECS通过Cloudformation创建计划任务(cron)

    我们想要创造计划任务 http docs aws amazon com AmazonECS latest developerguide scheduled tasks html通过 CloudFormation 在 AWS ECS 中 是否
  • 在大量重新加载RowsAtIndexPaths UITableView 时保持选定的单元格

    在其中一个视图中有一个 UITableView 它经常更新 跟踪更改是使用 reloadRowsAtIndexPaths 以经典方式完成的 void refreshCells NSArray changedCells NSLog refre
  • 为 Spark 创建 JAR

    我正在关注这个guide https spark apache org docs 1 2 0 quick start html 但是当我尝试使用以下命令创建 JAR 时 我无法在 Spark 中运行 Scalasbt I have 简单 s
  • C++编译器如何编译变量名? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我明白我没有说清楚 我认为我的疑问可
  • 返回一个 CompletableFuture 而不暴露执行器线程

    我在库中公开了一个方法 该方法返回一个 CompletableFuture 该方法的计算发生在单线程执行器上 这是我的瓶颈 因此我不希望任何后续工作发生在同一线程上 如果我使用返回 supplyAsync 结果的简单方法 我会将我宝贵的线程
  • 用户表单 - 从私有子返回公共子

    我有下面的代码 它是一个私有子 它是从公共子中的 Userform3 show 初始化的 据我所知 下面的代码可以工作 但完成后它不会返回到公共子 请注意 当我更改sheet8 range I16 的值时 另一个私有子被调用 但是我相信下面
  • 在 bash 中使用 iconv 更改多个文件的编码

    我想用 iconv 更改多个 php 文件编码 我使用 find 和 exec 选项 参考 http linux bigresource com Ubuntu Encoding Conversion on Multiple Files 4f
  • 每次在生产服务器上更新 Mercurial 分支时是否都必须合并并提交?

    我在最近的一个项目中使用了 Mercurial 在我部署项目的网络服务器上 我的配置文件与生产设置略有不同 问题是当我pull and update 我经常不得不merge and commit以及 这是正确的工作流程吗 似乎很奇怪 为了能
  • 如何在 Docker-compose 容器内使用 Pip 处理权限错误

    我一直在尝试为 python 项目运行容器 其中一部分是必须不时在容器内使用 pip 当我这样做时 当我尝试执行此操作时 最终会出现两个不同的错误pip install WARNING The directory cache pip or
  • 在 ASP.NET 中以中等信任度存储临时用户文件

    我有一个场景 我的 ASP NET Web 应用程序的用户提交由文本信息和图像组成的推荐 提交过程有以下步骤 首先用户输入内容并选择图像的路径 当他点击预览时 信息会再次显示 以便他确认 一旦确认信息将保存在数据库中 这样做的问题是 我不想
  • 表达 req.pipe() 不起作用

    我想以express 的形式监听传入的POST 请求 我想将此请求传送到另一台服务器 我想在快速处理程序中接收响应 我不想将响应通过管道传输到快速资源流 现在我有以下代码 app post server1 function req res