From 7451ef8159decc95245fe193e04bcf3d433095a3 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 10 Aug 2009 21:55:38 -0700 Subject: http: rename read_body to filter_body This method is strictly a filter, it does no I/O so "read" is not an appropriate name to give it. --- ext/unicorn_http/unicorn_http.rl | 6 ++-- lib/unicorn/tee_input.rb | 4 +-- test/unit/test_http_parser_ng.rb | 70 ++++++++++++++++++++-------------------- 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" -- cgit v1.2.3-24-ge0c7