我正在为 node.js 开发一个 Connect 中间件,它需要向传入请求添加 HTTP header 。
这样的东西似乎有效:
function authorize_request(req, res, next) {
//...
req.headers['remote-user'] = user;
next();
}
问题是请求是http.IncomingMessage
的实例,并且 headers 属性是 documented to be read only :
这是向请求添加 header 的允许方式还是在某些情况下会失败?有没有更好的办法?
最佳答案
如果您需要将一些内部信息传递给下一个中间件,只需使用对象而不是实际的 header 。
修改 header 不是一个好的做法,因为其他模块可以依赖于此,这会让它们变得困惑。
function authorize(req, res, next) {
// ...
req.data = req.data || { };
req.data.remoteUser = user;
next();
}
关于node.js - 如何向传入的 HTTP 请求添加 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17524273/