aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/dispatcher.rb
diff options
context:
space:
mode:
authorJoshua Peek <josh@joshpeek.com>2008-12-18 12:56:18 -0600
committerJoshua Peek <josh@joshpeek.com>2008-12-18 12:56:18 -0600
commit2e22c7fda00f78db79cb2dcc79495c085035240d (patch)
tree92c18edbcab2e2d0733b77604838fe7ee3e53cd5 /actionpack/lib/action_controller/dispatcher.rb
parent2eb2ec9e635c740684673495ed547d1c0769038d (diff)
downloadrails-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.rb17
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