File tree Expand file tree Collapse file tree 3 files changed +14
-2
lines changed
Expand file tree Collapse file tree 3 files changed +14
-2
lines changed Original file line number Diff line number Diff line change 1- 2.2.3
1+ 2.2.5
Original file line number Diff line number Diff line change @@ -140,7 +140,7 @@ def initialize(&block)
140140 # Returns a deep-dup'd copy of this configuration.
141141 def dup
142142 copy = self . class . new
143- copy . cookies = @cookies
143+ copy . cookies = self . class . send ( :deep_copy_if_hash , @cookies )
144144 copy . csp = @csp . dup if @csp
145145 copy . csp_report_only = @csp_report_only . dup if @csp_report_only
146146 copy . cached_headers = self . class . send ( :deep_copy_if_hash , @cached_headers )
Original file line number Diff line number Diff line change @@ -105,6 +105,18 @@ module SecureHeaders
105105 _ , env = cookie_middleware . call request . env
106106 expect ( env [ 'Set-Cookie' ] ) . to eq ( "foo=bar" )
107107 end
108+
109+ it "sets the secure cookie flag correctly on interleaved http/https requests" do
110+ Configuration . default { |config | config . cookies = { secure : true } }
111+
112+ request = Rack ::Request . new ( "HTTPS" => "off" )
113+ _ , env = cookie_middleware . call request . env
114+ expect ( env [ 'Set-Cookie' ] ) . to eq ( "foo=bar" )
115+
116+ request = Rack ::Request . new ( "HTTPS" => "on" )
117+ _ , env = cookie_middleware . call request . env
118+ expect ( env [ 'Set-Cookie' ] ) . to eq ( "foo=bar; secure" )
119+ end
108120 end
109121 end
110122end
You can’t perform that action at this time.
0 commit comments