diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-15 06:35:55 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-12-15 06:35:55 +0000 |
commit | 2edbb9d0f802bab53153979c59125dd0afaafccf () | |
tree | 76c471687bb6af4c8c0528187471346008838622 /lib/cgi/session.rb | |
parent | 772396882f02ec3738242a4e83a34e4fc32597bb (diff) |
* lib/set.rb (Set#==): [ruby-dev:25206]
* ext/openssl/ossl_digest.c (ossl_digest_initialize): [ruby-dev:25198] * utf8.c (utf8_is_mbc_ambiguous): [ruby-talk:123561] * utf8.c (utf8_mbc_to_normalize): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7563 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | lib/cgi/session.rb | 43 |
1 files changed, 27 insertions, 16 deletions
@@ -155,6 +155,9 @@ class CGI # class Session # The id of this session. attr_reader :session_id, :new_session @@ -243,35 +246,43 @@ class CGI def initialize(request, option={}) @new_session = false session_key = option['session_key'] || '_session_id' - id = option['session_id'] - unless id if option['new_session'] - id = create_new_id end end - unless id if request.key?(session_key) - id = request[session_key] - id = id.read if id.respond_to?(:read) end - unless id - id, = request.cookies[session_key] end - unless id if option.key?('new_session') and not option['new_session'] raise ArgumentError, "session_key `%s' should be supplied"%session_key end - id = create_new_id end end - @session_id = id dbman = option['database_manager'] || FileStore - @dbman = dbman::new(self, option) request.instance_eval do - @output_hidden = {session_key => id} @output_cookies = [ Cookie::new("name" => session_key, - "value" => id, "expires" => option['session_expires'], "domain" => option['session_domain'], "secure" => option['session_secure'], @@ -371,7 +382,7 @@ class CGI @path = dir+"/"+prefix+md5+suffix unless File::exist? @path unless session.new_session - raise RuntimeError, "uninitialized session" end @hash = {} end @@ -441,7 +452,7 @@ class CGI @session_id = session.session_id unless GLOBAL_HASH_TABLE.key?(@session_id) unless session.new_session - raise RuntimeError, "uninitialized session" end GLOBAL_HASH_TABLE[@session_id] = {} end |