diff --git a/src/requireAuth.ts b/src/requireAuth.ts index e37ecf43d26..ce4a65ad500 100644 --- a/src/requireAuth.ts +++ b/src/requireAuth.ts @@ -28,14 +28,21 @@ function getAuthClient(config: GoogleAuthOptions): GoogleAuth { return authClient; } + const nodeVersion = process.versions?.node; + const nodeMajorVersion = nodeVersion ? parseInt(nodeVersion.split(".")[0], 10) : 0; + const isNode22OrHigher = !isNaN(nodeMajorVersion) && nodeMajorVersion >= 22; + const transporterOptions = isNode22OrHigher + ? config.clientOptions?.transporterOptions + : { + ...config.clientOptions?.transporterOptions, + agent: apiv2.noKeepAliveAgent, + }; + const authConfig: GoogleAuthOptions = { ...config, clientOptions: { ...config.clientOptions, - transporterOptions: { - ...config.clientOptions?.transporterOptions, - agent: apiv2.noKeepAliveAgent, - }, + ...(transporterOptions ? { transporterOptions } : {}), }, };