class ServerHealthCheckRack::Middleware

Public Class Methods

new(app) click to toggle source
# File lib/server_health_check_rack/middleware.rb, line 3
def initialize(app)
  @app = app
end

Public Instance Methods

call(env) click to toggle source
# File lib/server_health_check_rack/middleware.rb, line 7
def call(env)
  if ServerHealthCheckRack::Config.path?(env["PATH_INFO"])
    check = health_check(env["PATH_INFO"])
    [check.http_status, response_headers, [check.to_json]]
  else
    @app.call(env)
  end
end

Private Instance Methods

health_check(rack_path_info) click to toggle source
# File lib/server_health_check_rack/middleware.rb, line 18
def health_check(rack_path_info)
  checks = ServerHealthCheckRack::Config.path_to_health_checks(rack_path_info)

  if checks == :all
    ServerHealthCheckRack::HealthCheck.all
  else
    ServerHealthCheckRack::HealthCheck.new(*checks)
  end
end
response_headers() click to toggle source
# File lib/server_health_check_rack/middleware.rb, line 28
def response_headers
  {
    "Cache-Control" => "max-age=0, private, must-revalidate",
    "Content-Type" => "application/json"
  }
end