From f6844fc683a0cdfadcc9971c740c6c33ce422dc6 Mon Sep 17 00:00:00 2001 From: Greg Ose Date: Tue, 17 Jun 2014 11:54:35 -0500 Subject: [PATCH] move serialization option from cookie option to global env option --- actionpack/lib/action_dispatch/middleware/cookies.rb | 12 ++---------- railties/lib/rails/application.rb | 3 ++- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/actionpack/lib/action_dispatch/middleware/cookies.rb b/actionpack/lib/action_dispatch/middleware/cookies.rb index b0522175b0..dbb2235c37 100644 --- a/actionpack/lib/action_dispatch/middleware/cookies.rb +++ b/actionpack/lib/action_dispatch/middleware/cookies.rb @@ -81,6 +81,7 @@ module ActionDispatch class Cookies HTTP_HEADER = "Set-Cookie".freeze TOKEN_KEY = "action_dispatch.secret_token".freeze + SESSION_SERIALIZER = "action_dispatch.session_serializer".freeze # Raised when storing more than 4K of session data. class CookieOverflow < StandardError; end @@ -106,12 +107,7 @@ module ActionDispatch secret = request.env[TOKEN_KEY] host = request.host secure = request.ssl? - serializer = if session_options = request.env[Session::AbstractStore::ENV_SESSION_OPTIONS_KEY] - session_options[:serializer] - else - nil - end - byebug unless serializer + serializer = request.env[SESSION_SERIALIZER] new(secret, host, secure, serializer).tap do |hash| hash.update(request.cookies) @@ -164,10 +160,6 @@ module ActionDispatch # if host matches one of the supplied domains without a dot in front of it options[:domain] = options[:domain].find {|domain| @host.include? domain[/^\.?(.*)$/, 1] } end - - @serializer = options[:serializer] - byebug unless @serializer - end # Sets the cookie named +name+. The second argument may be the very cookie diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb index 2281b9686c..80fca791ad 100644 --- a/railties/lib/rails/application.rb +++ b/railties/lib/rails/application.rb @@ -181,7 +181,8 @@ module Rails "action_dispatch.show_exceptions" => config.action_dispatch.show_exceptions, "action_dispatch.show_detailed_exceptions" => config.consider_all_requests_local, "action_dispatch.logger" => Rails.logger, - "action_dispatch.backtrace_cleaner" => Rails.backtrace_cleaner + "action_dispatch.backtrace_cleaner" => Rails.backtrace_cleaner, + "action_dispatch.session_serializer" => config.session_options[:serializer], }) end