diff options
author | Joshua Peek <josh@joshpeek.com> | 2008-12-18 12:56:18 -0600 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2008-12-18 12:56:18 -0600 |
commit | 2e22c7fda00f78db79cb2dcc79495c085035240d (patch) | |
tree | 92c18edbcab2e2d0733b77604838fe7ee3e53cd5 /actionpack/lib/action_controller/dispatcher.rb | |
parent | 2eb2ec9e635c740684673495ed547d1c0769038d (diff) | |
download | rails-2e22c7fda00f78db79cb2dcc79495c085035240d.tar.gz rails-2e22c7fda00f78db79cb2dcc79495c085035240d.tar.bz2 rails-2e22c7fda00f78db79cb2dcc79495c085035240d.zip |
Conditionally inject session middleware instead of using session management
Diffstat (limited to 'actionpack/lib/action_controller/dispatcher.rb')
-rw-r--r-- | actionpack/lib/action_controller/dispatcher.rb | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/dispatcher.rb b/actionpack/lib/action_controller/dispatcher.rb index aa00eecea7..f0897d98b2 100644 --- a/actionpack/lib/action_controller/dispatcher.rb +++ b/actionpack/lib/action_controller/dispatcher.rb @@ -44,9 +44,22 @@ module ActionController cattr_accessor :middleware self.middleware = MiddlewareStack.new do |middleware| - middleware.use "ActionController::Lock", :if => lambda { !ActionController::Base.allow_concurrency } + middleware.use "ActionController::Lock", :if => lambda { + !ActionController::Base.allow_concurrency + } middleware.use "ActionController::Failsafe" - middleware.use "ActionController::SessionManagement::Middleware" + + ["ActionController::Session::CookieStore", + "ActionController::Session::MemCacheStore", + "ActiveRecord::SessionStore"].each do |store| + middleware.use(store, ActionController::Base.session_options, + :if => lambda { + if session_store = ActionController::Base.session_store + session_store.name == store + end + } + ) + end end include ActiveSupport::Callbacks |