forked from waja/action-debian-package
41 lines
890 B
JavaScript
41 lines
890 B
JavaScript
'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
|
|
}
|