lib/honeybadger/backend/server.rb in honeybadger-3.2.0.beta1 vs lib/honeybadger/backend/server.rb in honeybadger-3.2.0

- old
+ new

@@ -12,10 +12,13 @@ ENDPOINTS = { notices: '/v1/notices'.freeze, deploys: '/v1/deploys'.freeze }.freeze + CHECK_IN_ENDPOINT = '/v1/check_in'.freeze + + HTTP_ERRORS = Util::HTTP::ERRORS def initialize(config) @http = Util::HTTP.new(config) super @@ -28,9 +31,20 @@ # # Returns Response. def notify(feature, payload) ENDPOINTS[feature] or raise(BackendError, "Unknown feature: #{feature}") Response.new(@http.post(ENDPOINTS[feature], payload, payload_headers(payload))) + rescue *HTTP_ERRORS => e + Response.new(:error, nil, "HTTP Error: #{e.class}") + end + + # Internal: Does a check in using the input id. + # + # id - The unique check_in id. + # + # Returns Response. + def check_in(id) + Response.new(@http.get("#{CHECK_IN_ENDPOINT}/#{id}")) rescue *HTTP_ERRORS => e Response.new(:error, nil, "HTTP Error: #{e.class}") end private