@aws-sdk/middleware-flexible-checksums 3.451.0 → 3.461.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChecksumLocation = exports.ChecksumAlgorithm = void 0;
3
+ exports.S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM = exports.DEFAULT_CHECKSUM_ALGORITHM = exports.ChecksumLocation = exports.ChecksumAlgorithm = void 0;
4
4
  var ChecksumAlgorithm;
5
5
  (function (ChecksumAlgorithm) {
6
6
  ChecksumAlgorithm["MD5"] = "MD5";
@@ -14,3 +14,5 @@ var ChecksumLocation;
14
14
  ChecksumLocation["HEADER"] = "header";
15
15
  ChecksumLocation["TRAILER"] = "trailer";
16
16
  })(ChecksumLocation = exports.ChecksumLocation || (exports.ChecksumLocation = {}));
17
+ exports.DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.MD5;
18
+ exports.S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;
@@ -14,7 +14,7 @@ exports.flexibleChecksumsMiddlewareOptions = {
14
14
  tags: ["BODY_CHECKSUM"],
15
15
  override: true,
16
16
  };
17
- const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next) => async (args) => {
17
+ const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {
18
18
  if (!protocol_http_1.HttpRequest.isInstance(args.request)) {
19
19
  return next(args);
20
20
  }
@@ -25,7 +25,7 @@ const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next) => asyn
25
25
  const checksumAlgorithm = (0, getChecksumAlgorithmForRequest_1.getChecksumAlgorithmForRequest)(input, {
26
26
  requestChecksumRequired,
27
27
  requestAlgorithmMember,
28
- });
28
+ }, !!context.isS3ExpressBucket);
29
29
  let updatedBody = requestBody;
30
30
  let updatedHeaders = headers;
31
31
  if (checksumAlgorithm) {
@@ -3,9 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getChecksumAlgorithmForRequest = void 0;
4
4
  const constants_1 = require("./constants");
5
5
  const types_1 = require("./types");
6
- const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember }) => {
6
+ const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember }, isS3Express) => {
7
+ const defaultAlgorithm = isS3Express ? constants_1.S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM : constants_1.DEFAULT_CHECKSUM_ALGORITHM;
7
8
  if (!requestAlgorithmMember || !input[requestAlgorithmMember]) {
8
- return requestChecksumRequired ? constants_1.ChecksumAlgorithm.MD5 : undefined;
9
+ return requestChecksumRequired ? defaultAlgorithm : undefined;
9
10
  }
10
11
  const checksumAlgorithm = input[requestAlgorithmMember];
11
12
  if (!types_1.CLIENT_SUPPORTED_ALGORITHMS.includes(checksumAlgorithm)) {
@@ -11,3 +11,5 @@ export var ChecksumLocation;
11
11
  ChecksumLocation["HEADER"] = "header";
12
12
  ChecksumLocation["TRAILER"] = "trailer";
13
13
  })(ChecksumLocation || (ChecksumLocation = {}));
14
+ export const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.MD5;
15
+ export const S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;
@@ -11,7 +11,7 @@ export const flexibleChecksumsMiddlewareOptions = {
11
11
  tags: ["BODY_CHECKSUM"],
12
12
  override: true,
13
13
  };
14
- export const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next) => async (args) => {
14
+ export const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next, context) => async (args) => {
15
15
  if (!HttpRequest.isInstance(args.request)) {
16
16
  return next(args);
17
17
  }
@@ -22,7 +22,7 @@ export const flexibleChecksumsMiddleware = (config, middlewareConfig) => (next)
22
22
  const checksumAlgorithm = getChecksumAlgorithmForRequest(input, {
23
23
  requestChecksumRequired,
24
24
  requestAlgorithmMember,
25
- });
25
+ }, !!context.isS3ExpressBucket);
26
26
  let updatedBody = requestBody;
27
27
  let updatedHeaders = headers;
28
28
  if (checksumAlgorithm) {
@@ -1,8 +1,9 @@
1
- import { ChecksumAlgorithm } from "./constants";
1
+ import { DEFAULT_CHECKSUM_ALGORITHM, S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM } from "./constants";
2
2
  import { CLIENT_SUPPORTED_ALGORITHMS } from "./types";
3
- export const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember }) => {
3
+ export const getChecksumAlgorithmForRequest = (input, { requestChecksumRequired, requestAlgorithmMember }, isS3Express) => {
4
+ const defaultAlgorithm = isS3Express ? S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM : DEFAULT_CHECKSUM_ALGORITHM;
4
5
  if (!requestAlgorithmMember || !input[requestAlgorithmMember]) {
5
- return requestChecksumRequired ? ChecksumAlgorithm.MD5 : undefined;
6
+ return requestChecksumRequired ? defaultAlgorithm : undefined;
6
7
  }
7
8
  const checksumAlgorithm = input[requestAlgorithmMember];
8
9
  if (!CLIENT_SUPPORTED_ALGORITHMS.includes(checksumAlgorithm)) {
@@ -15,3 +15,11 @@ export declare enum ChecksumLocation {
15
15
  HEADER = "header",
16
16
  TRAILER = "trailer"
17
17
  }
18
+ /**
19
+ * @internal
20
+ */
21
+ export declare const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.MD5;
22
+ /**
23
+ * @internal
24
+ */
25
+ export declare const S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.CRC32;
@@ -14,4 +14,4 @@ export interface GetChecksumAlgorithmForRequestOptions {
14
14
  * the priority array of location to use to populate checksum and names
15
15
  * to be used as a key at the location.
16
16
  */
17
- export declare const getChecksumAlgorithmForRequest: (input: any, { requestChecksumRequired, requestAlgorithmMember }: GetChecksumAlgorithmForRequestOptions) => ChecksumAlgorithm | undefined;
17
+ export declare const getChecksumAlgorithmForRequest: (input: any, { requestChecksumRequired, requestAlgorithmMember }: GetChecksumAlgorithmForRequestOptions, isS3Express?: boolean) => ChecksumAlgorithm | undefined;
@@ -9,3 +9,6 @@ export declare enum ChecksumLocation {
9
9
  HEADER = "header",
10
10
  TRAILER = "trailer",
11
11
  }
12
+ export declare const DEFAULT_CHECKSUM_ALGORITHM = ChecksumAlgorithm.MD5;
13
+ export declare const S3_EXPRESS_DEFAULT_CHECKSUM_ALGORITHM =
14
+ ChecksumAlgorithm.CRC32;
@@ -8,5 +8,6 @@ export declare const getChecksumAlgorithmForRequest: (
8
8
  {
9
9
  requestChecksumRequired,
10
10
  requestAlgorithmMember,
11
- }: GetChecksumAlgorithmForRequestOptions
11
+ }: GetChecksumAlgorithmForRequestOptions,
12
+ isS3Express?: boolean
12
13
  ) => ChecksumAlgorithm | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-flexible-checksums",
3
- "version": "3.451.0",
3
+ "version": "3.461.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "tsc -p tsconfig.cjs.json",
@@ -30,7 +30,7 @@
30
30
  "dependencies": {
31
31
  "@aws-crypto/crc32": "3.0.0",
32
32
  "@aws-crypto/crc32c": "3.0.0",
33
- "@aws-sdk/types": "3.451.0",
33
+ "@aws-sdk/types": "3.460.0",
34
34
  "@smithy/is-array-buffer": "^2.0.0",
35
35
  "@smithy/protocol-http": "^3.0.9",
36
36
  "@smithy/types": "^2.5.0",