Skip to content

Commit ee5cf90

Browse files
committed
fix: add missing host argument to server spawn
fixes: pact-foundation#102
1 parent 3b10bbc commit ee5cf90

File tree

3 files changed

+11
-11
lines changed

3 files changed

+11
-11
lines changed

lib/pact/mock_service/server/spawn.rb

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,24 @@ class Spawn
77

88
class PortUnavailableError < StandardError; end
99

10-
def self.call pidfile, port, ssl = false
10+
def self.call pidfile, host, port, ssl = false
1111
if pidfile.can_start?
12-
if port_available? port
12+
if port_available? host, port
1313
pid = fork do
1414
yield
1515
end
1616
pidfile.pid = pid
1717
Process.detach(pid)
18-
Server::WaitForServerUp.(port, {ssl: ssl})
18+
Server::WaitForServerUp.(host, port, {ssl: ssl})
1919
pidfile.write
2020
else
2121
raise PortUnavailableError.new("ERROR: Port #{port} already in use.")
2222
end
2323
end
2424
end
2525

26-
def self.port_available? port
27-
server = TCPServer.new('127.0.0.1', port)
26+
def self.port_available? host, port
27+
server = TCPServer.new(host, port)
2828
true
2929
rescue
3030
false

lib/pact/mock_service/server/wait_for_server_up.rb

+5-5
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ module MockService
77
module Server
88
class WaitForServerUp
99

10-
def self.call(port, options = {ssl: false})
10+
def self.call(host, port, options = {ssl: false})
1111
tries = 0
1212
responsive = false
13-
while !(responsive = responsive?(port, options)) && tries < 100
13+
while !(responsive = responsive?(host, port, options)) && tries < 100
1414
tries += 1
1515
sleep 1
1616
end
1717
raise "Timed out waiting for server to start up on port #{port}" if !responsive
1818
end
1919

20-
def self.responsive? port, options
21-
http = Net::HTTP.new('localhost', port)
20+
def self.responsive? host, port, options
21+
http = Net::HTTP.new(host, port)
2222
if options[:ssl]
2323
http.use_ssl = true
2424
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
@@ -27,7 +27,7 @@ def self.responsive? port, options
2727
scheme = 'http'
2828
end
2929
http.start {
30-
request = Net::HTTP::Get.new "#{scheme}://localhost:#{port}/"
30+
request = Net::HTTP::Get.new "#{scheme}://#{host}:#{port}/"
3131
request['X-Pact-Mock-Service'] = true
3232
response = http.request request
3333
response.code == '200'

spec/support/integration_spec_support.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ def start_control port, options = ''
3535
end
3636

3737
def wait_until_server_started port, ssl = false
38-
Pact::MockService::Server::WaitForServerUp.(port, {ssl: ssl})
38+
Pact::MockService::Server::WaitForServerUp.("localhost", port, {ssl: ssl})
3939
end
4040

4141
def kill_server pid

0 commit comments

Comments
 (0)