【问题标题】:Send Node.js ServerResponse back to client with Express使用 Express 将 Node.js ServerResponse 发送回客户端
【发布时间】:2015-03-04 02:30:37
【问题描述】:

我正在使用 Node.js Express 应用程序,并尝试使用发出 HTTP 请求并返回 Node.js ServerResponse 对象的库。我想以某种方式使用 Express 将其发送回浏览器。我可以查看 ServerResponse 对象,并在 Express 响应中手动设置所有内容(状态、正文、cookie、标题等),但我希望有更好的方法。有什么好方法可以使用 Express 将 ServerResponse 对象发送回客户端吗?

【问题讨论】:

  • 你的意思是像res.json(res)

标签: node.js express


【解决方案1】:

最有可能的是,您的库返回一个实现stream.Readable interfacehttp.IncomingMessage class 实例。在这种情况下,您应该能够pipe 向客户端传入消息:

request(uri).pipe(res);

这是一个使用request module的完整示例:

var express = require('express');
var request = require('request');
var app = express();

app.get('*', function (req, res) {
  var uri = 'http://stackoverflow.com' + req.url;
  request(uri).pipe(res);
});

app.listen(3000);

【讨论】:

  • 你是对的,它是http.IncomingMessage的一个实例!这行得通,但它只传输响应的主体,而不是标头等。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-04
相关资源
最近更新 更多