# File lib/flowdock.rb, line 17
    def handle_response(resp)
      body = (resp.body.nil? || resp.body.strip.empty?) ? '{}' : resp.body

      json = MultiJson.decode(body)

      if resp.code == 404
        raise NotFoundError, "Flowdock API returned error:\nStatus: #{resp.code}\n Message: #{json["message"]}"
      end

      unless resp.code >= 200 && resp.code < 300
        errors = json["errors"].map {|k,v| "#{k}: #{v.join(',')}"}.join("\n") unless json["errors"].nil?
        raise ApiError, "Flowdock API returned error:\nStatus: #{resp.code}\n Message: #{json["message"]}\n Errors:\n#{errors}"
      end
      json
    rescue MultiJson::DecodeError
      raise ApiError, "Flowdock API returned error:\nStatus: #{resp.code}\nBody: #{resp.body}"
    end