45 lines
903 B
JavaScript
45 lines
903 B
JavaScript
var Q = require('q');
|
|
|
|
var Runner = require('./runner');
|
|
|
|
var packageJson = require('../package.json');
|
|
|
|
|
|
var yellowLabTools = function(url, options) {
|
|
'use strict';
|
|
|
|
var deferred = Q.defer();
|
|
|
|
if (!url) {
|
|
|
|
deferred.reject('URL missing');
|
|
|
|
} else {
|
|
|
|
if (url.toLowerCase().indexOf('http://') !== 0 && url.toLowerCase().indexOf('https://') !== 0) {
|
|
url = 'http://' + url;
|
|
}
|
|
|
|
var params = {
|
|
url: url,
|
|
options: options || {}
|
|
};
|
|
|
|
var runner = new Runner(params)
|
|
|
|
.progress(deferred.notify)
|
|
|
|
.then(function(data) {
|
|
deferred.resolve(data);
|
|
})
|
|
|
|
.fail(function(err) {
|
|
deferred.reject(err);
|
|
});
|
|
}
|
|
|
|
return deferred.promise;
|
|
};
|
|
|
|
module.exports = yellowLabTools;
|
|
module.exports.version = packageJson.version; |