我正在尝试使用node.js版本0.8.2上运行的护照来保护我的API端点。控制器功能看起来像这样:
exports.create = function(req, res) {
console.log('Request readable? ' + req.readable);
... stream blob in req to create blob ...
};
当没有中间件来验证传入请求并且“请求可读?是”打印到控制台时,这很有用。
当我介绍中间件来验证传入的请求时,我的控制器中的req不再可读。
我做错了什么?
答案 0 :(得分:0)
在这种情况下发生的事情是我正在调用异步地从数据库中获取accessToken,并且在这个间隙中该流不可读时:
// req.readable == true here
auth(req, res, function(err) {
// req.readable == false here
在这种情况下您需要做的是暂停并恢复请求流:
// req.readable == true here
req.pause();
auth(req, res, function(err) {
req.resume();
// req.readable == true here