Compare commits

...

3 Commits

Author SHA1 Message Date
Vicent Marti
bc657e4f46 Damn operators 2013-03-08 14:07:56 +01:00
Vicent Marti
f5f3eaa9d8 ops, load from here 2013-03-08 13:22:38 +01:00
Vicent Marti
af5825c68f Add support for multi-domain cookies
Handles Chrome bug with subdomain cookies
2013-03-08 13:19:20 +01:00

View File

@@ -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