mirror of
https://github.com/jiangrui1994/CloudSaver.git
synced 2026-01-13 16:48:46 +08:00
Initial commit for open-source version
This commit is contained in:
28
backend/src/utils/axiosInstance.ts
Normal file
28
backend/src/utils/axiosInstance.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import axios, { AxiosInstance, AxiosRequestHeaders } from "axios";
|
||||
import tunnel from "tunnel";
|
||||
import { config } from "../config";
|
||||
|
||||
export function createAxiosInstance(
|
||||
baseURL: string,
|
||||
headers: AxiosRequestHeaders,
|
||||
useProxy: boolean = false
|
||||
): AxiosInstance {
|
||||
let agent;
|
||||
|
||||
if (useProxy) {
|
||||
agent = tunnel.httpsOverHttp({
|
||||
proxy: {
|
||||
host: config.httpProxy.host,
|
||||
port: Number(config.httpProxy.port),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
return axios.create({
|
||||
baseURL,
|
||||
timeout: 30000,
|
||||
headers,
|
||||
httpsAgent: useProxy ? agent : undefined,
|
||||
withCredentials: true,
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user