aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/middleware
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_dispatch/middleware')
-rw-r--r--actionpack/lib/action_dispatch/middleware/cookies.rb7
-rw-r--r--actionpack/lib/action_dispatch/middleware/flash.rb12
2 files changed, 14 insertions, 5 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/cookies.rb b/actionpack/lib/action_dispatch/middleware/cookies.rb
index 3ed5f1055f..24ebb8fed7 100644
--- a/actionpack/lib/action_dispatch/middleware/cookies.rb
+++ b/actionpack/lib/action_dispatch/middleware/cookies.rb
@@ -115,10 +115,13 @@ module ActionDispatch
@delete_cookies = {}
@host = host
@secure = secure
+ @closed = false
@cookies = {}
end
- alias :closed? :frozen?
+ attr_reader :closed
+ alias :closed? :closed
+ def close!; @closed = true end
# Returns the value of the cookie by +name+, or +nil+ if no such cookie exists.
def [](name)
@@ -327,7 +330,7 @@ module ActionDispatch
[status, headers, body]
ensure
cookie_jar = ActionDispatch::Request.new(env).cookie_jar unless cookie_jar
- cookie_jar.freeze
+ cookie_jar.close!
end
end
end
diff --git a/actionpack/lib/action_dispatch/middleware/flash.rb b/actionpack/lib/action_dispatch/middleware/flash.rb
index e7090ecf1b..6eda1f31a7 100644
--- a/actionpack/lib/action_dispatch/middleware/flash.rb
+++ b/actionpack/lib/action_dispatch/middleware/flash.rb
@@ -43,9 +43,12 @@ module ActionDispatch
class FlashNow #:nodoc:
def initialize(flash)
@flash = flash
+ @closed = false
end
- alias :closed? :frozen?
+ attr_reader :closed
+ alias :closed? :closed
+ def close!; @closed = true end
def []=(k, v)
raise ClosedError, :flash if closed?
@@ -73,9 +76,12 @@ module ActionDispatch
def initialize #:nodoc:
super
@used = Set.new
+ @closed = false
end
- alias :closed? :frozen?
+ attr_reader :closed
+ alias :closed? :closed
+ def close!; @closed = true end
def []=(k, v) #:nodoc:
raise ClosedError, :flash if closed?
@@ -194,7 +200,7 @@ module ActionDispatch
if !flash_hash.empty? || session.key?('flash')
session["flash"] = flash_hash
end
- flash_hash.freeze
+ flash_hash.close!
end
if session.key?('flash') && session['flash'].empty?