From d6e047e22333ead67c2ed3adfc307c0036c75f5c Mon Sep 17 00:00:00 2001 From: Dan Jensen Date: Thu, 6 Feb 2025 14:45:06 -0600 Subject: [PATCH] Add support for Rack 3 Handler definitions have moved from Rack to Rackup in Rack 3. This modifies config.ru to look for a new Rackup handler before falling back to an old Rack handler. --- lib/capybara/webmock/config.ru | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/capybara/webmock/config.ru b/lib/capybara/webmock/config.ru index eaa5fb6..1c2b9ee 100644 --- a/lib/capybara/webmock/config.ru +++ b/lib/capybara/webmock/config.ru @@ -2,4 +2,5 @@ require 'rack' require 'capybara/webmock/proxy' app = Capybara::Webmock::Proxy.new(Process.pid) -Rack::Handler::WEBrick.run(app, Port: ENV.fetch('CAPYBARA_WEBMOCK_PROXY_PORT_NUMBER', 9292)) +rack_handler = defined?(Rackup::Handler::WEBrick) ? Rackup::Handler::WEBrick : Rack::Handler::WEBrick +rack_handler.run(app, Port: ENV.fetch('CAPYBARA_WEBMOCK_PROXY_PORT_NUMBER', 9292))