'use strict'; // In case of breaking changes, increase the version // number to avoid conflicts. const globalOrigin = Symbol.for('undici.globalOrigin.1'); function getGlobalOrigin() { return globalThis[globalOrigin]; } function setGlobalOrigin(newOrigin) { if (newOrigin === undefined) { Object.defineProperty(globalThis, globalOrigin, { value: undefined, writable: true, enumerable: false, configurable: false, }); return; } const parsedURL = new URL(newOrigin); if (parsedURL.protocol !== 'http:' && parsedURL.protocol !== 'https:') { throw new TypeError( `Only http & https urls are allowed, received ${parsedURL.protocol}` ); } Object.defineProperty(globalThis, globalOrigin, { value: parsedURL, writable: true, enumerable: false, configurable: false, }); } module.exports = { getGlobalOrigin, setGlobalOrigin, };