Update Puma to version 6.3

Fixes the error "Puma 5 is not compatible with Rack 3, please upgrade to Puma 6 or higher."
This commit is contained in:
Wilson Silva 2023-09-16 16:13:42 +07:00
parent 1865858230
commit c27de6d506
No known key found for this signature in database
GPG Key ID: 65135F94E23F82C8
2 changed files with 10 additions and 8 deletions

View File

@ -47,7 +47,7 @@ Gem::Specification.new do |spec|
spec.add_development_dependency 'guard-rubocop', '~> 1.5' spec.add_development_dependency 'guard-rubocop', '~> 1.5'
spec.add_development_dependency 'overcommit', '~> 0.59' spec.add_development_dependency 'overcommit', '~> 0.59'
spec.add_development_dependency 'pry', '~> 0.14' spec.add_development_dependency 'pry', '~> 0.14'
spec.add_development_dependency 'puma', '~> 5.6' spec.add_development_dependency 'puma', '~> 6.3'
spec.add_development_dependency 'rack', '~> 3.0' spec.add_development_dependency 'rack', '~> 3.0'
spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rake', '~> 13.0'
spec.add_development_dependency 'rbs', '~> 2.8' spec.add_development_dependency 'rbs', '~> 2.8'

View File

@ -1,6 +1,7 @@
# frozen_string_literal: true # frozen_string_literal: true
require 'puma' require 'puma'
require 'logger'
require 'puma/binder' require 'puma/binder'
require 'puma/events' require 'puma/events'
@ -26,18 +27,19 @@ class EchoServer
def log(*args); end def log(*args); end
def listen(port) def listen(port)
events = Puma::Events.new(StringIO.new, StringIO.new) # Instead of logging to the stdout/stderr, we'll log to a StringIO to prevent cluttering the test output
binder = Puma::Binder.new(events) silent_stream = StringIO.new
binder.parse(["tcp://0.0.0.0:#{port}"], self) logger = Puma::LogWriter.new(silent_stream, silent_stream)
events = Puma::Events.new
binder = Puma::Binder.new(logger)
binder.parse(["tcp://0.0.0.0:#{port}"], logger)
@server = Puma::Server.new(self, events) @server = Puma::Server.new(self, events)
@server.binder = binder @server.binder = binder
@server.run @server.run
end end
def stop def stop
case @server @server&.stop(true)
when Puma::Server then @server.stop(true)
else @server.stop
end
end end
end end