UNPKG

next

Version:

The React Framework

38 lines (36 loc) 1.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "getSocketUrl", { enumerable: true, get: function() { return getSocketUrl; } }); const _normalizedassetprefix = require("../../../../shared/lib/normalized-asset-prefix"); 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 prefix = (0, _normalizedassetprefix.normalizedAssetPrefix)(assetPrefix); const protocol = getSocketProtocol(assetPrefix || ''); if (URL.canParse(prefix)) { // since normalized asset prefix is ensured to be a URL format, // we can safely replace the protocol return prefix.replace(/^http/, 'ws'); } const { hostname, port } = window.location; return protocol + "//" + hostname + (port ? ":" + port : '') + prefix; } 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