mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
parent
5b0149a17a
commit
03d561ad77
3 changed files with 14 additions and 11 deletions
|
@ -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
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -502,16 +502,10 @@ class CookiesIntegrationTest < ActionDispatch::IntegrationTest
|
|||
|
||||
class TestController < ActionController::Base
|
||||
def dont_set_cookies
|
||||
# initialize lazy loaded objects
|
||||
cookies.permanent
|
||||
cookies.signed
|
||||
head :ok
|
||||
end
|
||||
|
||||
def set_cookies
|
||||
# initialize lazy loaded objects
|
||||
cookies.permanent
|
||||
cookies.signed
|
||||
cookies["that"] = "hello"
|
||||
head :ok
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue