class Selenium::WebDriver::ServiceManager
def check_connection_error
def check_connection_error response = Net::HTTP.start(@host, @port, open_timeout: 0.5, read_timeout: 1) do |http| http.get('/status', {'Connection' => 'close'}) end return "status returned #{response.code}\n#{response.body}" unless response.is_a?(Net::HTTPSuccess) status = JSON.parse(response.body) ready = status['ready'] || status.dig('value', 'ready') "driver not ready: #{response.body}" unless ready rescue Errno::ECONNREFUSED, Errno::ECONNRESET, Errno::EPIPE, Errno::ETIMEDOUT, Errno::EADDRNOTAVAIL, Errno::EHOSTUNREACH, Net::OpenTimeout, Net::ReadTimeout, EOFError, SocketError, Net::HTTPBadResponse, JSON::ParserError => e "#{e.class}: #{e.message}" end