Avoid uneeded queries in session stores if sid is not given.

This commit is contained in:
José Valim 2010-07-18 11:01:32 +02:00
parent fa98eca75b
commit e210895ba9
3 changed files with 5 additions and 4 deletions

@ -191,8 +191,11 @@ def set_cookie(request, options)
def load_session(env)
stale_session_check! do
sid = current_session_id(env)
sid, session = get_session(env, sid)
if sid = current_session_id(env)
sid, session = get_session(env, sid)
else
sid, session = generate_sid, {}
end
[sid, session]
end
end

@ -25,7 +25,6 @@ def initialize(app, options = {})
private
def get_session(env, sid)
sid ||= generate_sid
begin
session = @pool.get(sid) || {}
rescue MemCache::MemCacheError, Errno::ECONNREFUSED

@ -294,7 +294,6 @@ def destroy
private
def get_session(env, sid)
Base.silence do
sid ||= generate_sid
session = find_session(sid)
env[SESSION_RECORD_KEY] = session
[sid, session.data]