From c9f68fc6294a59c31728bab9e01350c4b271fe30 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 30 Aug 2009 22:27:26 -0700 Subject: Ensure hex escaping is done in uppercase The pure variant was using lower-case output instead of upper case, the ext variant was actually fine in this case. This is for nginx output format compatibility. --- test/test_clogger.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'test/test_clogger.rb') diff --git a/test/test_clogger.rb b/test/test_clogger.rb index 9cb494a..5e85e15 100644 --- a/test/test_clogger.rb +++ b/test/test_clogger.rb @@ -333,6 +333,18 @@ class TestClogger < Test::Unit::TestCase assert_equal expect, str.string end + # rack allows repeated headers with "\n": + # { 'Set-Cookie' => "a\nb" } => + # Set-Cookie: a + # Set-Cookie: b + def test_escape_header_newlines + str = StringIO.new + app = lambda { |env| [302, { 'Set-Cookie' => "a\nb" }, [] ] } + cl = Clogger.new(app, :logger => str, :format => '$sent_http_set_cookie') + cl.call(@req) + assert_equal "a\\x0Ab\n", str.string + end + def test_request_uri_fallback str = StringIO.new app = lambda { |env| [ 200, {}, [] ] } -- cgit v1.2.3-24-ge0c7