class DerailSpecs::Server::Checker

Constants

TRY_HTTPS_ERRORS

Public Class Methods

new(host, port) click to toggle source
# File lib/derail_specs/server/checker.rb, line 6
def initialize(host, port)
  @host = host
  @port = port
  @ssl = false
end

Public Instance Methods

request(&block) click to toggle source
# File lib/derail_specs/server/checker.rb, line 12
def request(&block)
  ssl? ? https_request(&block) : http_request(&block)
rescue *TRY_HTTPS_ERRORS
  res = https_request(&block)
  @ssl = true
  res
end
ssl?() click to toggle source
# File lib/derail_specs/server/checker.rb, line 20
def ssl?
  @ssl
end

Private Instance Methods

http_request(&block) click to toggle source
# File lib/derail_specs/server/checker.rb, line 26
def http_request(&block)
  make_request(read_timeout: 2, &block)
end
https_request(&block) click to toggle source
# File lib/derail_specs/server/checker.rb, line 30
def https_request(&block)
  make_request(**ssl_options, &block)
end
make_request(**options, &block) click to toggle source
# File lib/derail_specs/server/checker.rb, line 34
def make_request(**options, &block)
  Net::HTTP.start(@host, @port, options.merge(max_retries: 0), &block)
end
ssl_options() click to toggle source
# File lib/derail_specs/server/checker.rb, line 38
def ssl_options
  { use_ssl: true, verify_mode: OpenSSL::SSL::VERIFY_NONE }
end