Rainbows! 0.92.0 - inching towards the pot of goldv0.92.0
commit0619e62285d25763ac1dee8a9aab18da7d39f80e
authorEric Wong <normalperson@yhbt.net>
Tue, 4 May 2010 21:02:26 +0000 (4 14:02 -0700)
committerEric Wong <normalperson@yhbt.net>
Tue, 4 May 2010 21:58:04 +0000 (4 14:58 -0700)
tree6a266365f2b2108f12f52000df6eba662eee77cb
parentec50b892e5d3bc6f585780ebbbf071d489b2c3ae
Rainbows! 0.92.0 - inching towards the pot of gold

Mostly internal cleanups and small improvements.

The only backwards incompatible change was the addition of the
"client_max_body_size" parameter to limit upload sizes to
prevent DoS.  This defaults to one megabyte (same as nginx), so
any apps relying on the limit-less behavior of previous will
have to configure this in the Unicorn/Rainbows! config file:

      Rainbows! do
        # nil for unlimited, or any number in bytes
        client_max_body_size nil
      end

The ThreadSpawn and ThreadPool models are now optimized for serving
large static files under Ruby 1.9 using IO.copy_stream[1].

The EventMachine model has always had optimized static file
serving (using EM::Connection#stream_file_data[2]).

The EventMachine model (finally) gets conditionally deferred app
dispatch in a separate thread, as described by Ezra Zygmuntowicz
for Merb, Ebb and Thin[3].

[1] - http://euruko2008.csrug.cz/system/assets/documents/0000/0007/tanaka-IOcopy_stream-euruko2008.pdf
[2] - http://eventmachine.rubyforge.org/EventMachine/Connection.html#M000312
[3] - http://brainspl.at/articles/2008/04/18/deferred-requests-with-merb-ebb-and-thin
GIT-VERSION-GEN
GNUmakefile
lib/rainbows/const.rb