Skip to content

Commit fab4a8f

Browse files
pezholioYOU54F
authored andcommitted
fix: Fix Rack > 3.0.0 support
Now Rack::Handler has been moved to a seperate gem, we need to specify it specifically. I’ve monkeypatched `Rack::Handler::WEBrick` to support both use cases everywhere in the gem
1 parent c75a2bb commit fab4a8f

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

lib/pact/consumer/server.rb

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
require 'uri'
22
require 'net/http'
33
require 'rack'
4+
require 'rack/handler/webbrick'
45

56
# Copied shamelessly from Capybara
67
# Used to run a mock service in a new thread when started by the AppManager or the ControlServer
@@ -66,11 +67,6 @@ def responsive?
6667
end
6768

6869
def run_default_server(app, port)
69-
begin
70-
require 'rack/handler/webrick'
71-
rescue LoadError
72-
require 'rackup/handler/webrick'
73-
end
7470
Rack::Handler::WEBrick.run(app, **webrick_opts) do |server|
7571
@port = server[:Port]
7672
end

lib/pact/mock_service/control_server/run.rb

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
require 'pact/mock_service/control_server/app'
22
require 'pact/mock_service/server/webrick_request_monkeypatch'
3+
require 'rack/handler/webbrick'
34

45
module Pact
56
module MockService

lib/pact/mock_service/run.rb

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
require 'pact/mock_service/server/webrick_request_monkeypatch'
66
require 'pact/specification_version'
77
require 'pact/support/metrics'
8+
require 'rack/handler/webbrick'
89

910
module Pact
1011
module MockService

lib/rack/handler/webbrick.rb

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
module Rack
2+
module Handler
3+
begin
4+
require 'rack/handler/webrick'
5+
WEBrick = Class.new(Rack::Handler::WEBrick)
6+
rescue LoadError
7+
require 'rackup/handler/webrick'
8+
WEBrick = Class.new(Rackup::Handler::WEBrick)
9+
end
10+
end
11+
end
12+

0 commit comments

Comments
 (0)