Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
76 lines (50 sloc) 1.86 KB


Adds support for more web servers to Sinatra::Base#run!

Also, adds a helper method to ensure the server used from #run! supports async.callback, so all the fancy comet implementations work.


Sinatra::MoreServer is part of the BigBand stack. Check it out if you are looking for other fancy Sinatra extensions.


gem install sinatra-more-server

Additional Servers

Out of the box, Sinatra supports:

Currently, this extensions adds support for:


Classic style:

require "sinatra"
require "sinatra/more_server"

Or in your own subclass:

require "sinatra/base"
require "sinatra/more_server"

class Foo < Sinatra::Base
  register Sinatra::MoreServer

Async only, please!

You use async.callback? Maybe via a library like async_sinatra or pusher? Then you might want to make sure we only use a server that supports it:

require "sinatra"
require "sinatra/more_server"

configure do

As mentioned above, this will only have effect on running your script directly. However, in any other case, you will choose your server manually, anyway. (Hint: As far as I know, only thin- and rainbows!-based implementations support async.callback at the moment.)


  • Graham Hughes for fixing it to work with Rack >= 1.2