DEPLOY FAQ HACKING LICENSE NEWS README SIGNALS Sandbox Static_Files Summary TUNING Test_Suite rainbows_1 vs_Unicorn
Rainbows ActorSpawn AppPool Base Configurator Coolio CoolioThreadPool CoolioThreadSpawn DevFdResponse Epoll EventMachine FiberPool FiberSpawn MaxBody NeverBlock Rev RevFiberSpawn RevThreadPool RevThreadSpawn Revactor Sendfile ServerToken StreamResponseEpoll ThreadPool ThreadSpawn ThreadTimeout WriterThreadPool WriterThreadSpawn XEpoll XEpollThreadPool XEpollThreadSpawn


::new #call #limit_input!

class Rainbows::MaxBody

Middleware used to enforce client_max_body_size for TeeInput users.

There is no need to configure this middleware manually, it will automatically be configured for you based on the client_max_body_size setting.

For more fine-grained control, you may also define it per-endpoint in your Rack like this:

map "/limit_1M" do
  use Rainbows::MaxBody, 1024*1024
  run MyApp
map "/limit_10M" do
  use Rainbows::MaxBody, 1024*1024*10
  run MyApp

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:

However, the global Rainbows::Configurator#client_max_body_size is compatible with all concurrency models Rainbows! supports.

Public Class Methods

new (app, limit = nil) source

This is automatically called when used with Rack::Builder#use

Public Instance Methods

call (env) source

our main Rack middleware endpoint

limit_input! (env) source

Pages Classes Methods
mail archives:
source code: git clone
	torsocks git clone http://ou63pmih66umazou.onion/rainbows.git