Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
25 lines (20 sloc) 546 Bytes

Rack::AsyncStream

Ever tried to use streaming with Thin? Didn't work? Fear not! Just use this middleware!

Works with Ruby 1.8.7, 1.9, JRuby, Rubinius, any Rails version since 2.3, any version of Sinatra, your stand-alone Rack app and probably a lot more libraries, frameworks and Ruby implementations.

Usage

# config.ru
class SlowStream
  def each
    100.times do |i|
      yield "We're at #{i}\n"
      sleep 0.5
    end
  end
end

use Rack::AsyncStream
run proc { [200, {'Content-Type' => 'text/plain'}, SlowStream.new] }