From 1b26a44e3eb198581931e6b0d17acf724fd806d2 Mon Sep 17 00:00:00 2001 From: "Kamat, Trivikram" <16024985+trivikr@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:02:40 +0000 Subject: [PATCH] chore: add Node Config Options --- .../middleware-flexible-checksums/package.json | 1 + ...EQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.ts | 16 ++++++++++++++++ ...ESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.ts | 16 ++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 packages/middleware-flexible-checksums/src/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.ts create mode 100644 packages/middleware-flexible-checksums/src/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.ts diff --git a/packages/middleware-flexible-checksums/package.json b/packages/middleware-flexible-checksums/package.json index 3a0dbcc9d20d7..8254d604d6a40 100644 --- a/packages/middleware-flexible-checksums/package.json +++ b/packages/middleware-flexible-checksums/package.json @@ -28,6 +28,7 @@ }, "license": "Apache-2.0", "dependencies": { + "@smithy/node-config-provider": "^3.1.5", "@aws-crypto/crc32": "5.2.0", "@aws-crypto/crc32c": "5.2.0", "@aws-sdk/types": "*", diff --git a/packages/middleware-flexible-checksums/src/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.ts b/packages/middleware-flexible-checksums/src/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.ts new file mode 100644 index 0000000000000..ac105c94d97a1 --- /dev/null +++ b/packages/middleware-flexible-checksums/src/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.ts @@ -0,0 +1,16 @@ +import { LoadedConfigSelectors } from "@smithy/node-config-provider"; + +import { RequestChecksumCalculation } from "./constants"; +import { SelectorType, stringUnionSelector } from "./stringUnionSelector"; + +export const ENV_REQUEST_CHECKSUM_CALCULATION = "AWS_REQUEST_CHECKSUM_CALCULATION"; +export const CONFIG_REQUEST_CHECKSUM_CALCULATION = "request_checksum_calculation"; +export const DEFAULT_REQUEST_CHECKSUM_CALCULATION = RequestChecksumCalculation.WHEN_SUPPORTED; + +export const NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS: LoadedConfigSelectors = { + environmentVariableSelector: (env) => + stringUnionSelector(env, ENV_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType.ENV), + configFileSelector: (profile) => + stringUnionSelector(profile, CONFIG_REQUEST_CHECKSUM_CALCULATION, RequestChecksumCalculation, SelectorType.CONFIG), + default: DEFAULT_REQUEST_CHECKSUM_CALCULATION, +}; diff --git a/packages/middleware-flexible-checksums/src/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.ts b/packages/middleware-flexible-checksums/src/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.ts new file mode 100644 index 0000000000000..197b4ea6d0524 --- /dev/null +++ b/packages/middleware-flexible-checksums/src/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.ts @@ -0,0 +1,16 @@ +import { LoadedConfigSelectors } from "@smithy/node-config-provider"; + +import { RequestChecksumCalculation } from "./constants"; +import { SelectorType, stringUnionSelector } from "./stringUnionSelector"; + +export const ENV_RESPONSE_CHECKSUM_VALIDATION = "AWS_RESPONSE_CHECKSUM_VALIDATION"; +export const CONFIG_RESPONSE_CHECKSUM_VALIDATION = "response_checksum_validation"; +export const DEFAULT_RESPONSE_CHECKSUM_VALIDATION = RequestChecksumCalculation.WHEN_SUPPORTED; + +export const NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS: LoadedConfigSelectors = { + environmentVariableSelector: (env) => + stringUnionSelector(env, ENV_RESPONSE_CHECKSUM_VALIDATION, RequestChecksumCalculation, SelectorType.ENV), + configFileSelector: (profile) => + stringUnionSelector(profile, CONFIG_RESPONSE_CHECKSUM_VALIDATION, RequestChecksumCalculation, SelectorType.CONFIG), + default: DEFAULT_RESPONSE_CHECKSUM_VALIDATION, +};