diff --git a/packages/publisher/s3/src/Config.ts b/packages/publisher/s3/src/Config.ts index 52abd50a30..ef3eae92c2 100644 --- a/packages/publisher/s3/src/Config.ts +++ b/packages/publisher/s3/src/Config.ts @@ -62,6 +62,38 @@ export interface PublisherS3Config { * Default: false */ s3ForcePathStyle?: boolean; + /** + * Controls whether checksums are calculated for requests sent to S3. + * + * Possible values: + * - "WHEN_SUPPORTED" - Calculate checksums for all requests + * - "WHEN_REQUIRED" - Only calculate checksums when required by the service + * + * See: + * https://github.com/aws/aws-sdk-js-v3/blob/main/packages/middleware-flexible-checksums/src/constants.ts + * + * Default: "WHEN_SUPPORTED" + */ + requestChecksumCalculation?: + | import('@aws-sdk/middleware-flexible-checksums').RequestChecksumCalculation + | import('@aws-sdk/types').Provider + | undefined; + /** + * Controls whether checksums in responses from S3 are validated. + * + * Possible values: + * - "WHEN_SUPPORTED" - Validate checksums for all responses + * - "WHEN_REQUIRED" - Only validate checksums when provided by the service + * + * See: + * https://github.com/aws/aws-sdk-js-v3/blob/main/packages/middleware-flexible-checksums/src/constants.ts + * + * Default: "WHEN_SUPPORTED" + */ + responseChecksumValidation?: + | import('@aws-sdk/middleware-flexible-checksums').ResponseChecksumValidation + | import('@aws-sdk/types').Provider + | undefined; /** * Custom function to provide the key to upload a given file to */ diff --git a/packages/publisher/s3/src/PublisherS3.ts b/packages/publisher/s3/src/PublisherS3.ts index d5994538ad..4d8849d7aa 100644 --- a/packages/publisher/s3/src/PublisherS3.ts +++ b/packages/publisher/s3/src/PublisherS3.ts @@ -48,6 +48,8 @@ export default class PublisherS3 extends PublisherStatic { region: this.config.region, endpoint: this.config.endpoint, forcePathStyle: !!this.config.s3ForcePathStyle, + requestChecksumCalculation: this.config.requestChecksumCalculation || ('WHEN_SUPPORTED' as const), + responseChecksumValidation: this.config.responseChecksumValidation || ('WHEN_SUPPORTED' as const), }); d('creating s3 client with options:', this.config);