2025-04-02 06:50:39 -04:00

42 lines
1.6 KiB
JavaScript

'use strict';
const { getGlobalDispatcher, setGlobalDispatcher } = require('./lib/global');
const EnvHttpProxyAgent = require('./lib/dispatcher/env-http-proxy-agent');
const fetchImpl = require('./lib/web/fetch').fetch;
module.exports.fetch = function fetch(resource, init = undefined) {
return fetchImpl(resource, init).catch((err) => {
if (err && typeof err === 'object') {
Error.captureStackTrace(err);
}
throw err;
});
};
module.exports.FormData = require('./lib/web/fetch/formdata').FormData;
module.exports.Headers = require('./lib/web/fetch/headers').Headers;
module.exports.Response = require('./lib/web/fetch/response').Response;
module.exports.Request = require('./lib/web/fetch/request').Request;
const {
CloseEvent,
ErrorEvent,
MessageEvent,
createFastMessageEvent,
} = require('./lib/web/websocket/events');
module.exports.WebSocket = require('./lib/web/websocket/websocket').WebSocket;
module.exports.CloseEvent = CloseEvent;
module.exports.ErrorEvent = ErrorEvent;
module.exports.MessageEvent = MessageEvent;
module.exports.createFastMessageEvent = createFastMessageEvent;
module.exports.EventSource =
require('./lib/web/eventsource/eventsource').EventSource;
const api = require('./lib/api');
const Dispatcher = require('./lib/dispatcher/dispatcher');
Object.assign(Dispatcher.prototype, api);
// Expose the fetch implementation to be enabled in Node.js core via a flag
module.exports.EnvHttpProxyAgent = EnvHttpProxyAgent;
module.exports.getGlobalDispatcher = getGlobalDispatcher;
module.exports.setGlobalDispatcher = setGlobalDispatcher;