Class: RailsHealthChecks::Checks::HttpCheck

Inherits:
RailsHealthChecks::Check show all
Defined in:
lib/rails_health_checks/checks/http_check.rb

Instance Attribute Summary

Attributes inherited from RailsHealthChecks::Check

#latency_ms, #message, #status

Instance Method Summary collapse

Constructor Details

#initialize(url:, expected_status: 200) ⇒ HttpCheck

Returns a new instance of HttpCheck.



9
10
11
12
# File 'lib/rails_health_checks/checks/http_check.rb', line 9

def initialize(url:, expected_status: 200)
  @url = url
  @expected_status = expected_status
end

Instance Method Details

#callObject



14
15
16
17
18
19
20
21
22
23
# File 'lib/rails_health_checks/checks/http_check.rb', line 14

def call
  measure do
    response = Net::HTTP.get_response(URI.parse(@url))
    code = response.code.to_i
    return fail_with("HTTP GET #{@url} returned #{code}, expected #{@expected_status}") if code != @expected_status
  end
  pass
rescue StandardError => e
  fail_with(e.message)
end