Sinatra::MoreServer

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.

BigBand

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

Installation

gem install sinatra-more-server

Additional Servers

Out of the box, Sinatra supports:

Currently, this extensions adds support for:

Usage

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
end

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
  has_async_callback!
end

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.)