Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 5822

Show
Ignore:
Timestamp:
01/01/07 01:27:55 (2 years ago)
Author:
bitsweat
Message:

Tighten new_session option check.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1-2-pre-release/actionpack/lib/action_controller/cgi_process.rb

    r5821 r5822  
    108108        else 
    109109          stale_session_check! do 
    110             if session_options_with_string_keys['new_session'] == true 
    111               @session = new_session 
    112             else 
    113               begin 
     110            case value = session_options_with_string_keys['new_session'] 
     111              when true 
     112                @session = new_session 
     113              when false 
     114                begin 
     115                  @session = CGI::Session.new(@cgi, session_options_with_string_keys) 
     116                # CGI::Session raises ArgumentError if 'new_session' == false 
     117                # and no session cookie or query param is present. 
     118                rescue ArgumentError 
     119                  @session = Hash.new 
     120                end 
     121              when nil 
    114122                @session = CGI::Session.new(@cgi, session_options_with_string_keys) 
    115               # CGI::Session raises ArgumentError if 'new_session' == false 
    116               # and no session cookie or query param is present. 
    117               rescue ArgumentError 
    118                 @session = Hash.new 
    119               end 
     123              else 
     124                raise ArgumentError, "Invalid new_session option: #{value}" 
    120125            end 
    121126            @session['__valid_session']