Sha256: ca1282e6123f4d8ee595e58ea6d9ddb65ad352c44c659d94cdf1ff4318559226

Contents?: true

Size: 615 Bytes

Versions: 4

Compression:

Stored size: 615 Bytes

Contents

require 'rack/handler/thin'
require 'net/http'

class Server
  def wait_until_booted
    while !responsive?
      sleep 0.1
    end
  end

  # Got it from Capybara, but simplified it a bit.
  # lib/capybara/server.rb
  def responsive?
    res = Net::HTTP.start('localhost', 9595) { |http| http.get('/') }

    res.is_a?(Net::HTTPSuccess) or res.is_a?(Net::HTTPRedirection)
  rescue Errno::ECONNREFUSED, Errno::EBADF
    return false
  end

  def boot(app)
    if not responsive?
      Thread.new do
        Thin::Logging.silent = true
        Rack::Handler::Thin.run(app, :Port => 9595)
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
outpost-0.2.4 test/support/server.rb
outpost-0.2.3 test/support/server.rb
outpost-0.2.2 test/support/server.rb
outpost-0.2.1 test/support/server.rb