diff options
author | eileencodes <eileencodes@gmail.com> | 2015-07-05 12:59:24 -0400 |
---|---|---|
committer | eileencodes <eileencodes@gmail.com> | 2015-07-05 12:59:24 -0400 |
commit | a05e245ca58d2ab864c8043f2159886f4089499f (patch) | |
tree | 7e408fb672feaa95af85b2ed9495a2ed4e13620a /actionpack/lib/action_dispatch | |
parent | 5294bf1ef615662bd2fd7c7385022f0b3de7d26a (diff) | |
download | rails-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.rb | 10 |
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 |