Spaces:
Running
Running
import axios, {AxiosInstance, CreateAxiosDefaults} from "axios"; | |
import HttpsProxyAgent from "https-proxy-agent"; | |
import {SessionConstructorOptions} from "tls-client/dist/esm/types"; | |
import {Session} from "tls-client/dist/esm/sessions"; | |
import tlsClient from "tls-client"; | |
export function CreateAxiosProxy(config: CreateAxiosDefaults, proxy?: string): AxiosInstance { | |
const createConfig = {...config}; | |
const useProxy = process.env.http_proxy || proxy; | |
if (useProxy) { | |
createConfig.proxy = false; | |
createConfig.httpAgent = HttpsProxyAgent(useProxy); | |
createConfig.httpsAgent = HttpsProxyAgent(useProxy); | |
} | |
return axios.create(createConfig); | |
} | |
export function CreateTlsProxy(config: SessionConstructorOptions, proxy?: string): Session { | |
const client = new tlsClient.Session(config); | |
const useProxy = process.env.http_proxy || proxy; | |
if (useProxy) { | |
client.proxy = useProxy; | |
} | |
return client; | |
} | |