diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-11-16 16:16:42 -0800 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-11-16 16:21:33 -0800 |
commit | 31cf77e7aa2f2e6065e7ace44e55c3f042b51f1b (patch) | |
tree | 7dfd53c499cbf7a52165d3480d56d8576a743781 /lib/rainbows/max_body/rewindable_wrapper.rb | |
parent | 42747db815ad668b20849afb2a9dcdd1319713ae (diff) | |
download | rainbows-31cf77e7aa2f2e6065e7ace44e55c3f042b51f1b.tar.gz |
This allows the client_max_body_size implementation to not rely on Unicorn::TeeInput internals, allowing it to be used with Unicorn::StreamInput (or any other (nearly) Rack::Lint-compatible input object).
Diffstat (limited to 'lib/rainbows/max_body/rewindable_wrapper.rb')
-rw-r--r-- | lib/rainbows/max_body/rewindable_wrapper.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/rainbows/max_body/rewindable_wrapper.rb b/lib/rainbows/max_body/rewindable_wrapper.rb new file mode 100644 index 0000000..b52726e --- /dev/null +++ b/lib/rainbows/max_body/rewindable_wrapper.rb @@ -0,0 +1,17 @@ +# -*- encoding: binary -*- +# :enddoc: +class Rainbows::MaxBody::RewindableWrapper < Rainbows::MaxBody::Wrapper + def initialize(rack_input, limit) + @orig_limit = limit + super + end + + def rewind + @limit = @orig_limit + @input.rewind + end + + def size + @input.size + end +end |