From cb72883479240971acc110f327a99d099ac657da Mon Sep 17 00:00:00 2001 From: algolia-bot Date: Mon, 15 Apr 2024 15:05:03 +0000 Subject: [PATCH] feat(javascript): allow custom connect timeout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://github.com/algolia/api-clients-automation/pull/3010 Co-authored-by: Clément Vannicatte --- .../client-common/src/transporter/createTransporter.ts | 7 ++----- packages/client-common/src/types/transporter.ts | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/packages/client-common/src/transporter/createTransporter.ts b/packages/client-common/src/transporter/createTransporter.ts index 621b2d47d..708c641f4 100644 --- a/packages/client-common/src/transporter/createTransporter.ts +++ b/packages/client-common/src/transporter/createTransporter.ts @@ -151,17 +151,14 @@ export function createTransporter({ throw new RetryError(stackTraceWithoutCredentials(stackTrace)); } - let responseTimeout = requestOptions.timeout; - if (responseTimeout === undefined) { - responseTimeout = isRead ? timeouts.read : timeouts.write; - } + let responseTimeout = isRead ? requestOptions.timeouts?.read || timeouts.read : requestOptions.timeouts?.write || timeouts.write; const payload: EndRequest = { data, headers, method: request.method, url: serializeUrl(host, request.path, queryParameters), - connectTimeout: getTimeout(timeoutsCount, timeouts.connect), + connectTimeout: getTimeout(timeoutsCount, requestOptions.timeouts?.connect || timeouts.connect), responseTimeout: getTimeout(timeoutsCount, responseTimeout), }; diff --git a/packages/client-common/src/types/transporter.ts b/packages/client-common/src/types/transporter.ts index 3b760d1d9..074fca664 100644 --- a/packages/client-common/src/types/transporter.ts +++ b/packages/client-common/src/types/transporter.ts @@ -11,7 +11,7 @@ export type RequestOptions = Pick & { * the given timeout will be applied. But the transporter layer may * increase this timeout if there is need for it. */ - timeout?: number; + timeouts?: Partial; /** * Custom headers for the request. This headers are