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