Merge pull request #1794 from ioquatix/falcon-integration
Falcon integration
This commit is contained in:
commit
cb7361714a
2
Gemfile
2
Gemfile
|
@ -24,6 +24,7 @@ gem "activesupport", "~> 6.1"
|
||||||
gem 'redcarpet', platforms: [ :ruby ]
|
gem 'redcarpet', platforms: [ :ruby ]
|
||||||
gem 'rdiscount', platforms: [ :ruby ]
|
gem 'rdiscount', platforms: [ :ruby ]
|
||||||
gem 'puma'
|
gem 'puma'
|
||||||
|
gem 'falcon', '~> 0.40', platforms: [ :ruby ]
|
||||||
gem 'yajl-ruby', platforms: [ :ruby ]
|
gem 'yajl-ruby', platforms: [ :ruby ]
|
||||||
gem 'nokogiri', '> 1.5.0'
|
gem 'nokogiri', '> 1.5.0'
|
||||||
gem 'rainbows', platforms: [ :ruby ]
|
gem 'rainbows', platforms: [ :ruby ]
|
||||||
|
@ -38,7 +39,6 @@ gem 'rabl'
|
||||||
gem 'builder'
|
gem 'builder'
|
||||||
gem 'erubi'
|
gem 'erubi'
|
||||||
gem 'haml', '~> 5'
|
gem 'haml', '~> 5'
|
||||||
gem 'celluloid', '~> 0.16.0'
|
|
||||||
gem 'commonmarker', '~> 0.20.0', platforms: [ :ruby ]
|
gem 'commonmarker', '~> 0.20.0', platforms: [ :ruby ]
|
||||||
gem 'pandoc-ruby', '~> 2.0.2'
|
gem 'pandoc-ruby', '~> 2.0.2'
|
||||||
gem 'simplecov', require: false
|
gem 'simplecov', require: false
|
||||||
|
|
|
@ -1450,7 +1450,7 @@ module Sinatra
|
||||||
alias_method :stop!, :quit!
|
alias_method :stop!, :quit!
|
||||||
|
|
||||||
# Run the Sinatra app as a self-hosted server using
|
# Run the Sinatra app as a self-hosted server using
|
||||||
# Puma, Mongrel, or WEBrick (in that order). If given a block, will call
|
# Puma, Falcon, Mongrel, or WEBrick (in that order). If given a block, will call
|
||||||
# with the constructed handler once we have taken the stage.
|
# with the constructed handler once we have taken the stage.
|
||||||
def run!(options = {}, &block)
|
def run!(options = {}, &block)
|
||||||
return if running?
|
return if running?
|
||||||
|
@ -1793,6 +1793,7 @@ module Sinatra
|
||||||
ruby_engine = defined?(RUBY_ENGINE) && RUBY_ENGINE
|
ruby_engine = defined?(RUBY_ENGINE) && RUBY_ENGINE
|
||||||
|
|
||||||
server.unshift 'puma'
|
server.unshift 'puma'
|
||||||
|
server.unshift 'falcon' if ruby_engine != 'jruby'
|
||||||
server.unshift 'mongrel' if ruby_engine.nil?
|
server.unshift 'mongrel' if ruby_engine.nil?
|
||||||
server.unshift 'thin' if ruby_engine != 'jruby'
|
server.unshift 'thin' if ruby_engine != 'jruby'
|
||||||
server.unshift 'trinidad' if ruby_engine == 'jruby'
|
server.unshift 'trinidad' if ruby_engine == 'jruby'
|
||||||
|
|
|
@ -81,6 +81,10 @@ module IntegrationHelper
|
||||||
name.to_s == "puma"
|
name.to_s == "puma"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def falcon?
|
||||||
|
name.to_s == "falcon"
|
||||||
|
end
|
||||||
|
|
||||||
def trinidad?
|
def trinidad?
|
||||||
name.to_s == "trinidad"
|
name.to_s == "trinidad"
|
||||||
end
|
end
|
||||||
|
|
|
@ -13,7 +13,7 @@ class IntegrationTest < Minitest::Test
|
||||||
it('only extends main') { assert_equal "true", server.get("/mainonly") }
|
it('only extends main') { assert_equal "true", server.get("/mainonly") }
|
||||||
|
|
||||||
it 'logs once in development mode' do
|
it 'logs once in development mode' do
|
||||||
next if server.puma? or server.rainbows? or RUBY_ENGINE == 'jruby'
|
next if server.puma? or server.falcon? or server.rainbows? or RUBY_ENGINE == 'jruby'
|
||||||
random = "%064x" % Kernel.rand(2**256-1)
|
random = "%064x" % Kernel.rand(2**256-1)
|
||||||
server.get "/ping?x=#{random}"
|
server.get "/ping?x=#{random}"
|
||||||
count = server.log.scan("GET /ping?x=#{random}").count
|
count = server.log.scan("GET /ping?x=#{random}").count
|
||||||
|
|
|
@ -488,6 +488,16 @@ class SettingsTest < Minitest::Test
|
||||||
assert @base.server.include?('puma')
|
assert @base.server.include?('puma')
|
||||||
assert @application.server.include?('puma')
|
assert @application.server.include?('puma')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'includes falcon on mruby' do
|
||||||
|
if RUBY_ENGINE == 'ruby'
|
||||||
|
assert @base.server.include?('falcon')
|
||||||
|
assert @application.server.include?('falcon')
|
||||||
|
else
|
||||||
|
assert !@base.server.include?('falcon')
|
||||||
|
assert !@application.server.include?('falcon')
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'app_file' do
|
describe 'app_file' do
|
||||||
|
|
Loading…
Reference in New Issue