访问请求之外的请求数据

时间:2014-03-28 13:14:09

标签: node.js express

我的请求标头包含Authorization等数据。我试图从发出通知的事件中得到它。

我通常会访问标题:var auth = req.get('Authorization');

但需要通过该代码无法从没有req的模型事件中访问它。

那么有什么方法可以实现这样的目标?


根据评论推荐更新。

从技术上讲,我有一个像:

这样的控制器
app.get('/', function(req, res) { 
    req.get('Authorization');
    // save some model data
});

现在我有一个有onSaving事件的模型。当模型发出事件时。我运行了一些代码。

此代码需要Authorization标头,但我无法从任何地方获取它,因为它仅在req上可用。该模型是另一个文件,我正在使用ORM进行MYSQL。

1 个答案:

答案 0 :(得分:1)

你没有关于你的问题的详细信息,但这可能就是答案:

var events = require('events');
var eventEmitter = new events.EventEmitter();


eventEmitter.on('auth', function( params ){
    var req = params.req,
        res = params.res,
        auth = params.auth;
    // Do something with auth or req/res here...
});

app.get('/', function(req, res) { 
    var auth = req.get('Authorization');
    // save some model data
    eventEmitter.emit('auth', {
        req: req,
        req: res,
        auth: auth
    });
});