-
Notifications
You must be signed in to change notification settings - Fork 573
/
getFlexibleChecksumsPlugin.ts
49 lines (41 loc) · 1.43 KB
/
getFlexibleChecksumsPlugin.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { BuildHandlerOptions, Pluggable } from "@aws-sdk/types";
import { PreviouslyResolved } from "./configuration";
import { flexibleChecksumsMiddleware } from "./flexibleChecksumsMiddleware";
export const flexibleChecksumsMiddlewareOptions: BuildHandlerOptions = {
name: "flexibleChecksumsMiddleware",
step: "build",
tags: ["BODY_CHECKSUM"],
override: true,
};
export interface FlexibleChecksumsMiddlewareConfig {
/**
* The input object for the operation.
*/
input: Object;
/**
* Indicates an operation requires a checksum in its HTTP request.
*/
requestChecksumRequired: boolean;
/**
* Defines a top-level operation input member that is used to configure request checksum behavior.
*/
requestAlgorithmMember?: string;
/**
* Defines a top-level operation input member used to opt-in to best-effort validation
* of a checksum returned in the HTTP response of the operation.
*/
requestValidationModeMember?: string;
/**
* Defines the checksum algorithms clients SHOULD look for when validating checksums
* returned in the HTTP response.
*/
responseAlgorithms?: string[];
}
export const getFlexibleChecksumsPlugin = (
config: PreviouslyResolved,
middlewareConfig: FlexibleChecksumsMiddlewareConfig
): Pluggable<any, any> => ({
applyToStack: (clientStack) => {
clientStack.add(flexibleChecksumsMiddleware(config, middlewareConfig), flexibleChecksumsMiddlewareOptions);
},
});