testcafe-browser-provider-saucelabs
Version:
saucelabs TestCafe browser provider plugin.
52 lines (36 loc) • 1.43 kB
JavaScript
;
exports.__esModule = true;
var _promise = require('babel-runtime/core-js/promise');
var _promise2 = _interopRequireDefault(_promise);
exports.httpsRequest = httpsRequest;
var _https = require('https');
var _https2 = _interopRequireDefault(_https);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function httpsRequest(_ref) {
var hostname = _ref.hostname,
path = _ref.path,
user = _ref.user,
password = _ref.password;
var options = {
hostname: hostname,
path: path,
headers: {
'Authorization': 'Basic ' + new Buffer(user + ':' + password).toString('base64')
}
};
return new _promise2.default(function (resolve, reject) {
var request = _https2.default.get(options, function (response) {
var data = '';
response.on('data', function (chunk) {
data += chunk.toString('utf8');
});
response.on('end', function () {
var statusCode = response.statusCode,
statusMessage = response.statusMessage;
if (statusCode >= 200 && statusCode <= 299) resolve({ body: data });else reject({ statusCode: statusCode, statusMessage: statusMessage });
});
response.on('error', reject);
});
request.on('error', reject);
});
}