|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
--- Rakefile.debug 2010-01-07 03:03:57.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
f073f4b |
+++ Rakefile 2010-01-28 00:43:00.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -80,7 +80,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
s.requirements << 'none'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
f073f4b |
s.add_dependency('activesupport', '= 2.3.5' + PKG_BUILD)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- s.add_dependency('rack', '~> 1.0.0')
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ s.add_dependency('rack', '>= 1.0.0')
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
s.require_path = 'lib'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
s.autorequire = 'action_controller'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
--- lib/action_controller.rb.debug 2010-01-07 03:03:57.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
f073f4b |
+++ lib/action_controller.rb 2010-01-28 00:43:00.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -31,7 +31,7 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
f073f4b |
-gem 'rack', '~> 1.0.1'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
f073f4b |
+gem 'rack', '>= 1.0.1'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
require 'rack'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
f073f4b |
require 'action_controller/cgi_ext'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
--- lib/action_controller/integration.rb.debug 2010-01-07 03:03:57.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+++ lib/action_controller/integration.rb 2010-01-07 18:46:03.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -320,9 +320,25 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@headers = Rack::Utils::HeaderHash.new(headers)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- (@headers['Set-Cookie'] || "").split("\n").each do |cookie|
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- name, value = cookie.match(/^([^=]*)=([^;]*);/)[1,2]
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- @cookies[name] = value
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ # Umm.. it seems that with rack 1.1.0 @headers is an array
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ # instead of a string which rack 1.0.0 returned
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ # FIXME!!
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ headers_cookie = @headers['Set-Cookie']
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ if headers_cookie.is_a?(Array)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ headers_cookie.each do |cookie_arr|
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ cookie_arr.split("\n").each do |cookie|
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ name, value = cookie.match(/^([^=]*)=([^;]*);/)[1,2]
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ @cookies[name] = value
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ else
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ (headers_cookie || "").split("\n").each do |cookie|
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ name, value = cookie.match(/^([^=]*)=([^;]*);/)[1,2]
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ @cookies[name] = value
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@body = ""
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
--- lib/action_controller/response.rb.debug 2010-01-07 03:03:57.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+++ lib/action_controller/response.rb 2010-01-07 19:40:44.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -112,6 +112,12 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
def etag?
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ # FIXME!!
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ if Rack::VERSION[0] == 1 && Rack::VERSION[1] >= 1
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ return headers.include?('ETag') && !headers['ETag'].nil?
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
headers.include?('ETag')
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -218,8 +224,15 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
# Don't set the Content-Length for block-based bodies as that would mean
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
# reading it all into memory. Not nice for, say, a 2GB streaming file.
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
def set_content_length!
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ ## FIXME
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
if status && status.to_s[0..2] == '204'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
headers.delete('Content-Length')
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ elsif Rack::VERSION[0] == 1 && Rack::VERSION[1] >= 1 && status && status.to_s[0..2] == '304'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ headers.delete('Content-Length')
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
elsif length = headers['Content-Length']
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
headers['Content-Length'] = length.to_s
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
elsif !body.respond_to?(:call) && (!status || status.to_s[0..2] != '304')
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
--- test/controller/integration_test.rb.debug 2010-01-07 03:03:57.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+++ test/controller/integration_test.rb 2010-01-07 05:44:37.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -306,7 +306,9 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal "Gone", status_message
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_response 410
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_response :gone
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- assert_equal "cookie_1=; path=/\ncookie_3=chocolate; path=/", headers["Set-Cookie"]
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ # Okay if cookies coincides.
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ # With rake 1.1.0 headers["Set-Cookie"] is an array instread of a string
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ #assert_equal "cookie_1=; path=/\ncookie_3=chocolate; path=/", headers["Set-Cookie"]
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal({"cookie_1"=>"", "cookie_2"=>"oatmeal", "cookie_3"=>"chocolate"}, cookies)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal "Gone", response.body
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
--- test/controller/rack_test.rb.debug 2010-01-07 03:03:57.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+++ test/controller/rack_test.rb 2010-01-07 05:40:49.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -215,11 +215,16 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
status, headers, body = @response.to_a
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal 200, status
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ if headers['Set-Cookie'].is_a?(Array)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ cookie_must = []
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ else
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ cookie_must = ""
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal({
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"Content-Type" => "text/html; charset=utf-8",
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"Cache-Control" => "private, max-age=0, must-revalidate",
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"ETag" => '"65a8e27d8879283831b664bd8b7f0ad4"',
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- "Set-Cookie" => "",
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ "Set-Cookie" => cookie_must,
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"Content-Length" => "13"
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
}, headers)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -234,11 +239,16 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
status, headers, body = @response.to_a
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal 200, status
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ if headers['Set-Cookie'].is_a?(Array)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ cookie_must = []
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ else
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ cookie_must = ""
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal({
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"Content-Type" => "text/html; charset=utf-8",
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"Cache-Control" => "private, max-age=0, must-revalidate",
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"ETag" => '"ebb5e89e8a94e9dd22abf5d915d112b2"',
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- "Set-Cookie" => "",
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ "Set-Cookie" => cookie_must,
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"Content-Length" => "8"
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
}, headers)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -251,10 +261,15 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
status, headers, body = @response.to_a
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal 200, status
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ if headers['Set-Cookie'].is_a?(Array)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ cookie_must = []
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ else
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ cookie_must = ""
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_equal({
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"Content-Type" => "text/html; charset=utf-8",
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"Cache-Control" => "no-cache",
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- "Set-Cookie" => ""
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ "Set-Cookie" => cookie_must
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
}, headers)
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
parts = []
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
--- test/controller/session/cookie_store_test.rb.debug 2010-01-07 03:03:57.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+++ test/controller/session/cookie_store_test.rb 2010-01-07 05:47:37.000000000 +0900
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -145,7 +145,8 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
with_test_route_set do
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
get '/no_session_access'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_response :success
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- assert_equal "", headers['Set-Cookie']
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ #assert_equal "", headers['Set-Cookie']
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ assert headers['Set-Cookie'].empty?
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
@@ -155,7 +156,8 @@
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
"fef868465920f415f2c0652d6910d3af288a0367"
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
get '/no_session_access'
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
assert_response :success
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
- assert_equal "", headers['Set-Cookie']
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ #assert_equal "", headers['Set-Cookie']
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
+ assert headers['Set-Cookie'].empty?
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
end
|
|
![](https://seccdn.libravatar.org/avatar/5c7f8fd6810ac2f480ef0a688f6b506f4e9d92a6c7de14adb8942de524cb17d4?s=16&d=retro) |
a647a23 |
|