Merge [5822] from 1.2 (oops, wrong order).

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5823 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper
2007-01-01 01:30:28 +00:00
parent 0f048a5c98
commit fe7995f718

View File

@@ -107,16 +107,21 @@ module ActionController #:nodoc:
@session = Hash.new
else
stale_session_check! do
if session_options_with_string_keys['new_session'] == true
@session = new_session
else
begin
case value = session_options_with_string_keys['new_session']
when true
@session = new_session
when false
begin
@session = CGI::Session.new(@cgi, session_options_with_string_keys)
# CGI::Session raises ArgumentError if 'new_session' == false
# and no session cookie or query param is present.
rescue ArgumentError
@session = Hash.new
end
when nil
@session = CGI::Session.new(@cgi, session_options_with_string_keys)
# CGI::Session raises ArgumentError if 'new_session' == false
# and no session cookie or query param is present.
rescue ArgumentError
@session = Hash.new
end
else
raise ArgumentError, "Invalid new_session option: #{value}"
end
@session['__valid_session']
end