directus
1import type { AxiosInstance } from 'axios';
2
3export const _cache: { axiosInstance: AxiosInstance | null } = {
4axiosInstance: null,
5};
6
7export async function getAxios() {
8if (!_cache.axiosInstance) {
9const axios = (await import('axios')).default;
10const { Agent: AgentHttp } = await import('node:http');
11const { Agent: AgentHttps } = await import('node:https');
12const { agentWithIpValidation } = await import('./agent-with-ip-validation.js');
13
14const httpAgent = agentWithIpValidation(new AgentHttp());
15const httpsAgent = agentWithIpValidation(new AgentHttps());
16
17_cache.axiosInstance = axios.create({ httpAgent, httpsAgent });
18}
19
20return _cache.axiosInstance;
21}
22