class PebbleTimeline::Middleware::ErrorDetector

Public Instance Methods

call(env) click to toggle source
# File lib/pebble_timeline/middleware/error_detector.rb, line 5
def call(env)
  @app.call(env).on_complete do |env|
    unless (200..299).include? env[:status]
      error = APIError.new env[:body]

      begin
        response = JSON.load env[:body]
        error = APIError.new response['errorMessage']
        error.code = response['errorCode']
      ensure
        raise error
      end
    end
  end
end