"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "getSocketUrl", { enumerable: true, get: function() { return getSocketUrl; } }); function getSocketProtocol(assetPrefix) { let protocol = window.location.protocol; try { // assetPrefix is a url protocol = new URL(assetPrefix).protocol; } catch (e) {} return protocol === "http:" ? "ws" : "wss"; } function getSocketUrl(assetPrefix) { const { hostname, port } = window.location; const protocol = getSocketProtocol(assetPrefix); const normalizedAssetPrefix = assetPrefix.replace(/^\/+/, ""); let url = protocol + "://" + hostname + ":" + port + (normalizedAssetPrefix ? "/" + normalizedAssetPrefix : ""); if (normalizedAssetPrefix.startsWith("http")) { url = protocol + "://" + normalizedAssetPrefix.split("://")[1]; } return url; } if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } //# sourceMappingURL=get-socket-url.js.map