aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMatthew Landauer <matthew@openaustralia.org>2013-03-06 12:45:01 +1100
committerMatthew Landauer <matthew@openaustralia.org>2013-03-06 12:45:01 +1100
commit1e958d20f674dabde9e8fc6606edc704d4f93b66 (patch)
tree764f0228c7e4bc2bf541cb45a1e7603ce10b39e8 /lib
parent79d63b1d8f2e5af49099563dfc027c6eab62a56d (diff)
Fix bug in rails 2 cookiestore that only shows up when using integration tests
Diffstat (limited to 'lib')
-rw-r--r--lib/cookie_store_with_line_break_fix.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/cookie_store_with_line_break_fix.rb b/lib/cookie_store_with_line_break_fix.rb
new file mode 100644
index 000000000..dc623fbd0
--- /dev/null
+++ b/lib/cookie_store_with_line_break_fix.rb
@@ -0,0 +1,19 @@
+# See https://makandracards.com/makandra/9443-rails-2-s-cookiestore-produces-invalid-cookie-data-causing-tests-to-break
+
+# Should be able to remove this when we upgrade to Rails 3
+
+module ActionController
+ module Session
+ CookieStore.class_eval do
+
+ def call_with_line_break_fix(*args)
+ status, headers, body = call_without_line_break_fix(*args)
+ headers['Set-Cookie'].gsub! "\n\n", "\n" if headers['Set-Cookie'].present?
+ [ status, headers, body ]
+ end
+
+ alias_method_chain :call, :line_break_fix
+
+ end
+ end
+end \ No newline at end of file