Force streaming input onto apps by default
commit06bf73975864b8e16ef1ee977f8424a0e5517fd6
authorEric Wong <normalperson@yhbt.net>
Wed, 1 Jul 2009 20:59:40 +0000 (1 13:59 -0700)
committerEric Wong <normalperson@yhbt.net>
Wed, 1 Jul 2009 21:12:07 +0000 (1 14:12 -0700)
treeedb02fb04b9edf26dc7a8b9add0c5e5c6e43d8aa
parentec5d374768ced6aba3fed8a9481d2ac3c07cdb98
Force streaming input onto apps by default

This change gives applications full control to deny clients
from uploading unwanted message bodies.  This also paves the
way for doing things like upload progress notification within
applications in a Rack::Lint-compatible manner.

Since we don't support HTTP keepalive, so we have more freedom
here by being able to close TCP connections and deny clients the
ability to write to us (and thus wasting our bandwidth).

While I could've left this feature off by default indefinitely
for maximum backwards compatibility (for arguably broken
applications), Unicorn is not and has never been about
supporting the lowest common denominator.
TODO
examples/echo.ru
lib/unicorn/app/inetd.rb
lib/unicorn/configurator.rb
lib/unicorn/const.rb
lib/unicorn/http_request.rb
lib/unicorn/tee_input.rb
test/unit/test_configurator.rb
test/unit/test_upload.rb