Class: Pact::MockService::Server::WaitForServerUp
- Inherits:
-
Object
- Object
- Pact::MockService::Server::WaitForServerUp
- Defined in:
- lib/pact/mock_service/server/wait_for_server_up.rb
Class Method Summary collapse
Class Method Details
.call(port, options = {ssl: false}) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/pact/mock_service/server/wait_for_server_up.rb', line 9 def self.call(port, = {ssl: false}) tries = 0 responsive = false while !(responsive = responsive?(port, )) && tries < 100 tries += 1 sleep 1 end raise "Timed out waiting for server to start up on port #{port}" if !responsive end |
.responsive?(port, options) ⇒ Boolean
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/pact/mock_service/server/wait_for_server_up.rb', line 19 def self.responsive? port, res = Net::HTTP.start("localhost", port) do |http| request = Net::HTTP::Get.new "http://localhost:#{port}/" request['X-Pact-Mock-Service'] = 'true' response = http.request request end res.code == '200' rescue SystemCallError => e return false rescue EOFError return false end |