summaryrefslogtreecommitdiff
path: root/lib/cgi/session.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cgi/session.rb')
-rw-r--r--lib/cgi/session.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/cgi/session.rb b/lib/cgi/session.rb
index 9a49fdedc9..66ab8fd67e 100644
--- a/lib/cgi/session.rb
+++ b/lib/cgi/session.rb
@@ -159,7 +159,7 @@ class CGI
attr_reader :session_id
def Session::callback(dbman) #:nodoc:
- lambda{
+ Proc.new{
dbman[0].close unless dbman.empty?
}
end
@@ -351,17 +351,21 @@ class CGI
# on Unix systems).
# prefix:: the prefix to add to the session id when generating
# the filename for this session's FileStore file.
+ # Defaults to "cgi_sid_".
+ # suffix:: the prefix to add to the session id when generating
+ # the filename for this session's FileStore file.
# Defaults to the empty string.
#
# This session's FileStore file will be created if it does
# not exist, or opened if it does.
def initialize(session, option={})
dir = option['tmpdir'] || Dir::tmpdir
- prefix = option['prefix'] || ''
+ prefix = option['prefix'] || 'cgi_sid_'
+ suffix = option['suffix'] || ''
id = session.session_id
require 'digest/md5'
md5 = Digest::MD5.hexdigest(id)[0,16]
- @path = dir+"/"+prefix+md5
+ @path = dir+"/"+prefix+md5+suffix
unless File::exist? @path
@hash = {}
end