1
+ import { setFeature } from "@aws-sdk/core" ;
1
2
import { HttpRequest } from "@smithy/protocol-http" ;
2
3
import {
3
4
BuildHandler ,
@@ -10,6 +11,7 @@ import {
10
11
} from "@smithy/types" ;
11
12
12
13
import { PreviouslyResolved } from "./configuration" ;
14
+ import { ChecksumAlgorithm } from "./constants" ;
13
15
import { getChecksumAlgorithmForRequest } from "./getChecksumAlgorithmForRequest" ;
14
16
import { getChecksumLocationName } from "./getChecksumLocationName" ;
15
17
import { hasHeader } from "./hasHeader" ;
@@ -72,6 +74,20 @@ export const flexibleChecksumsMiddleware =
72
74
let updatedHeaders = headers ;
73
75
74
76
if ( checksumAlgorithm ) {
77
+ switch ( checksumAlgorithm ) {
78
+ case ChecksumAlgorithm . CRC32 :
79
+ setFeature ( context , "FLEXIBLE_CHECKSUMS_REQ_CRC32" , "U" ) ;
80
+ break ;
81
+ case ChecksumAlgorithm . CRC32C :
82
+ setFeature ( context , "FLEXIBLE_CHECKSUMS_REQ_CRC32C" , "V" ) ;
83
+ break ;
84
+ case ChecksumAlgorithm . SHA1 :
85
+ setFeature ( context , "FLEXIBLE_CHECKSUMS_REQ_SHA1" , "X" ) ;
86
+ break ;
87
+ case ChecksumAlgorithm . SHA256 :
88
+ setFeature ( context , "FLEXIBLE_CHECKSUMS_REQ_SHA256" , "Y" ) ;
89
+ break ;
90
+ }
75
91
const checksumLocationName = getChecksumLocationName ( checksumAlgorithm ) ;
76
92
const checksumAlgorithmFn = selectChecksumAlgorithmFunction ( checksumAlgorithm , config ) ;
77
93
if ( isStreaming ( requestBody ) ) {
0 commit comments