From 96e620626327b853212ef26f167bd56b8a262676 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Vannicatte?= Date: Mon, 15 Apr 2024 16:51:11 +0200 Subject: [PATCH] feat(javascript): allow custom connect timeout (#3010) --- .../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/clients/algoliasearch-client-javascript/packages/client-common/src/transporter/createTransporter.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/transporter/createTransporter.ts index 621b2d47de..708c641f4b 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/transporter/createTransporter.ts +++ b/clients/algoliasearch-client-javascript/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/clients/algoliasearch-client-javascript/packages/client-common/src/types/transporter.ts b/clients/algoliasearch-client-javascript/packages/client-common/src/types/transporter.ts index 3b760d1d99..074fca664b 100644 --- a/clients/algoliasearch-client-javascript/packages/client-common/src/types/transporter.ts +++ b/clients/algoliasearch-client-javascript/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