2011-12-16 94 views
2

我想在Rack環境中存儲一些值,以避免重新計算每個中間件中的值。是否不鼓勵設置您自己的Rack環境變量? 例子:是否自定義機架環境變量不被鼓勵?

  • SERVER_NAME
  • SERVER_PORT
  • rack.errors
  • my_namespace.my_key
  • my_namespace.second_key
  • [等]

回答

0

不鼓勵自定義機架環境。

這在機架規格進行了討論:http://rack.rubyforge.org/doc/SPEC.html如下:

服務器或應用程序可以存儲環境中的他們自己的數據了。鍵必須至少包含一個點,並且應該唯一地加前綴。前綴機架。保留用於Rack核心分佈和其他可接受的規範,不得以其他方式使用。該環境不得包含密鑰HTTP_CONTENT_TYPE或HTTP_CONTENT_LENGTH(使用沒有HTTP_的版本)。 CGI鍵(不帶句點命名)必須具有字符串值。有以下限制。 。 。

1

我不知道的對此事的任何「官方」意見。如果我是你,我會帶幾個流行的Rack模塊,看看他們的代碼,並試圖從那裏推斷出「最佳實踐」。

無論如何,在一天結束時,唯一重要的是如果你的軟件能夠做到它應該做的和做得好。其餘是無關緊要的。