1
0
Fork 0
mirror of https://github.com/teamcapybara/capybara.git synced 2022-11-09 12:08:07 -05:00

Update puma registration for latest master

This commit is contained in:
Thomas Walpole 2022-02-26 16:11:25 -08:00
parent a9fd240122
commit 9f87c51b61

View file

@ -29,17 +29,24 @@ Capybara.register_server :puma do |app, port, host, **options|
conf = Rack::Handler::Puma.config(app, options)
conf.clamp
events = conf.options[:Silent] ? ::Puma::Events.strings : ::Puma::Events.stdio
puma_ver = Gem::Version.new(Puma::Const::PUMA_VERSION)
require_relative 'patches/puma_ssl' if Gem::Requirement.new('>=4.0.0', '< 4.1.0').satisfied_by?(puma_ver)
logger = (defined?(::Puma::LogWriter) ? ::Puma::LogWriter : ::Puma::Events).then do |cls|
conf.options[:Silent] ? cls.strings : cls.stdio
end
events.log 'Capybara starting Puma...'
events.log "* Version #{Puma::Const::PUMA_VERSION} , codename: #{Puma::Const::CODE_NAME}"
events.log "* Min threads: #{conf.options[:min_threads]}, max threads: #{conf.options[:max_threads]}"
logger.log 'Capybara starting Puma...'
logger.log "* Version #{Puma::Const::PUMA_VERSION} , codename: #{Puma::Const::CODE_NAME}"
logger.log "* Min threads: #{conf.options[:min_threads]}, max threads: #{conf.options[:max_threads]}"
Puma::Server.new(conf.app, events, conf.options).tap do |s|
s.binder.parse conf.options[:binds], s.events
Puma::Server.new(
conf.app,
*[logger, (::Puma::Events.new if defined?(::Puma::LogWriter))].compact,
conf.options
).tap do |s|
s.binder.parse conf.options[:binds], (s.log_writer rescue s.events)
s.min_threads, s.max_threads = conf.options[:min_threads], conf.options[:max_threads]
end.run.join
end