Skip to content
Browse files

r3209@asus: jeremy | 2005-11-20 01:04:22 -0800

 If sessions are disabled, return a hash that raises an error when it's accessed.


git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3109 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent 63b7921 commit da9f713d2c3be94361579d41645ed79e15958686 @jeremy jeremy committed Nov 20, 2005
Showing with 6 additions and 2 deletions.
  1. +6 −2 actionpack/lib/action_controller/cgi_process.rb
View
8 actionpack/lib/action_controller/cgi_process.rb
@@ -93,7 +93,7 @@ def port_from_http_host
def session
unless @session
if @session_options == false
- @session = Hash.new
+ @session = disabled_session_hash
else
stale_session_check! do
if session_options_with_string_keys['new_session'] == true
@@ -121,13 +121,17 @@ def method_missing(method_id, *arguments)
# Delete an old session if it exists then create a new one.
def new_session
if @session_options == false
- Hash.new
+ disabled_session_hash
else
CGI::Session.new(@cgi, session_options_with_string_keys.merge("new_session" => false)).delete rescue nil
CGI::Session.new(@cgi, session_options_with_string_keys.merge("new_session" => true))
end
end
+ def disabled_session_hash
+ Hash.new { |h,k| raise "You disabled sessions but are attempting to set session[#{k.inspect}]" }
+ end
+
def stale_session_check!
yield
rescue ArgumentError => argument_error

0 comments on commit da9f713

Please sign in to comment.
Something went wrong with that request. Please try again.