不鼓励自定义Rack环境变量吗?

时间:2011-12-16 17:58:03

标签: ruby rack

我想在Rack环境中存储一些值,以避免重新计算每个中间件中的值。不鼓励设置自己的Rack环境变量吗? 例子:

  • SERVER_NAME
  • SERVER_PORT
  • rack.errors
  • my_namespace.my_key
  • my_namespace.second_key
  • [其他]

2 个答案:

答案 0 :(得分:1)

我不知道对此事有任何'官方'意见。如果我是你,我会采用一些流行的Rack模块,查看他们的代码并尝试从那里推断出“最佳实践”。

无论如何,在一天结束时,唯一重要的是你的软件应该做什么,做得好。其余的都无关紧要。

答案 1 :(得分:0)

不鼓励使用自定义机架环境。

这在Rack Spec:http://rack.rubyforge.org/doc/SPEC.html中讨论如下:

  

服务器或应用程序也可以在环境中存储自己的数据。密钥必须至少包含一个点,并且应该唯一地加上前缀。前缀机架。保留用于Rack核心分发和其他可接受的规范,否则不得使用。环境不得包含密钥HTTP_CONTENT_TYPE或HTTP_CONTENT_LENGTH(使用不带HTTP_的版本)。 CGI键(没有句点命名)必须具有String值。有以下限制。 。