Skip to content

Commit dc5b5ae

Browse files
committed
chore: remove case where input[requestAlgorithmMember] is not set
Removes the case from flexibleChecksumsMiddleware where the input[requestAlgorithmMember] is not set, as that case is now checked in flexibleChecksumsInputMiddleware. Also removes check for isS3Express and it's default algorithm.
1 parent 317926c commit dc5b5ae

File tree

5 files changed

+10
-92
lines changed

5 files changed

+10
-92
lines changed

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

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,3 @@ export enum ChecksumLocation {
7474
* @internal
7575
*/
7676
export const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;
77-
78-
/**
79-
* @internal
80-
*/
81-
export const S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;

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

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -175,18 +175,4 @@ describe(flexibleChecksumsMiddleware.name, () => {
175175
expect(mockBase64Encoder).toHaveBeenCalledWith(mockRawChecksum);
176176
});
177177
});
178-
179-
describe("set feature", () => {
180-
it.each([
181-
["FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED", "a", RequestChecksumCalculation.WHEN_REQUIRED],
182-
["FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED", "Z", RequestChecksumCalculation.WHEN_SUPPORTED],
183-
])("logs %s and %s when RequestChecksumCalculation=%s", async (feature, value, requestChecksumCalculation) => {
184-
const mockConfig = {
185-
requestChecksumCalculation: () => Promise.resolve(requestChecksumCalculation),
186-
} as PreviouslyResolved;
187-
const handler = flexibleChecksumsMiddleware(mockConfig, mockMiddlewareConfig)(mockNext, {});
188-
await handler(mockArgs);
189-
expect(setFeature).toHaveBeenCalledWith(expect.anything(), feature, value);
190-
});
191-
});
192178
});

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

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -69,21 +69,11 @@ export const flexibleChecksumsMiddleware =
6969
const requestChecksumCalculation = await config.requestChecksumCalculation();
7070
const { input, requestChecksumRequired, requestAlgorithmMember } = middlewareConfig;
7171

72-
if (requestChecksumCalculation === RequestChecksumCalculation.WHEN_REQUIRED) {
73-
setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED", "a");
74-
} else {
75-
setFeature(context, "FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED", "Z");
76-
}
77-
78-
const checksumAlgorithm = getChecksumAlgorithmForRequest(
79-
input,
80-
{
81-
requestChecksumRequired,
82-
requestAlgorithmMember,
83-
requestChecksumCalculation,
84-
},
85-
!!context.isS3ExpressBucket
86-
);
72+
const checksumAlgorithm = getChecksumAlgorithmForRequest(input, {
73+
requestChecksumRequired,
74+
requestAlgorithmMember,
75+
requestChecksumCalculation,
76+
});
8777
let updatedBody = requestBody;
8878
let updatedHeaders = headers;
8979

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

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -39,46 +39,6 @@ describe(getChecksumAlgorithmForRequest.name, () => {
3939
});
4040
});
4141

42-
describe("when requestAlgorithmMember is not set in input", () => {
43-
const mockOptionsWithAlgoMember = { requestAlgorithmMember: mockRequestAlgorithmMember };
44-
45-
describe(`when requestChecksumCalculation is '${RequestChecksumCalculation.WHEN_REQUIRED}'`, () => {
46-
const mockOptions = {
47-
...mockOptionsWithAlgoMember,
48-
requestChecksumCalculation: RequestChecksumCalculation.WHEN_REQUIRED,
49-
};
50-
51-
it(`returns ${DEFAULT_CHECKSUM_ALGORITHM} if requestChecksumRequired is set`, () => {
52-
expect(getChecksumAlgorithmForRequest({}, { ...mockOptions, requestChecksumRequired: true })).toEqual(
53-
DEFAULT_CHECKSUM_ALGORITHM
54-
);
55-
});
56-
57-
it("returns undefined if requestChecksumRequired is false", () => {
58-
expect(getChecksumAlgorithmForRequest({}, { ...mockOptions, requestChecksumRequired: false })).toBeUndefined();
59-
});
60-
});
61-
62-
describe(`when requestChecksumCalculation is '${RequestChecksumCalculation.WHEN_SUPPORTED}'`, () => {
63-
const mockOptions = {
64-
...mockOptionsWithAlgoMember,
65-
requestChecksumCalculation: RequestChecksumCalculation.WHEN_SUPPORTED,
66-
};
67-
68-
it(`returns ${DEFAULT_CHECKSUM_ALGORITHM} if requestChecksumRequired is set`, () => {
69-
expect(getChecksumAlgorithmForRequest({}, { ...mockOptions, requestChecksumRequired: true })).toEqual(
70-
DEFAULT_CHECKSUM_ALGORITHM
71-
);
72-
});
73-
74-
it(`returns ${DEFAULT_CHECKSUM_ALGORITHM} if requestChecksumRequired is false`, () => {
75-
expect(getChecksumAlgorithmForRequest({}, { ...mockOptions, requestChecksumRequired: false })).toEqual(
76-
DEFAULT_CHECKSUM_ALGORITHM
77-
);
78-
});
79-
});
80-
});
81-
8242
it("throws error if input[requestAlgorithmMember] if not supported by client", () => {
8343
const unsupportedAlgo = "unsupportedAlgo";
8444
const mockInput = { [mockRequestAlgorithmMember]: unsupportedAlgo };

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

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
1-
import {
2-
ChecksumAlgorithm,
3-
DEFAULT_CHECKSUM_ALGORITHM,
4-
RequestChecksumCalculation,
5-
S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM,
6-
} from "./constants";
1+
import { ChecksumAlgorithm, DEFAULT_CHECKSUM_ALGORITHM, RequestChecksumCalculation } from "./constants";
72
import { CLIENT_SUPPORTED_ALGORITHMS } from "./types";
83

94
export interface GetChecksumAlgorithmForRequestOptions {
@@ -30,22 +25,14 @@ export interface GetChecksumAlgorithmForRequestOptions {
3025
*/
3126
export const getChecksumAlgorithmForRequest = (
3227
input: any,
33-
{
34-
requestChecksumRequired,
35-
requestAlgorithmMember,
36-
requestChecksumCalculation,
37-
}: GetChecksumAlgorithmForRequestOptions,
38-
isS3Express?: boolean
28+
{ requestChecksumRequired, requestAlgorithmMember, requestChecksumCalculation }: GetChecksumAlgorithmForRequestOptions
3929
): ChecksumAlgorithm | undefined => {
40-
const defaultAlgorithm = isS3Express ? S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM : DEFAULT_CHECKSUM_ALGORITHM;
41-
42-
// Either the Operation input member that is used to configure request checksum behavior is not set, or
43-
// the value for input member to configure flexible checksum is not set.
44-
if (!requestAlgorithmMember || !input[requestAlgorithmMember]) {
30+
// The Operation input member that is used to configure request checksum behavior is not set.
31+
if (!requestAlgorithmMember) {
4532
// Select an algorithm only if request checksum calculation is supported
4633
// or request checksum is required.
4734
return requestChecksumCalculation === RequestChecksumCalculation.WHEN_SUPPORTED || requestChecksumRequired
48-
? defaultAlgorithm
35+
? DEFAULT_CHECKSUM_ALGORITHM
4936
: undefined;
5037
}
5138

0 commit comments

Comments
 (0)