diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2005-11-09 20:34:44 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2005-11-09 20:34:44 +0000 |
commit | 3661eacfbde129ea1ed4dbecf1789175c80ce73b (patch) | |
tree | fa2defbda24ec60485e3e3cafe82d080ae3e0794 /actionpack | |
parent | 773b869088f341005ba1f01fc5ec1185665f15f1 (diff) | |
download | rails-3661eacfbde129ea1ed4dbecf1789175c80ce73b.tar.gz rails-3661eacfbde129ea1ed4dbecf1789175c80ce73b.tar.bz2 rails-3661eacfbde129ea1ed4dbecf1789175c80ce73b.zip |
Include all of session creation in stale_session_check
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2958 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_controller/cgi_process.rb | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/cgi_process.rb b/actionpack/lib/action_controller/cgi_process.rb index 62bbd02e32..51a0433a89 100644 --- a/actionpack/lib/action_controller/cgi_process.rb +++ b/actionpack/lib/action_controller/cgi_process.rb @@ -95,12 +95,14 @@ module ActionController #:nodoc: if @session_options == false @session = Hash.new else - if session_options_with_string_keys['new_session'] == true - @session = new_session - else - @session = CGI::Session.new(@cgi, session_options_with_string_keys) + stale_session_check! do + if session_options_with_string_keys['new_session'] == true + @session = new_session + else + @session = CGI::Session.new(@cgi, session_options_with_string_keys) + end + @session['__valid_session'] end - stale_session_check! end end @session @@ -127,7 +129,7 @@ module ActionController #:nodoc: end def stale_session_check! - @session['__valid_session'] + yield rescue ArgumentError => argument_error if argument_error.message =~ %r{undefined class/module (\w+)} begin |