在 Express/Node.js 中维护请求范围
Maintaining request scope in Express/Node.js
我正在使用 Express 在我的 Node.js 应用程序中公开 REST API。当 REST 请求进来时,我从 HTTP headers 中提取用户信息。我希望此信息在请求的整个生命周期内都可用,无论我在哪个函数中。一个明显但笨拙的方法是将用户信息作为参数传递给所有函数调用。有没有更好的办法?到目前为止,我已经找到了以下解决方案,但我不确定它们是否已准备就绪:
- StrongLoop Zone Library:文档说 "The zone library and documentation are still under development: there are bugs, missing features, and limited documentation."
- Continuation-Local Storage: Not sure if this is slated to be part of Node.js. This issue最后推荐看StrongLoop区
- Node.js Domains:看起来不像真的起飞了。
我不确定您是否还在寻找,但前阵子我为此目的构建了 express-http-context
。它是一个位于 cls-hooks
(以前的 continuation-local-storage
)之上的快速中间件。
完全披露:这是我构建和维护的 npm 包。
我正在使用 Express 在我的 Node.js 应用程序中公开 REST API。当 REST 请求进来时,我从 HTTP headers 中提取用户信息。我希望此信息在请求的整个生命周期内都可用,无论我在哪个函数中。一个明显但笨拙的方法是将用户信息作为参数传递给所有函数调用。有没有更好的办法?到目前为止,我已经找到了以下解决方案,但我不确定它们是否已准备就绪:
- StrongLoop Zone Library:文档说 "The zone library and documentation are still under development: there are bugs, missing features, and limited documentation."
- Continuation-Local Storage: Not sure if this is slated to be part of Node.js. This issue最后推荐看StrongLoop区
- Node.js Domains:看起来不像真的起飞了。
我不确定您是否还在寻找,但前阵子我为此目的构建了 express-http-context
。它是一个位于 cls-hooks
(以前的 continuation-local-storage
)之上的快速中间件。
完全披露:这是我构建和维护的 npm 包。