about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-08-10 21:55:38 -0700
committerEric Wong <normalperson@yhbt.net>2009-08-10 21:55:38 -0700
commit7451ef8159decc95245fe193e04bcf3d433095a3 (patch)
tree49e208f3d4bc0473b0bf008116d83f199ac13b1e
parent76ec094b15c24bf6fb05155330d83f5bdd71c8e5 (diff)
downloadunicorn-7451ef8159decc95245fe193e04bcf3d433095a3.tar.gz
This method is strictly a filter, it does no I/O so "read"
is not an appropriate name to give it.
-rw-r--r--ext/unicorn_http/unicorn_http.rl6
-rw-r--r--lib/unicorn/tee_input.rb4
-rw-r--r--test/unit/test_http_parser_ng.rb70
3 files changed, 40 insertions, 40 deletions
diff --git a/ext/unicorn_http/unicorn_http.rl b/ext/unicorn_http/unicorn_http.rl
index e985e0e..ac74990 100644
--- a/ext/unicorn_http/unicorn_http.rl
+++ b/ext/unicorn_http/unicorn_http.rl
@@ -409,7 +409,7 @@ static VALUE HttpParser_body_eof(VALUE self)
 
 /**
  * call-seq:
- *    parser.read_body(buf, data) -> nil/data
+ *    parser.filter_body(buf, data) -> nil/data
  *
  * Takes a String of +data+, will modify data if dechunking is done.
  * Returns +nil+ if there is more data left to process.  Returns
@@ -421,7 +421,7 @@ static VALUE HttpParser_body_eof(VALUE self)
  * Basically this is a glorified memcpy(3) that copies +data+
  * into +buf+ while filtering it through the dechunker.
  */
