node.js - 在 Express/Node.js 中维护请求范围

标签 node.js express zone

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

  1. StrongLoop Zone Library : 文档说“区域库和文档仍在开发中:存在错误、缺少功能和有限的文档。”
  2. Continuation-Local Storage : 不确定这是否会成为 Node.js 的一部分。这issue最后建议查看 StrongLoop 区域。
  3. Node.js Domains : 看起来这并没有真正起飞。

最佳答案

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

完全披露:这是我构建和维护的 npm 包。

关于node.js - 在 Express/Node.js 中维护请求范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31746875/

相关文章:

.net - 在 .NET 中使用 BouncyCaSTLe 进行签名并在 NodeJS 中进行验证

node.js - 如何使用 Express 使静态目录中的每个文件都具有 Content-Type ...?

Oracle:到日期/时间的纪元毫秒,包括时区

reporting-services - 折线图中的条件背景颜色

php - Node.js + Socket.IO 和 CodeIgniter

node.js - 如何从 Firebase 向 node.js 发送通知?

javascript - 运行 Protractor 时找不到模块 '../built/cli.js'

node.js - 负载测试主干应用程序

node.js - 如何在不使用任何模板引擎的情况下将一些上下文从 Node 服务器发送到 html 模板

ruby-on-rails - 将字符串转换为特定时区的日期时间