在Express/Node.js中维护请求作用域



我使用Express在我的Node.js应用程序中公开REST API。当一个REST请求进来时,我从HTTP报头中提取用户信息。我希望这个信息在这个请求的整个生命周期内都是可用的,无论我在什么功能中。一种明显但笨拙的方法是将用户信息作为参数传递给所有函数调用。有没有更好的办法?到目前为止,我已经找到了以下解决方案,但我不确定它们是否已经准备好了:

  1. StrongLoop区域库:文档说"区域库和文档仍在开发中:有bug,缺少功能和有限的文档。"
  2. continue - local Storage:不确定这是否是Node.js的一部分。这个问题最后建议查看StrongLoop区域。
  3. Node.js Domains:看起来并没有真正起飞。

我不确定你是否还在寻找,但是前一段时间我为此目的构建了express-http-context。它是一个位于cls-hooks(以前的continuation-local-storage)之上的快速中间件。

详细说明:这是我构建并维护的npm包。

最新更新