lib/alephant/publisher/request/data_mapper.rb in alephant-publisher-request-0.1.1 vs lib/alephant/publisher/request/data_mapper.rb in alephant-publisher-request-0.1.2

- old
+ new

@@ -21,23 +21,25 @@ protected def get(uri) before = Time.new response = connection.get(uri) - raise InvalidApiResponse, "Status: #{response.status}" unless response.status == 200 logger.metric(:name => "PublisherRequestDataMapperRequestHTTPTime", :unit => 'Seconds', :value => Time.new - before) + raise InvalidApiStatus, response.status unless response.status == 200 JSON::parse(response.body, :symbolize_names => true) rescue Faraday::ConnectionFailed logger.metric(:name => "PublisherRequestDataMapperConnectionFailed", :unit => "Count", :value => 1) raise ConnectionFailed rescue JSON::ParserError logger.metric(:name => "PublisherRequestDataMapperInvalidApiResponse", :unit => "Count", :value => 1) raise InvalidApiResponse, "JSON parsing error: #{response.body}" + rescue InvalidApiStatus => e + logger.metric(:name => "PublisherRequestDataMapperInvalidStatus#{e.status}", :unit => "Count", :value => 1) + raise e rescue StandardError => e logger.metric(:name => "PublisherRequestDataMapperApiError", :unit => "Count", :value => 1) raise ApiError, e.message end - end end end end