-static VALUE HttpParser_read_body(VALUE self, VALUE buf, VALUE data)
+static VALUE HttpParser_filter_body(VALUE self, VALUE buf, VALUE data)
 {
   struct http_parser *hp = data_get(self);
   char *dptr = RSTRING_PTR(data);
@@ -481,7 +481,7 @@ void Init_unicorn_http(void)
   rb_define_method(cHttpParser, "initialize", HttpParser_init,0);
   rb_define_method(cHttpParser, "reset", HttpParser_reset,0);
   rb_define_method(cHttpParser, "headers", HttpParser_headers, 2);
-  rb_define_method(cHttpParser, "read_body", HttpParser_read_body, 2);
+  rb_define_method(cHttpParser, "filter_body", HttpParser_filter_body, 2);
   rb_define_method(cHttpParser, "trailers", HttpParser_headers, 2);
   rb_define_method(cHttpParser, "content_length", HttpParser_content_length, 0);
   rb_define_method(cHttpParser, "body_eof?", HttpParser_body_eof, 0);
diff --git a/lib/unicorn/tee_input.rb b/lib/unicorn/tee_input.rb
index 07676a6..9f56860 100644
--- a/lib/unicorn/tee_input.rb
+++ b/lib/unicorn/tee_input.rb
@@ -26,7 +26,7 @@ module Unicorn
       return(@input = nil) if 0 == @size
       @input = socket
       if RAW.size > 0
-        PARSER.read_body(DST, RAW) and finalize_input
+        PARSER.filter_body(DST, RAW) and finalize_input
         @tmp.write(DST)
         @tmp.seek(0)
       end
@@ -117,7 +117,7 @@ module Unicorn
     def tee(length, buf)
       unless PARSER.body_eof?
         begin
-          if PARSER.read_body(buf, @input.readpartial(length, RAW)).nil?
+          if PARSER.filter_body(buf, @input.readpartial(length, RAW)).nil?
             @tmp.write(buf)
             return buf
           end
diff --git a/test/unit/test_http_parser_ng.rb b/test/unit/test_http_parser_ng.rb
index 8c453dd..8aed270 100644
--- a/test/unit/test_http_parser_ng.rb
+++ b/test/unit/test_http_parser_ng.rb
@@ -41,10 +41,10 @@ class HttpParserNgTest < Test::Unit::TestCase
     assert_equal 123, str.size
     assert_equal body, str
     tmp = ''
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal 0, str.size
     assert_equal tmp, body
-    assert_equal "", @parser.read_body(tmp, str)
+    assert_equal "", @parser.filter_body(tmp, str)
   end
 
   def test_identity_oneshot_header_with_body_partial
@@ -53,15 +53,15 @@ class HttpParserNgTest < Test::Unit::TestCase
     assert_equal 1, str.size
     assert_equal 'a', str
     tmp = ''
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal "", str
     assert_equal "a", tmp
     str << ' ' * 122
-    rv = @parser.read_body(tmp, str)
+    rv = @parser.filter_body(tmp, str)
     assert_equal 122, tmp.size
     assert_nil rv
     assert_equal "", str
-    assert_equal str.object_id, @parser.read_body(tmp, str).object_id
+    assert_equal str.object_id, @parser.filter_body(tmp, str).object_id
   end
 
   def test_identity_oneshot_header_with_body_slop
@@ -70,9 +70,9 @@ class HttpParserNgTest < Test::Unit::TestCase
     assert_equal 2, str.size
     assert_equal 'aG', str
     tmp = ''
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal "G", str
-    assert_equal "G", @parser.read_body(tmp, str)
+    assert_equal "G", @parser.filter_body(tmp, str)
     assert_equal 1, tmp.size
     assert_equal "a", tmp
   end
@@ -83,18 +83,18 @@ class HttpParserNgTest < Test::Unit::TestCase
     assert_equal req, @parser.headers(req, str)
     assert_equal 0, str.size
     tmp = ""
-    assert_nil @parser.read_body(tmp, "6")
+    assert_nil @parser.filter_body(tmp, "6")
     assert_equal 0, tmp.size
-    assert_nil @parser.read_body(tmp, rv = "\r\n")
+    assert_nil @parser.filter_body(tmp, rv = "\r\n")
     assert_equal 0, rv.size
     assert_equal 0, tmp.size
     tmp = ""
-    assert_nil @parser.read_body(tmp, "..")
+    assert_nil @parser.filter_body(tmp, "..")
     assert_equal "..", tmp
-    assert_nil @parser.read_body(tmp, "abcd\r\n0\r\n")
+    assert_nil @parser.filter_body(tmp, "abcd\r\n0\r\n")
     assert_equal "abcd", tmp
     rv = "PUT"
-    assert_equal rv.object_id, @parser.read_body(tmp, rv).object_id
+    assert_equal rv.object_id, @parser.filter_body(tmp, rv).object_id
     assert_equal "PUT", rv
   end
 
@@ -104,27 +104,27 @@ class HttpParserNgTest < Test::Unit::TestCase
     assert_equal req, @parser.headers(req, str)
     assert_equal 0, str.size
     tmp = ""
-    assert_nil @parser.read_body(tmp, "6")
+    assert_nil @parser.filter_body(tmp, "6")
     assert_equal 0, tmp.size
-    assert_nil @parser.read_body(tmp, rv = "\r\n")
+    assert_nil @parser.filter_body(tmp, rv = "\r\n")
     assert_equal "", rv
     assert_equal 0, tmp.size
     tmp = ""
-    assert_nil @parser.read_body(tmp, "..")
+    assert_nil @parser.filter_body(tmp, "..")
     assert_equal 2, tmp.size
     assert_equal "..", tmp
-    assert_nil @parser.read_body(tmp, "abcd\r\n1")
+    assert_nil @parser.filter_body(tmp, "abcd\r\n1")
     assert_equal "abcd", tmp
-    assert_nil @parser.read_body(tmp, "\r")
+    assert_nil @parser.filter_body(tmp, "\r")
     assert_equal "", tmp
-    assert_nil @parser.read_body(tmp, "\n")
+    assert_nil @parser.filter_body(tmp, "\n")
     assert_equal "", tmp
-    assert_nil @parser.read_body(tmp, "z")
+    assert_nil @parser.filter_body(tmp, "z")
     assert_equal "z", tmp
-    assert_nil @parser.read_body(tmp, "\r\n")
-    assert_nil @parser.read_body(tmp, "0")
-    assert_nil @parser.read_body(tmp, "\r")
-    rv = @parser.read_body(tmp, buf = "\nGET")
+    assert_nil @parser.filter_body(tmp, "\r\n")
+    assert_nil @parser.filter_body(tmp, "0")
+    assert_nil @parser.filter_body(tmp, "\r")
+    rv = @parser.filter_body(tmp, buf = "\nGET")
     assert_equal "GET", rv
     assert_equal buf.object_id, rv.object_id
   end
@@ -135,16 +135,16 @@ class HttpParserNgTest < Test::Unit::TestCase
     req = {}
     assert_equal req, @parser.headers(req, str)
     tmp = ''
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal '', str
     str = ' ' * 16300
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal '', str
     str = ' ' * 80
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal '', str
     assert ! @parser.body_eof?
-    assert_equal "", @parser.read_body(tmp, "\r\n0\r\n")
+    assert_equal "", @parser.filter_body(tmp, "\r\n0\r\n")
     assert @parser.body_eof?
   end
 
@@ -154,9 +154,9 @@ class HttpParserNgTest < Test::Unit::TestCase
     req = {}
     assert_equal req, @parser.headers(req, str)
     tmp = ''
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal 'a..', tmp
-    rv = @parser.read_body(tmp, str)
+    rv = @parser.filter_body(tmp, str)
     assert_equal rv.object_id, str.object_id
   end
 
@@ -170,10 +170,10 @@ class HttpParserNgTest < Test::Unit::TestCase
     assert_equal 'Content-MD5', req['HTTP_TRAILER']
     assert_nil req['HTTP_CONTENT_MD5']
     tmp = ''
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal 'a..', tmp
     md5_b64 = [ Digest::MD5.digest(tmp) ].pack('m').strip.freeze
-    rv = @parser.read_body(tmp, str)
+    rv = @parser.filter_body(tmp, str)
     assert_equal rv.object_id, str.object_id
     assert_equal '', str
     md5_hdr = "Content-MD5: #{md5_b64}\r\n".freeze
@@ -193,7 +193,7 @@ class HttpParserNgTest < Test::Unit::TestCase
     req = {}
     assert_equal req, @parser.headers(req, str)
     assert_nil @parser.content_length
-    assert_nothing_raised { @parser.read_body('', str) }
+    assert_nothing_raised { @parser.filter_body('', str) }
   end
 
   def test_max_body
@@ -212,7 +212,7 @@ class HttpParserNgTest < Test::Unit::TestCase
     req = {}
     assert_equal req, @parser.headers(req, str)
     assert_nil @parser.content_length
-    assert_raise(HttpParserError) { @parser.read_body('', str) }
+    assert_raise(HttpParserError) { @parser.filter_body('', str) }
   end
 
   def test_overflow_content_length
@@ -228,7 +228,7 @@ class HttpParserNgTest < Test::Unit::TestCase
     req = {}
     assert_equal req, @parser.headers(req, str)
     assert_nil @parser.content_length
-    assert_raise(HttpParserError) { @parser.read_body('', str) }
+    assert_raise(HttpParserError) { @parser.filter_body('', str) }
   end
 
   def test_bad_content_length
@@ -245,7 +245,7 @@ class HttpParserNgTest < Test::Unit::TestCase
     assert_equal req, @parser.headers(req, str)
     assert_equal 'Transfer-Encoding', req['HTTP_TRAILER']
     tmp = ''
-    assert_nil @parser.read_body(tmp, str)
+    assert_nil @parser.filter_body(tmp, str)
     assert_equal 'a..', tmp
     assert_equal '', str
     str << "Transfer-Encoding: identity\r\n\r\n"