From 0af6e2d0c8fbb606db58b213ff4d0d28a1e38f4e Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 22 Oct 2021 09:58:41 +0000 Subject: ext: switch filter_body to picohttpparser This should open the door for us to process chunked data faster by modifying the buffer in-place rather than copying to a destination buffer. --- test/unit/test_http_parser_ng.rb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'test/unit/test_http_parser_ng.rb') diff --git a/test/unit/test_http_parser_ng.rb b/test/unit/test_http_parser_ng.rb index 425d5ad..40fe2e3 100644 --- a/test/unit/test_http_parser_ng.rb +++ b/test/unit/test_http_parser_ng.rb @@ -230,8 +230,10 @@ class HttpParserNgTest < Test::Unit::TestCase tmp = "" assert_nil @parser.filter_body(tmp, str << "..") assert_equal "..", tmp - assert_nil @parser.filter_body(tmp, str << "abcd\r\n0\r\n") + assert_nil @parser.filter_body(tmp, str << "abcd") assert_equal "abcd", tmp + @parser.filter_body(tmp, str << "\r\n0\r\n") + assert_equal "", tmp assert_equal str.object_id, @parser.filter_body(tmp, str << "PUT").object_id assert_equal "PUT", str assert ! @parser.keepalive? @@ -318,7 +320,7 @@ class HttpParserNgTest < Test::Unit::TestCase "1\r\na\r\n2\r\n..\r\n0\r\n" assert_equal req, @parser.parse tmp = '' - assert_nil @parser.filter_body(tmp, str) + @parser.filter_body(tmp, str) assert_equal 'a..', tmp rv = @parser.filter_body(tmp, str) assert_equal rv.object_id, str.object_id @@ -357,7 +359,8 @@ class HttpParserNgTest < Test::Unit::TestCase assert_equal 'Content-MD5', req['HTTP_TRAILER'] assert_nil req['HTTP_CONTENT_MD5'] tmp = '' - assert_nil @parser.filter_body(tmp, str) + # assert_nil @parser.filter_body(tmp, str) + @parser.filter_body(tmp, str) assert_equal 'a..', tmp md5_b64 = [ Digest::MD5.digest(tmp) ].pack('m').strip.freeze rv = @parser.filter_body(tmp, str) @@ -387,7 +390,7 @@ class HttpParserNgTest < Test::Unit::TestCase assert_equal 'Content-MD5', req['HTTP_TRAILER'] assert_nil req['HTTP_CONTENT_MD5'] tmp = '' - assert_nil @parser.filter_body(tmp, str) + @parser.filter_body(tmp, str) assert_equal 'a..', tmp md5_b64 = [ Digest::MD5.digest(tmp) ].pack('m').strip.freeze rv = @parser.filter_body(tmp, str) @@ -471,7 +474,7 @@ class HttpParserNgTest < Test::Unit::TestCase assert_equal req, @parser.parse assert_equal 'Transfer-Encoding', req['HTTP_TRAILER'] tmp = '' - assert_nil @parser.filter_body(tmp, str) + @parser.filter_body(tmp, str) assert_equal 'a..', tmp assert_equal '', str str << "Transfer-Encoding: identity\r\n\r\n" -- cgit v1.2.3-24-ge0c7