Fiber*: add Rainbows::Fiber.sleep method
[rainbows.git] / t / sleep.ru
blob2df22cecc5d51efc7998e8c2cef762dc24c2d1dc
1 use Rack::ContentLength
3 run lambda { |env|
4   /\A100-continue\z/i =~ env['HTTP_EXPECT'] and return [ 100, {}, [] ]
6   env['rack.input'].read
7   nr = 1
8   env["PATH_INFO"] =~ %r{/([\d\.]+)\z} and nr = $1.to_f
10   (case env['rainbows.model']
11   when :FiberPool, :FiberSpawn
12     Rainbows::Fiber
13   when :Revactor
14     Actor
15   else
16     Kernel
17   end).sleep(nr)
19   [ 200, {'Content-Type' => 'text/plain'}, [ "Hello\n" ] ]