Class: BarsoomUtils::PingHealthCheck

Inherits:
Object
  • Object
show all
Defined in:
lib/barsoom_utils/ping_health_check.rb

Instance Method Summary collapse

Instance Method Details

#callObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/barsoom_utils/ping_health_check.rb', line 10

def call
  return unless ENV["ENABLE_HEALTH_CHECKS"]

  response = ping_healthcheck

  if response.code != 200
    # "The presence of the cf-request-id header in the response confirms
    # the request was proxied through Cloudflare"
    #   https://support.cloudflare.com/hc/en-us/articles/203118044-Gathering-information-for-troubleshooting-sites
    raise "Bad response, cf-request-id header: #{response.headers["cf-request-id"]}, response body: #{response.inspect}"
  else
    response
  end
rescue => ex
  BarsoomUtils::ExceptionNotifier.message("Couldn't report to healthchecks.io, maybe the service is down?", "Check: #{id}, Error: #{ex.inspect}")
end