diff options
Diffstat (limited to 'lib/yahns/max_body.rb')
-rw-r--r-- | lib/yahns/max_body.rb | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/lib/yahns/max_body.rb b/lib/yahns/max_body.rb index fadbddc..e52a10f 100644 --- a/lib/yahns/max_body.rb +++ b/lib/yahns/max_body.rb @@ -28,17 +28,13 @@ class Yahns::MaxBody # :nodoc: @limit = limit end - RACK_INPUT = "rack.input".freeze # :nodoc: - CONTENT_LENGTH = "CONTENT_LENGTH" # :nodoc: - HTTP_TRANSFER_ENCODING = "HTTP_TRANSFER_ENCODING" # :nodoc: - # our main Rack middleware endpoint def call(env) # :nodoc: catch(:yahns_EFBIG) do - len = env[CONTENT_LENGTH] + len = env['CONTENT_LENGTH'] if len && len.to_i > @limit return err - elsif /\Achunked\z/i =~ env[HTTP_TRANSFER_ENCODING] + elsif /\Achunked\z/i =~ env['HTTP_TRANSFER_ENCODING'] limit_input!(env) end @app.call(env) @@ -51,9 +47,9 @@ class Yahns::MaxBody # :nodoc: end def limit_input!(env) # :nodoc: - input = env[RACK_INPUT] + input = env['rack.input'] klass = input.respond_to?(:rewind) ? RewindableWrapper : Wrapper - env[RACK_INPUT] = klass.new(input, @limit) + env['rack.input'] = klass.new(input, @limit) end end require_relative 'max_body/wrapper' |