yellowlabtools.js 786 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. var Q = require('q');
  2. var Runner = require('./runner');
  3. var YellowLabTools = function(url, options) {
  4. 'use strict';
  5. var deferred = Q.defer();
  6. if (!url) {
  7. deferred.reject('URL missing');
  8. } else {
  9. // Generate a test id
  10. var testId = (Date.now()*1000 + Math.round(Math.random()*1000)).toString(36);
  11. if (url.indexOf('http://') !== 0 && url.indexOf('https://') !== 0) {
  12. url = 'http://' + url;
  13. }
  14. var params = {
  15. testId: testId,
  16. url: url,
  17. options: options || {}
  18. };
  19. var runner = new Runner(params);
  20. runner.then(function(data) {
  21. deferred.resolve(data);
  22. });
  23. }
  24. return deferred.promise;
  25. };
  26. module.exports = YellowLabTools;