Skip to content

Commit 20f85c4

Browse files
committed
chore: add http request type guard for apply body checksum middlewares
1 parent e0d2b1d commit 20f85c4

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

packages/apply-body-checksum-middleware/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
"license": "Apache-2.0",
1616
"dependencies": {
1717
"@aws-sdk/is-array-buffer": "^0.1.0-preview.3",
18+
"@aws-sdk/protocol-http": "^0.1.0-preview.1",
1819
"@aws-sdk/types": "^0.1.0-preview.5",
1920
"tslib": "^1.8.0"
2021
},

packages/apply-body-checksum-middleware/src/index.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,30 @@ import { isArrayBuffer } from "@aws-sdk/is-array-buffer";
22
import {
33
BuildHandler,
44
BuildHandlerArguments,
5+
BuildHandlerOutput,
56
BuildMiddleware,
67
Encoder,
78
Hash,
89
HeaderBag,
910
StreamHasher
1011
} from "@aws-sdk/types";
12+
import { HttpRequest } from "@aws-sdk/protocol-http";
1113

12-
export function applyBodyChecksumMiddleware<StreamType>(
14+
export function applyBodyChecksumMiddleware(
1315
headerName: string,
1416
hashCtor: { new (): Hash },
1517
encoder: Encoder,
16-
streamHasher: StreamHasher<StreamType> = throwOnStream
17-
): BuildMiddleware<any, any, StreamType> {
18+
streamHasher: StreamHasher<any> = throwOnStream
19+
): BuildMiddleware<any, any> {
1820
return <Output extends object>(
19-
next: BuildHandler<any, Output, any>
20-
): BuildHandler<any, Output, any> => async ({
21+
next: BuildHandler<any, Output>
22+
): BuildHandler<any, Output> => async ({
2123
request,
2224
input
23-
}: BuildHandlerArguments<any, any>): Promise<Output> => {
25+
}: BuildHandlerArguments<any>): Promise<BuildHandlerOutput<Output>> => {
26+
if (!HttpRequest.isInstance(request)) {
27+
return next({ input, request });
28+
}
2429
const { body, headers } = request;
2530
if (!hasHeader(headerName, headers)) {
2631
let digest: Promise<Uint8Array>;

0 commit comments

Comments
 (0)