mirror of
https://github.com/github/rails.git
synced 2026-01-11 23:58:03 -05:00
Compare commits
3 Commits
github45
...
multicooki
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc657e4f46 | ||
|
|
f5f3eaa9d8 | ||
|
|
af5825c68f |
@@ -151,12 +151,20 @@ module ActionController
|
||||
current_session_id(env).present?
|
||||
end
|
||||
|
||||
def load_session_cookies(env)
|
||||
cookies_str = env["HTTP_COOKIE"]
|
||||
cookies = Rack::Utils.parse_query(cookies_str, ';,')
|
||||
(Array === cookies[@key]) ? cookies[@key] : [cookies[@key]]
|
||||
end
|
||||
|
||||
def unpacked_cookie_data(env)
|
||||
env["action_dispatch.request.unsigned_session_cookie"] ||= begin
|
||||
stale_session_check! do
|
||||
request = Rack::Request.new(env)
|
||||
session_data = request.cookies[@key]
|
||||
unmarshal(session_data) || {}
|
||||
valid_cookie = nil
|
||||
load_session_cookies(env).each do |cookie|
|
||||
break if valid_cookie = unmarshal(cookie)
|
||||
end
|
||||
valid_cookie || {}
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user