From a3171e4ba5e92170c51d78f5b5e6f02a2101f8cc Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Fri, 28 May 2021 13:06:45 +0000 Subject: [PATCH 1/3] chore(middleware-retry): move constants to constants.ts --- packages/middleware-retry/src/configurations.ts | 3 ++- packages/middleware-retry/src/constants.ts | 11 +++++++++++ packages/middleware-retry/src/defaultStrategy.ts | 13 ++----------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/packages/middleware-retry/src/configurations.ts b/packages/middleware-retry/src/configurations.ts index fcdc869a10313..3a315b5c5f8ca 100644 --- a/packages/middleware-retry/src/configurations.ts +++ b/packages/middleware-retry/src/configurations.ts @@ -1,7 +1,8 @@ import { LoadedConfigSelectors } from "@aws-sdk/node-config-provider"; import { Provider, RetryStrategy } from "@aws-sdk/types"; -import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, StandardRetryStrategy } from "./defaultStrategy"; +import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "./constants"; +import { StandardRetryStrategy } from "./defaultStrategy"; export const ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS"; export const CONFIG_MAX_ATTEMPTS = "max_attempts"; diff --git a/packages/middleware-retry/src/constants.ts b/packages/middleware-retry/src/constants.ts index 2df12ce6fa9e0..4f4682332685b 100644 --- a/packages/middleware-retry/src/constants.ts +++ b/packages/middleware-retry/src/constants.ts @@ -47,3 +47,14 @@ export const INVOCATION_ID_HEADER = "amz-sdk-invocation-id"; * Header name for request retry information. */ export const REQUEST_HEADER = "amz-sdk-request"; + +/** + * The default value for how many HTTP requests an SDK should make for a + * single SDK operation invocation before giving up + */ +export const DEFAULT_MAX_ATTEMPTS = 3; + +/** + * The default retry algorithm to use. + */ +export const DEFAULT_RETRY_MODE = "standard"; diff --git a/packages/middleware-retry/src/defaultStrategy.ts b/packages/middleware-retry/src/defaultStrategy.ts index f9b334504da08..8fc23503556de 100644 --- a/packages/middleware-retry/src/defaultStrategy.ts +++ b/packages/middleware-retry/src/defaultStrategy.ts @@ -5,7 +5,9 @@ import { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider, Re import { v4 } from "uuid"; import { + DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_DELAY_BASE, + DEFAULT_RETRY_MODE, INITIAL_RETRY_TOKENS, INVOCATION_ID_HEADER, REQUEST_HEADER, @@ -16,17 +18,6 @@ import { defaultDelayDecider } from "./delayDecider"; import { defaultRetryDecider } from "./retryDecider"; import { DelayDecider, RetryDecider, RetryQuota } from "./types"; -/** - * The default value for how many HTTP requests an SDK should make for a - * single SDK operation invocation before giving up - */ -export const DEFAULT_MAX_ATTEMPTS = 3; - -/** - * The default retry algorithm to use. - */ -export const DEFAULT_RETRY_MODE = "standard"; - /** * Strategy options to be passed to StandardRetryStrategy */ From 729e02f3354f944920b2f2ee55187374133098ab Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Fri, 28 May 2021 13:24:54 +0000 Subject: [PATCH 2/3] fix(middleware-retry): move exportable constants to configurations --- packages/middleware-retry/src/configurations.ts | 12 +++++++++++- packages/middleware-retry/src/constants.ts | 11 ----------- packages/middleware-retry/src/defaultStrategy.ts | 3 +-- 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/packages/middleware-retry/src/configurations.ts b/packages/middleware-retry/src/configurations.ts index 3a315b5c5f8ca..ff9b97cbf8e45 100644 --- a/packages/middleware-retry/src/configurations.ts +++ b/packages/middleware-retry/src/configurations.ts @@ -1,12 +1,22 @@ import { LoadedConfigSelectors } from "@aws-sdk/node-config-provider"; import { Provider, RetryStrategy } from "@aws-sdk/types"; -import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "./constants"; import { StandardRetryStrategy } from "./defaultStrategy"; export const ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS"; export const CONFIG_MAX_ATTEMPTS = "max_attempts"; +/** + * The default value for how many HTTP requests an SDK should make for a + * single SDK operation invocation before giving up + */ +export const DEFAULT_MAX_ATTEMPTS = 3; + +/** + * The default retry algorithm to use. + */ +export const DEFAULT_RETRY_MODE = "standard"; + export const NODE_MAX_ATTEMPT_CONFIG_OPTIONS: LoadedConfigSelectors = { environmentVariableSelector: (env) => { const value = env[ENV_MAX_ATTEMPTS]; diff --git a/packages/middleware-retry/src/constants.ts b/packages/middleware-retry/src/constants.ts index 4f4682332685b..2df12ce6fa9e0 100644 --- a/packages/middleware-retry/src/constants.ts +++ b/packages/middleware-retry/src/constants.ts @@ -47,14 +47,3 @@ export const INVOCATION_ID_HEADER = "amz-sdk-invocation-id"; * Header name for request retry information. */ export const REQUEST_HEADER = "amz-sdk-request"; - -/** - * The default value for how many HTTP requests an SDK should make for a - * single SDK operation invocation before giving up - */ -export const DEFAULT_MAX_ATTEMPTS = 3; - -/** - * The default retry algorithm to use. - */ -export const DEFAULT_RETRY_MODE = "standard"; diff --git a/packages/middleware-retry/src/defaultStrategy.ts b/packages/middleware-retry/src/defaultStrategy.ts index 8fc23503556de..ab621b0687d7a 100644 --- a/packages/middleware-retry/src/defaultStrategy.ts +++ b/packages/middleware-retry/src/defaultStrategy.ts @@ -4,10 +4,9 @@ import { SdkError } from "@aws-sdk/smithy-client"; import { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider, RetryStrategy } from "@aws-sdk/types"; import { v4 } from "uuid"; +import { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from "./configurations"; import { - DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_DELAY_BASE, - DEFAULT_RETRY_MODE, INITIAL_RETRY_TOKENS, INVOCATION_ID_HEADER, REQUEST_HEADER, From dba7a369944a4c3a4fb87e8c87aa35f41a301969 Mon Sep 17 00:00:00 2001 From: Trivikram Kamat <16024985+trivikr@users.noreply.github.com> Date: Fri, 28 May 2021 13:42:59 +0000 Subject: [PATCH 3/3] fix: constants import in tests --- packages/middleware-retry/src/configurations.spec.ts | 3 ++- packages/middleware-retry/src/defaultStrategy.spec.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/middleware-retry/src/configurations.spec.ts b/packages/middleware-retry/src/configurations.spec.ts index 777c46fa3fbc9..cb79a04913756 100644 --- a/packages/middleware-retry/src/configurations.spec.ts +++ b/packages/middleware-retry/src/configurations.spec.ts @@ -1,10 +1,11 @@ import { CONFIG_MAX_ATTEMPTS, + DEFAULT_MAX_ATTEMPTS, ENV_MAX_ATTEMPTS, NODE_MAX_ATTEMPT_CONFIG_OPTIONS, resolveRetryConfig, } from "./configurations"; -import { DEFAULT_MAX_ATTEMPTS, StandardRetryStrategy } from "./defaultStrategy"; +import { StandardRetryStrategy } from "./defaultStrategy"; jest.mock("./defaultStrategy"); diff --git a/packages/middleware-retry/src/defaultStrategy.spec.ts b/packages/middleware-retry/src/defaultStrategy.spec.ts index fc5d868679cdd..a18c579e3b6f4 100644 --- a/packages/middleware-retry/src/defaultStrategy.spec.ts +++ b/packages/middleware-retry/src/defaultStrategy.spec.ts @@ -2,9 +2,10 @@ import { HttpRequest } from "@aws-sdk/protocol-http"; import { isThrottlingError } from "@aws-sdk/service-error-classification"; import { v4 } from "uuid"; +import { DEFAULT_MAX_ATTEMPTS } from "./configurations"; import { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, THROTTLING_RETRY_DELAY_BASE } from "./constants"; import { getDefaultRetryQuota } from "./defaultRetryQuota"; -import { DEFAULT_MAX_ATTEMPTS, StandardRetryStrategy } from "./defaultStrategy"; +import { StandardRetryStrategy } from "./defaultStrategy"; import { defaultDelayDecider } from "./delayDecider"; import { defaultRetryDecider } from "./retryDecider"; import { RetryQuota } from "./types";