about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-11-07 10:21:43 +0800
committerEric Wong <normalperson@yhbt.net>2010-11-07 10:23:06 +0800
commit8edcc3f9e1be9113685e61b9a83994a02d37c768 (patch)
tree047d9daf3baa92ee10f57a5a9f082238d08ca71e
parent60a9ec94f1f738f881e67f0a881c44c104f07c04 (diff)
downloadunicorn-8edcc3f9e1be9113685e61b9a83994a02d37c768.tar.gz
Not that anybody uses trailers extensively, but it's
good to know it's there.
-rw-r--r--ext/unicorn_http/unicorn_http.rl1
-rw-r--r--lib/unicorn/tee_input.rb2
2 files changed, 2 insertions, 1 deletions
diff --git a/ext/unicorn_http/unicorn_http.rl b/ext/unicorn_http/unicorn_http.rl
index 147750a..6cc2958 100644
--- a/ext/unicorn_http/unicorn_http.rl
+++ b/ext/unicorn_http/unicorn_http.rl
@@ -714,6 +714,7 @@ static VALUE HttpParser_filter_body(VALUE self, VALUE buf, VALUE data)
     if (hp->len.content > 0) {
       long nr = MIN(dlen, hp->len.content);
 
+      hp->buf = data;
       memcpy(RSTRING_PTR(buf), dptr, nr);
       hp->len.content -= nr;
       if (hp->len.content == 0) {
diff --git a/lib/unicorn/tee_input.rb b/lib/unicorn/tee_input.rb
index a3e01d2..351d79f 100644
--- a/lib/unicorn/tee_input.rb
+++ b/lib/unicorn/tee_input.rb
@@ -187,7 +187,7 @@ private
   end
 
   def finalize_input
-    while @parser.trailers(@env, @buf).nil?
+    until @parser.parse
       r = @socket.kgio_read(@@io_chunk_size) or eof!
       @buf << r
     end