在express.js中返回不同的响应对象

时间:2017-05-03 12:58:48

标签: node.js express

我正在尝试将用于调试目的的代理功能从hapi.js服务器移植到express.js服务器。

该功能使用https模块从不同的服务器检索数据,我想简单地将此检索的响应转发给原始客户端。

简化代码:

server.get('/proxy/*', (req, res) => {
  https.request({
    protocol: 'https:',
    hostname: 'example.com',
    path: req.url.replace(/^\/proxy\//, ''),
    headers: Object.assign({}, req.headers)
  }, (proxiedResponse) => {
    // respond with proxiedResponse here somehow
  });
});

在Hapi中,我可以使用reply(proxiedResponse);轻松完成此操作(reply是Hapi与res的对应),因为reply不是实际的响应对象,而是一个函数在内部创建和发送回复 因为在Express中,res是实际的响应对象,我想我需要以某种方式替换/修改它。

有没有办法以更简单的方式执行此操作,而不是将proxiedResponse中的每个相关数据明确复制到res

1 个答案:

答案 0 :(得分:0)

您只需使用

即可

res.send(proxiedResponse)