UNPKG

@casual-simulation/aux-vm-client

Version:

A set of utilities required to securely run an AUX as a client.

37 lines 1.56 kB
/* CasualOS is a set of web-based tools designed to facilitate the creation of real-time, multi-user, context-aware interactive experiences. * * Copyright (c) 2019-2025 Casual Simulation, Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ export function getFinalUrl(defaultHost, host) { const url = new URL(defaultHost); const override = host ? new URL(host) : null; const finalUrl = override ? `${getFinalProtocol(url.protocol, override.protocol)}//${override.host}` : defaultHost; return finalUrl; } export function getFinalProtocol(defaultProtocol, overrideProtocol) { for (let protocol of [defaultProtocol, overrideProtocol]) { if (isSecureProtocol(protocol)) { return protocol; } } return overrideProtocol || defaultProtocol; } export function isSecureProtocol(protocol) { return protocol === 'https:'; } //# sourceMappingURL=UrlHelpers.js.map