Spaces:
Runtime error
Runtime error
// We include a version number for the Dispatcher API. In case of breaking changes, | |
// this version number must be increased to avoid conflicts. | |
const globalDispatcher = Symbol.for('undici.globalDispatcher.1') | |
const { InvalidArgumentError } = require('./core/errors') | |
const Agent = require('./agent') | |
if (getGlobalDispatcher() === undefined) { | |
setGlobalDispatcher(new Agent()) | |
} | |
function setGlobalDispatcher (agent) { | |
if (!agent || typeof agent.dispatch !== 'function') { | |
throw new InvalidArgumentError('Argument agent must implement Agent') | |
} | |
Object.defineProperty(globalThis, globalDispatcher, { | |
value: agent, | |
writable: true, | |
enumerable: false, | |
configurable: false | |
}) | |
} | |
function getGlobalDispatcher () { | |
return globalThis[globalDispatcher] | |
} | |
module.exports = { | |
setGlobalDispatcher, | |
getGlobalDispatcher | |
} | |