aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
diff options
context:
space:
mode:
authoreileencodes <eileencodes@gmail.com>2015-07-05 12:59:24 -0400
committereileencodes <eileencodes@gmail.com>2015-07-05 12:59:24 -0400
commita05e245ca58d2ab864c8043f2159886f4089499f (patch)
tree7e408fb672feaa95af85b2ed9495a2ed4e13620a /actionpack/lib/action_dispatch
parent5294bf1ef615662bd2fd7c7385022f0b3de7d26a (diff)
downloadrails-a05e245ca58d2ab864c8043f2159886f4089499f.tar.gz
rails-a05e245ca58d2ab864c8043f2159886f4089499f.tar.bz2
rails-a05e245ca58d2ab864c8043f2159886f4089499f.zip
Refactor cookie_jar to decouple it from request object
This change decouples `cookie_jar` allocation from the request object. We need this for moving controller tests to integration tests so we can access the `cookie_jar` object separately.
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r--actionpack/lib/action_dispatch/middleware/cookies.rb10
1 files changed, 3 insertions, 7 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/cookies.rb b/actionpack/lib/action_dispatch/middleware/cookies.rb
index dd1f140051..9a1e2bd45c 100644
--- a/actionpack/lib/action_dispatch/middleware/cookies.rb
+++ b/actionpack/lib/action_dispatch/middleware/cookies.rb
@@ -8,7 +8,7 @@ require 'active_support/json'
module ActionDispatch
class Request < Rack::Request
def cookie_jar
- env['action_dispatch.cookies'] ||= Cookies::CookieJar.build(self)
+ env['action_dispatch.cookies'] ||= Cookies::CookieJar.build(env, host, ssl?, cookies)
end
end
@@ -228,16 +228,12 @@ module ActionDispatch
}
end
- def self.build(request)
- env = request.env
+ def self.build(env, host, secure, cookies)
key_generator = env[GENERATOR_KEY]
options = options_for_env env
- host = request.host
- secure = request.ssl?
-
new(key_generator, host, secure, options).tap do |hash|
- hash.update(request.cookies)
+ hash.update(cookies)
end
end