diff options
author | Eric Wong <normalperson@yhbt.net> | 2009-08-09 03:47:25 -0700 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2009-08-09 03:47:25 -0700 |
commit | 91150f18c4c7fe6ee912bb835ecaea001c322d30 (patch) | |
tree | 5f5a996b6feff9a57b0299db8119f95257c7e2a5 /test | |
parent | ff37b3fe17f04db80e31cb070e3ce8fa1f9eae39 (diff) | |
download | unicorn-91150f18c4c7fe6ee912bb835ecaea001c322d30.tar.gz |
Just in case clients decide to get cute.
Diffstat (limited to 'test')
-rw-r--r-- | test/unit/test_http_parser_ng.rb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/unit/test_http_parser_ng.rb b/test/unit/test_http_parser_ng.rb index b91013d..6fc0bda 100644 --- a/test/unit/test_http_parser_ng.rb +++ b/test/unit/test_http_parser_ng.rb @@ -236,4 +236,20 @@ class HttpParserNgTest < Test::Unit::TestCase assert_raise(HttpParserError) { @parser.headers({}, str) } end + def test_bad_trailers + str = "PUT / HTTP/1.1\r\n" \ + "Trailer: Transfer-Encoding\r\n" \ + "transfer-Encoding: chunked\r\n\r\n" \ + "1\r\na\r\n2\r\n..\r\n0\r\n" + req = {} + assert_equal req, @parser.headers(req, str) + assert_equal 'Transfer-Encoding', req['HTTP_TRAILER'] + tmp = '' + assert_nil @parser.read_body(tmp, str) + assert_equal 'a..', tmp + assert_equal '', str + str << "Transfer-Encoding: identity\r\n\r\n" + assert_raise(HttpParserError) { @parser.trailers(req, str) } + end + end |