Sha256: 8300ff3624e111df76960a464978d2ea0567d1ba48d831d05ecad064629350c0

Contents?: true

Size: 596 Bytes

Versions: 110

Compression:

Stored size: 596 Bytes

Contents

# SHA1 checksum generator
require 'digest/sha1'
use Rack::ContentLength
cap = 16384
app = lambda do |env|
  /\A100-continue\z/i =~ env['HTTP_EXPECT'] and
    return [ 100, {}, [] ]
  digest = Digest::SHA1.new
  input = env['rack.input']
  input.size if env["PATH_INFO"] == "/size_first"
  input.rewind if env["PATH_INFO"] == "/rewind_first"
  if buf = input.read(rand(cap))
    begin
      raise "#{buf.size} > #{cap}" if buf.size > cap
      digest.update(buf)
    end while input.read(rand(cap), buf)
  end

  [ 200, {'Content-Type' => 'text/plain'}, [ digest.hexdigest << "\n" ] ]
end
run app

Version data entries

110 entries across 110 versions & 11 rubygems

Version Path
unicorn-6.1.0 t/rack-input-tests.ru
unicorn-6.0.0 t/rack-input-tests.ru
unicorn-5.8.0 t/rack-input-tests.ru
unicorn-5.7.0 t/rack-input-tests.ru
unicorn-5.6.0 t/rack-input-tests.ru
unicorn-5.5.5 t/rack-input-tests.ru
unicorn-5.5.4 t/rack-input-tests.ru
unicorn-5.5.3 t/rack-input-tests.ru
unicorn-5.5.2 t/rack-input-tests.ru
unicorn-5.5.1 t/rack-input-tests.ru
unicorn-5.5.0.1.g6836 t/rack-input-tests.ru
unicorn-5.5.0 t/rack-input-tests.ru
unicorn-5.5.0.pre1 t/rack-input-tests.ru
unicorn-5.4.1 t/rack-input-tests.ru
unicorn-5.4.0 t/rack-input-tests.ru
unicorn-5.3.1 t/rack-input-tests.ru
unicorn-shopify-5.3.0 t/rack-input-tests.ru
unicorn-5.3.0 t/rack-input-tests.ru
unicorn-5.3.0.pre1 t/rack-input-tests.ru
unicorn-shopify-5.2.0.6 t/rack-input-tests.ru