summary refs log tree commit homepage
path: root/lib/rainbows/max_body.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-05-10 16:33:07 -0700
committerEric Wong <normalperson@yhbt.net>2011-05-10 16:34:43 -0700
commit95cec890409ac07d51c87ab157fe7e101d6f8432 (patch)
treeed44443ef937839c0008c5798b0a1463be088e11 /lib/rainbows/max_body.rb
parent382d3cabfda9fdd391228d24e8a8d4cb014648b9 (diff)
It can't be used as middleware for fully-buffering concurrency
models.
Diffstat (limited to 'lib/rainbows/max_body.rb')
-rw-r--r--lib/rainbows/max_body.rb20
1 files changed, 19 insertions, 1 deletions
diff --git a/lib/rainbows/max_body.rb b/lib/rainbows/max_body.rb
index aedc9e9..a8abbf7 100644
--- a/lib/rainbows/max_body.rb
+++ b/lib/rainbows/max_body.rb
@@ -17,7 +17,25 @@
 #          use Rainbows::MaxBody, 1024*1024*10
 #          run MyApp
 #        end
-
+#
+# This is only compatible with concurrency models that expose a streaming
+# "rack.input" to the Rack application.  Thus it is NOT compatible with
+# any of the following as they fully buffer the request body before
+# the application dispatch:
+#
+# * :Coolio
+# * :CoolioThreadPool
+# * :CoolioThreadSpawn
+# * :Epoll
+# * :EventMachine
+# * :NeverBlock
+# * :Rev
+# * :RevThreadPool
+# * :RevThreadSpawn
+# * :XEpoll
+#
+# However, the global Rainbows::Configurator#client_max_body_size is compatible
+# with all concurrency models \Rainbows! supports.
 class Rainbows::MaxBody
 
   # This is automatically called when used with Rack::Builder#use