Rainbows! is an HTTP server for sleepy Rack applications. It is based
Unicorn, but designed to handle applications that expect long
request/response times and/or slow clients. For Rack applications not
heavily bound by slow external network dependencies, consider Unicorn
instead as it simpler and easier to debug.
- [email protected]
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:
nil for unlimited, or any number in bytes
The ThreadSpawn and ThreadPool models are now optimized for serving
large static files under Ruby 1.9 using IO.copy_stream.
The EventMachine model has always had optimized static file
serving (using EM::Connection#stream_file_data).
The EventMachine model (finally) gets conditionally deferred app
dispatch in a separate thread, as described by Ezra Z.
for Merb, Ebb and Thin.