appium-xcuitest-driver-conan
Version:
Appium driver for iOS using XCUITest for backend
86 lines (65 loc) • 5.83 kB
JavaScript
;
var _get = require('babel-runtime/helpers/get')['default'];
var _inherits = require('babel-runtime/helpers/inherits')['default'];
var _createClass = require('babel-runtime/helpers/create-class')['default'];
var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default'];
var _slicedToArray = require('babel-runtime/helpers/sliced-to-array')['default'];
var _regeneratorRuntime = require('babel-runtime/regenerator')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _appiumSupport = require('appium-support');
var _appiumBaseDriver = require('appium-base-driver');
var NoSessionProxy = (function (_JWProxy) {
_inherits(NoSessionProxy, _JWProxy);
function NoSessionProxy() {
var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
_classCallCheck(this, NoSessionProxy);
_get(Object.getPrototypeOf(NoSessionProxy.prototype), 'constructor', this).call(this, opts);
}
_createClass(NoSessionProxy, [{
key: 'getUrlForProxy',
value: function getUrlForProxy(url) {
if (url === '') {
url = '/';
}
var proxyBase = this.scheme + '://' + this.server + ':' + this.port + this.base;
var remainingUrl = '';
if (new RegExp('^/').test(url)) {
remainingUrl = url;
} else {
throw new Error('Did not know what to do with url \'' + url + '\'');
}
remainingUrl = remainingUrl.replace(/\/$/, ''); // can't have trailing slashes
return proxyBase + remainingUrl;
}
}, {
key: 'proxyReqRes',
value: function proxyReqRes(req, res) {
var _ref, _ref2, response, body;
return _regeneratorRuntime.async(function proxyReqRes$(context$2$0) {
while (1) switch (context$2$0.prev = context$2$0.next) {
case 0:
context$2$0.next = 2;
return _regeneratorRuntime.awrap(this.proxy(req.originalUrl, req.method, req.body));
case 2:
_ref = context$2$0.sent;
_ref2 = _slicedToArray(_ref, 2);
response = _ref2[0];
body = _ref2[1];
res.headers = response.headers;
res.set('Content-type', response.headers['content-type']);
body = _appiumSupport.util.safeJsonParse(body);
res.status(response.statusCode).send(JSON.stringify(body));
case 10:
case 'end':
return context$2$0.stop();
}
}, null, this);
}
}]);
return NoSessionProxy;
})(_appiumBaseDriver.JWProxy);
exports.NoSessionProxy = NoSessionProxy;
exports['default'] = NoSessionProxy;
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9uby1zZXNzaW9uLXByb3h5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs2QkFBcUIsZ0JBQWdCOztnQ0FDYixvQkFBb0I7O0lBRXRDLGNBQWM7WUFBZCxjQUFjOztBQUNOLFdBRFIsY0FBYyxHQUNNO1FBQVgsSUFBSSx5REFBRyxFQUFFOzswQkFEbEIsY0FBYzs7QUFFaEIsK0JBRkUsY0FBYyw2Q0FFVixJQUFJLEVBQUU7R0FDYjs7ZUFIRyxjQUFjOztXQUtILHdCQUFDLEdBQUcsRUFBRTtBQUNuQixVQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUU7QUFDZCxXQUFHLEdBQUcsR0FBRyxDQUFDO09BQ1g7QUFDRCxVQUFNLFNBQVMsR0FBTSxJQUFJLENBQUMsTUFBTSxXQUFNLElBQUksQ0FBQyxNQUFNLFNBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxBQUFFLENBQUM7QUFDN0UsVUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLFVBQUksQUFBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7QUFDaEMsb0JBQVksR0FBRyxHQUFHLENBQUM7T0FDcEIsTUFBTTtBQUNMLGNBQU0sSUFBSSxLQUFLLHlDQUFzQyxHQUFHLFFBQUksQ0FBQztPQUM5RDtBQUNELGtCQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDL0MsYUFBTyxTQUFTLEdBQUcsWUFBWSxDQUFDO0tBQ2pDOzs7V0FFaUIscUJBQUMsR0FBRyxFQUFFLEdBQUc7dUJBQ3BCLFFBQVEsRUFBRSxJQUFJOzs7Ozs7NkNBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQzs7Ozs7QUFBekUsb0JBQVE7QUFBRSxnQkFBSTs7QUFDbkIsZUFBRyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO0FBQy9CLGVBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztBQUMxRCxnQkFBSSxHQUFHLG9CQUFLLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQyxlQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzs7Ozs7O0tBQzVEOzs7U0ExQkcsY0FBYzs7O1FBNkJYLGNBQWMsR0FBZCxjQUFjO3FCQUNSLGNBQWMiLCJmaWxlIjoibGliL25vLXNlc3Npb24tcHJveHkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1dGlsIH0gZnJvbSAnYXBwaXVtLXN1cHBvcnQnO1xuaW1wb3J0IHsgSldQcm94eSB9IGZyb20gJ2FwcGl1bS1iYXNlLWRyaXZlcic7XG5cbmNsYXNzIE5vU2Vzc2lvblByb3h5IGV4dGVuZHMgSldQcm94eSB7XG4gIGNvbnN0cnVjdG9yIChvcHRzID0ge30pIHtcbiAgICBzdXBlcihvcHRzKTtcbiAgfVxuXG4gIGdldFVybEZvclByb3h5ICh1cmwpIHtcbiAgICBpZiAodXJsID09PSAnJykge1xuICAgICAgdXJsID0gJy8nO1xuICAgIH1cbiAgICBjb25zdCBwcm94eUJhc2UgPSBgJHt0aGlzLnNjaGVtZX06Ly8ke3RoaXMuc2VydmVyfToke3RoaXMucG9ydH0ke3RoaXMuYmFzZX1gO1xuICAgIGxldCByZW1haW5pbmdVcmwgPSAnJztcbiAgICBpZiAoKG5ldyBSZWdFeHAoJ14vJykpLnRlc3QodXJsKSkge1xuICAgICAgcmVtYWluaW5nVXJsID0gdXJsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYERpZCBub3Qga25vdyB3aGF0IHRvIGRvIHdpdGggdXJsICcke3VybH0nYCk7XG4gICAgfVxuICAgIHJlbWFpbmluZ1VybCA9IHJlbWFpbmluZ1VybC5yZXBsYWNlKC9cXC8kLywgJycpOyAvLyBjYW4ndCBoYXZlIHRyYWlsaW5nIHNsYXNoZXNcbiAgICByZXR1cm4gcHJveHlCYXNlICsgcmVtYWluaW5nVXJsO1xuICB9XG5cbiAgYXN5bmMgcHJveHlSZXFSZXMgKHJlcSwgcmVzKSB7XG4gICAgbGV0IFtyZXNwb25zZSwgYm9keV0gPSBhd2FpdCB0aGlzLnByb3h5KHJlcS5vcmlnaW5hbFVybCwgcmVxLm1ldGhvZCwgcmVxLmJvZHkpO1xuICAgIHJlcy5oZWFkZXJzID0gcmVzcG9uc2UuaGVhZGVycztcbiAgICByZXMuc2V0KCdDb250ZW50LXR5cGUnLCByZXNwb25zZS5oZWFkZXJzWydjb250ZW50LXR5cGUnXSk7XG4gICAgYm9keSA9IHV0aWwuc2FmZUpzb25QYXJzZShib2R5KTtcbiAgICByZXMuc3RhdHVzKHJlc3BvbnNlLnN0YXR1c0NvZGUpLnNlbmQoSlNPTi5zdHJpbmdpZnkoYm9keSkpO1xuICB9XG59XG5cbmV4cG9ydCB7IE5vU2Vzc2lvblByb3h5IH07XG5leHBvcnQgZGVmYXVsdCBOb1Nlc3Npb25Qcm94eTsiXSwic291cmNlUm9vdCI6Ii4uLy4uIn0=