about summary refs log tree commit homepage
path: root/lib/unicorn/tee_input.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/unicorn/tee_input.rb')
-rw-r--r--lib/unicorn/tee_input.rb18
1 files changed, 8 insertions, 10 deletions
diff --git a/lib/unicorn/tee_input.rb b/lib/unicorn/tee_input.rb
index 8dd8954..06028a6 100644
--- a/lib/unicorn/tee_input.rb
+++ b/lib/unicorn/tee_input.rb
@@ -29,22 +29,20 @@ module Unicorn
       @size = size # nil if chunked
     end
 
-    def consume
-      @input or return
-      buf = Z.dup
-      while tee(Const::CHUNK_SIZE, buf)
-      end
-      @tmp.rewind
-      self
-    end
-
     # returns the size of the input.  This is what the Content-Length
     # header value should be, and how large our input is expected to be.
     # For TE:chunked, this requires consuming all of the input stream
     # before returning since there's no other way
     def size
       @size and return @size
-      @input and consume
+
+      if @input
+        buf = Z.dup
+        while tee(Const::CHUNK_SIZE, buf)
+        end
+        @tmp.rewind
+      end
+
       @size = @tmp.stat.size
     end