Skip to content

Commit f2d74ac

Browse files
committed
fix(middleware-flexible-checksums): use object for requestAlgorithmMember
1 parent 2381379 commit f2d74ac

File tree

4 files changed

+14
-24
lines changed

4 files changed

+14
-24
lines changed

packages/middleware-flexible-checksums/src/flexibleChecksumsInputMiddleware.spec.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,7 @@ vi.mock("@aws-sdk/core");
99

1010
describe(flexibleChecksumsInputMiddleware.name, () => {
1111
const mockNext = vi.fn();
12-
13-
const mockRequestAlgorithmMember = "mockRequestAlgorithmMember";
1412
const mockRequestValidationModeMember = "mockRequestValidationModeMember";
15-
const mockMiddlewareConfig = { requestChecksumRequired: false };
1613

1714
const mockConfig = {
1815
requestChecksumCalculation: () => Promise.resolve(RequestChecksumCalculation.WHEN_SUPPORTED),
@@ -27,7 +24,6 @@ describe(flexibleChecksumsInputMiddleware.name, () => {
2724
describe("sets input.requestValidationModeMember", () => {
2825
it("when requestValidationModeMember is defined and responseChecksumValidation is supported", async () => {
2926
const mockMiddlewareConfigWithMockRequestValidationModeMember = {
30-
...mockMiddlewareConfig,
3127
requestValidationModeMember: mockRequestValidationModeMember,
3228
};
3329
const handler = flexibleChecksumsInputMiddleware(
@@ -43,7 +39,7 @@ describe(flexibleChecksumsInputMiddleware.name, () => {
4339
const mockArgs = { input: {} };
4440

4541
it("when requestValidationModeMember is not defined", async () => {
46-
const handler = flexibleChecksumsInputMiddleware(mockConfig, mockMiddlewareConfig)(mockNext, {});
42+
const handler = flexibleChecksumsInputMiddleware(mockConfig, {})(mockNext, {});
4743
await handler(mockArgs);
4844
expect(mockNext).toHaveBeenCalledWith(mockArgs);
4945
});
@@ -54,7 +50,7 @@ describe(flexibleChecksumsInputMiddleware.name, () => {
5450
responseChecksumValidation: () => Promise.resolve(ResponseChecksumValidation.WHEN_REQUIRED),
5551
} as PreviouslyResolved;
5652

57-
const handler = flexibleChecksumsInputMiddleware(mockConfigResWhenRequired, mockMiddlewareConfig)(mockNext, {});
53+
const handler = flexibleChecksumsInputMiddleware(mockConfigResWhenRequired, {})(mockNext, {});
5854
await handler(mockArgs);
5955

6056
expect(mockNext).toHaveBeenCalledWith(mockArgs);
@@ -93,7 +89,7 @@ describe(flexibleChecksumsInputMiddleware.name, () => {
9389
[configKey]: () => Promise.resolve(configValue),
9490
} as PreviouslyResolved;
9591

96-
const handler = flexibleChecksumsInputMiddleware(mockConfigOverride, mockMiddlewareConfig)(mockNext, {});
92+
const handler = flexibleChecksumsInputMiddleware(mockConfigOverride, {})(mockNext, {});
9793
await handler({ input: {} });
9894

9995
expect(setFeature).toHaveBeenCalledTimes(2);

packages/middleware-flexible-checksums/src/flexibleChecksumsInputMiddleware.ts

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,14 @@ import {
1010
} from "@smithy/types";
1111

1212
import { PreviouslyResolved } from "./configuration";
13-
import { DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation, ResponseChecksumValidation } from "./constants";
13+
import { RequestChecksumCalculation, ResponseChecksumValidation } from "./constants";
1414

1515
export interface FlexibleChecksumsInputMiddlewareConfig {
16-
/**
17-
* Indicates an operation requires a checksum in its HTTP request.
18-
*/
19-
requestChecksumRequired: boolean;
20-
2116
/**
2217
* Defines a top-level operation input member used to opt-in to best-effort validation
2318
* of a checksum returned in the HTTP response of the operation.
2419
*/
2520
requestValidationModeMember?: string;
26-
27-
/**
28-
* Defines a top-level operation input member that is used to configure request checksum behavior.
29-
*/
30-
requestAlgorithmMember?: string;
3121
}
3222

3323
/**
@@ -57,7 +47,7 @@ export const flexibleChecksumsInputMiddleware =
5747
): SerializeHandler<any, Output> =>
5848
async (args: SerializeHandlerArguments<any>): Promise<SerializeHandlerOutput<Output>> => {
5949
const input = args.input;
60-
const { requestValidationModeMember, requestAlgorithmMember, requestChecksumRequired } = middlewareConfig;
50+
const { requestValidationModeMember } = middlewareConfig;
6151

6252
const requestChecksumCalculation = await config.requestChecksumCalculation();
6353
const responseChecksumValidation = await config.responseChecksumValidation();

packages/middleware-flexible-checksums/src/flexibleChecksumsMiddleware.spec.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,10 @@ describe(flexibleChecksumsMiddleware.name, () => {
108108
describe("input[requestAlgorithmMember] is not defined and", () => {
109109
const mockMwConfigWithReqAlgoMember = {
110110
...mockMiddlewareConfig,
111-
requestAlgorithmMember: mockRequestAlgorithmMember,
112-
requestAlgorithmMemberHttpHeader: mockRequestAlgorithmMemberHttpHeader,
111+
requestAlgorithmMember: {
112+
name: mockRequestAlgorithmMember,
113+
httpHeader: mockRequestAlgorithmMemberHttpHeader,
114+
},
113115
};
114116

115117
it("requestChecksumCalculation is supported", async () => {

packages/middleware-flexible-checksums/src/flexibleChecksumsMiddleware.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,17 @@ export const flexibleChecksumsMiddleware =
7272
const { request, input } = args;
7373
const { body: requestBody, headers } = request;
7474
const { base64Encoder, streamHasher } = config;
75-
const { requestChecksumRequired, requestAlgorithmMember, requestAlgorithmMemberHttpHeader } = middlewareConfig;
75+
const { requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;
7676
const requestChecksumCalculation = await config.requestChecksumCalculation();
7777

78+
const requestAlgorithmMemberName = requestAlgorithmMember?.name;
79+
const requestAlgorithmMemberHttpHeader = requestAlgorithmMember?.httpHeader;
7880
// The value for input member to configure flexible checksum is not set.
79-
if (requestAlgorithmMember && !input[requestAlgorithmMember]) {
81+
if (requestAlgorithmMemberName && !input[requestAlgorithmMemberName]) {
8082
// Set requestAlgorithmMember as default checksum algorithm only if request checksum calculation is supported
8183
// or request checksum is required.
8284
if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired) {
83-
input[requestAlgorithmMember] = DEFAULT_CHECKSUM_ALGORITHM;
85+
input[requestAlgorithmMemberName] = DEFAULT_CHECKSUM_ALGORITHM;
8486
if (requestAlgorithmMemberHttpHeader) {
8587
headers[requestAlgorithmMemberHttpHeader] = DEFAULT_CHECKSUM_ALGORITHM;
8688
}

0 commit comments

Comments
 (0)