'use strict'; var _createClass = function() { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function(Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Server = function() { function Server(json) { _classCallCheck(this, Server); for (var k in json) { this[k] = json[k]; } } _createClass(Server, [ { key: 'url', value: function url() { const port = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; return location.protocol + '//' + this.Hostname + (port ? ':' + port : (this.Port ? ':' + this.Port : (location.port ? ':' + location.port : ''))) + (this.PathPrefix && this.PathPrefix != 'null' ? this.PathPrefix : ''); } }, { key: 'urlToZMS', value: function urlToZMS() { const port = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; return this.Protocol + '://' + this.Hostname + (port ? ':' + port : (this.Port ? ':' + this.Port : (location.port ? ':' + location.port : ''))) + (this.PathToZMS && this.PathToZMS != 'null' ? this.PathToZMS : ''); } }, { key: 'urlToApi', value: function urlToApi() { const port = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; const protocol = (location.protocol == 'https:' ? 'https:' : this.Protocol + ':'); const path = (this.PathToApi && (this.PathToApi != 'null')) ? this.PathToApi : ''; // Single-server: match browser's host:port (this.Hostname/Port may be wrong behind a proxy). if (!this.Id) { return protocol + '//' + (port ? location.hostname + ':' + port : location.host) + path; } return protocol + '//' + this.Hostname + (port ? ':' + port : (this.Port ? ':' + this.Port : (location.port ? ':' + location.port : ''))) + path; } }, { key: 'getFromApi', value: function getFromApi() { const url = this.urlToApi() + (arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''); return fetch(appendQuery(zmAuth.appendTo(url), arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '')); } }, { key: 'urlToJanus', value: function urlToJanus() { const port = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0; return (location.protocol=='https:'? 'https:' : this.Protocol+':') + '//' + this.Hostname + (port ? ':' + port : (this.Port ? ':' + this.Port : (location.port ? ':' + location.port : ''))) + '/janus'; } } ]); return Server; }();