Avoid uneeded queries in session stores if sid is not given.
This commit is contained in:
parent
fa98eca75b
commit
e210895ba9
@ -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]
|
||||
|
Loading…
Reference in New Issue
Block a user