From 9a2fa48074db6ffb7742e50c972a15e2f16fbcf7 Mon Sep 17 00:00:00 2001 From: Marc Rene Arns Date: Thu, 15 Mar 2012 09:18:36 +0100 Subject: [PATCH] add :server_settings to pass options to :server, merges #431 Signed-off-by: Konstantin Haase --- lib/sinatra/base.rb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/sinatra/base.rb b/lib/sinatra/base.rb index 73e41d99f6..74d4090766 100644 --- a/lib/sinatra/base.rb +++ b/lib/sinatra/base.rb @@ -1351,9 +1351,10 @@ def quit!(server, handler_name) # with the constructed handler once we have taken the stage. def run!(options={}) set options - handler = detect_rack_handler - handler_name = handler.name.gsub(/.*::/, '') - handler.run self, :Host => bind, :Port => port do |server| + handler = detect_rack_handler + handler_name = handler.name.gsub(/.*::/, '') + server_settings = settings.respond_to?(:server_settings) ? settings.server_settings : {} + handler.run self, server_settings.merge(:Port => port, :Host => bind) do |server| unless handler_name =~ /cgi/i $stderr.puts "== Sinatra/#{Sinatra::VERSION} has taken the stage " + "on #{port} for #{environment} with backup from #{handler_name}"