def test
response = nil
Net::HTTP.start(self.host, self.port) do |http|
http.read_timeout = self.timeout
response = http.get(self.path)
end
actual_response_code = response.code.to_i
if self.code_is && self.code_is.include?(actual_response_code)
pass(actual_response_code)
elsif self.code_is_not && !self.code_is_not.include?(actual_response_code)
pass(actual_response_code)
else
fail(actual_response_code)
end
rescue Errno::ECONNREFUSED
self.code_is ? fail('Refused') : pass('Refused')
rescue Errno::ECONNRESET
self.code_is ? fail('Reset') : pass('Reset')
rescue EOFError
self.code_is ? fail('EOF') : pass('EOF')
rescue Timeout::Error
self.code_is ? fail('Timeout') : pass('Timeout')
end