diff --git a/backend/src/apis/ConnectionAgents.ts b/backend/src/apis/ConnectionAgents.ts new file mode 100644 index 000000000..8ce585242 --- /dev/null +++ b/backend/src/apis/ConnectionAgents.ts @@ -0,0 +1,5 @@ +import { Agent } from 'http' +import { Agent as HttpsAgent } from 'https' + +export const httpAgent = new Agent({ keepAlive: true }) +export const httpsAgent = new HttpsAgent({ keepAlive: true }) diff --git a/backend/src/apis/HttpRequest.ts b/backend/src/apis/HttpRequest.ts index 27578463a..2c7b8b5a1 100644 --- a/backend/src/apis/HttpRequest.ts +++ b/backend/src/apis/HttpRequest.ts @@ -7,10 +7,12 @@ import axios from 'axios' import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' +import { httpAgent, httpsAgent } from './ConnectionAgents' + export const apiPost = async (url: string, payload: unknown): Promise => { logger.trace('POST', url, payload) try { - const result = await axios.post(url, payload) + const result = await axios.post(url, payload, { httpAgent, httpsAgent }) logger.trace('POST-Response', result) if (result.status !== 200) { throw new LogError('HTTP Status Error', result.status) @@ -27,7 +29,7 @@ export const apiPost = async (url: string, payload: unknown): Promise => { export const apiGet = async (url: string): Promise => { logger.trace('GET: url=' + url) try { - const result = await axios.get(url) + const result = await axios.get(url, { httpAgent, httpsAgent }) logger.trace('GET-Response', result) if (result.status !== 200) { throw new LogError('HTTP Status Error', result.status) diff --git a/backend/src/apis/gms/GmsClient.ts b/backend/src/apis/gms/GmsClient.ts index a59f7f6b5..9af018e1c 100644 --- a/backend/src/apis/gms/GmsClient.ts +++ b/backend/src/apis/gms/GmsClient.ts @@ -4,6 +4,7 @@ /* eslint-disable @typescript-eslint/no-unsafe-argument */ import axios from 'axios' +import { httpAgent, httpsAgent } from '@/apis/ConnectionAgents' import { CONFIG } from '@/config' import { LogError } from '@/server/LogError' import { backendLogger as logger } from '@/server/logger' @@ -126,9 +127,10 @@ export async function createGmsUser(apiKey: string, user: GmsUser): Promise