class Sonic::Protocol::HTTP

Public Class Methods

new(service_checker) click to toggle source
# File lib/sonic/protocols/http.rb, line 8
def initialize(service_checker)
  @service_checker = service_checker
  @http = Net::HTTP.new(service_checker.host, service_checker.port)
  if service_checker.protocol == :https
    @http.use_ssl = true
    @http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  end
  @request = Net::HTTP::Get.new(service_checker.path)
end

Public Instance Methods

get() click to toggle source
# File lib/sonic/protocols/http.rb, line 18
def get
  begin
    response = @http.request(@request)
    @service_checker.response = response.body
    case response.code
    when '200', '201', '202', '203', '204', '205', '206'
      true
    else
      @service_checker.error = response.error
      false
    end
  rescue Exception => e
    @service_checker.error = e.to_s
    false
  end
end