From de3fdb4ef7c266024089a7a3a19c6f04177a80e9 Mon Sep 17 00:00:00 2001 From: hfuss Date: Thu, 9 Dec 2021 14:10:15 -0500 Subject: [PATCH 1/3] Setting a Default Request Timeout for REST API Calls Signed-off-by: hfuss --- src/lib/utils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 4d07c0a..719b329 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -39,11 +39,13 @@ export const constants = { TRANSFER_HASH_ALGORITHM: 'sha256', REST_API_CALL_MAX_ATTEMPTS: 5, REST_API_CALL_RETRY_DELAY_MS: 500, + REST_API_CALL_REQUEST_TIMEOUT: 1000, MAX_EVENT_QUEUE_SIZE: 1000, HASH_HEADER_NAME: 'dx-hash', LAST_UPDATE_HEADER_NAME: 'dx-last-update' }; -const log = new Logger('utils.ts') +const log = new Logger('utils.ts'); +axios.defaults.timeout = constants.REST_API_CALL_REQUEST_TIMEOUT; export const regexp = { FILE_KEY: /^(\/[a-z0-9\+\-\_\.]+)+$/i, From b280c0e4e50edc1705eb48fbe0b11e8fc0030709 Mon Sep 17 00:00:00 2001 From: hfuss Date: Thu, 9 Dec 2021 14:44:51 -0500 Subject: [PATCH 2/3] 5s timeout Signed-off-by: hfuss --- src/lib/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 719b329..acf7081 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -39,7 +39,7 @@ export const constants = { TRANSFER_HASH_ALGORITHM: 'sha256', REST_API_CALL_MAX_ATTEMPTS: 5, REST_API_CALL_RETRY_DELAY_MS: 500, - REST_API_CALL_REQUEST_TIMEOUT: 1000, + REST_API_CALL_REQUEST_TIMEOUT: 5000, MAX_EVENT_QUEUE_SIZE: 1000, HASH_HEADER_NAME: 'dx-hash', LAST_UPDATE_HEADER_NAME: 'dx-last-update' From dfd9f409ddd790722e979eb34e60f7524a30f8e7 Mon Sep 17 00:00:00 2001 From: hfuss Date: Thu, 9 Dec 2021 15:06:34 -0500 Subject: [PATCH 3/3] Different timeouts for blobs vs other reqs Signed-off-by: hfuss --- src/handlers/blobs.ts | 1 + src/lib/utils.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/src/handlers/blobs.ts b/src/handlers/blobs.ts index 2b7e123..07ee645 100644 --- a/src/handlers/blobs.ts +++ b/src/handlers/blobs.ts @@ -95,6 +95,7 @@ export const deliverBlob = async ({ blobPath, recipient, recipientURL, requestID url: `${recipientURL}/api/v1/blobs${blobPath}`, data: formData, headers: formData.getHeaders(), + timeout: utils.constants.REST_API_CALL_BLOB_REQUEST_TIMEOUT, httpsAgent }); eventEmitter.emit('event', { diff --git a/src/lib/utils.ts b/src/lib/utils.ts index acf7081..1460a7e 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -40,6 +40,7 @@ export const constants = { REST_API_CALL_MAX_ATTEMPTS: 5, REST_API_CALL_RETRY_DELAY_MS: 500, REST_API_CALL_REQUEST_TIMEOUT: 5000, + REST_API_CALL_BLOB_REQUEST_TIMEOUT: 60000, MAX_EVENT_QUEUE_SIZE: 1000, HASH_HEADER_NAME: 'dx-hash', LAST_UPDATE_HEADER_NAME: 'dx-last-update'