warmo's picture
Duplicate from hf4all/bingo
fad0d24
raw
history blame contribute delete
869 Bytes
import Debug from 'debug'
// const safeRequire = (path: string) => {
// try {
// return eval(`require("${path}")`) || {}
// } catch (e) {}
// return {}
// }
const { fetch, setGlobalDispatcher, ProxyAgent } = require('undici')
const { HttpsProxyAgent } = require('https-proxy-agent')
const ws = require('ws')
const debug = Debug('bingo')
const httpProxy = process.env.http_proxy || process.env.HTTP_PROXY || process.env.https_proxy || process.env.HTTPS_PROXY;
let WebSocket = ws.WebSocket
if (httpProxy) {
setGlobalDispatcher(new ProxyAgent(httpProxy))
const agent = new HttpsProxyAgent(httpProxy)
// @ts-ignore
WebSocket = class extends ws.WebSocket {
constructor(address: string | URL, options: typeof ws.WebSocket) {
super(address, {
...options,
agent,
})
}
}
}
export default { fetch, WebSocket, debug }