@@ -2,25 +2,30 @@ import { isArrayBuffer } from "@aws-sdk/is-array-buffer";
2
2
import {
3
3
BuildHandler ,
4
4
BuildHandlerArguments ,
5
+ BuildHandlerOutput ,
5
6
BuildMiddleware ,
6
7
Encoder ,
7
8
Hash ,
8
9
HeaderBag ,
9
10
StreamHasher
10
11
} from "@aws-sdk/types" ;
12
+ import { HttpRequest } from "@aws-sdk/protocol-http" ;
11
13
12
- export function applyBodyChecksumMiddleware < StreamType > (
14
+ export function applyBodyChecksumMiddleware (
13
15
headerName : string ,
14
16
hashCtor : { new ( ) : Hash } ,
15
17
encoder : Encoder ,
16
- streamHasher : StreamHasher < StreamType > = throwOnStream
17
- ) : BuildMiddleware < any , any , StreamType > {
18
+ streamHasher : StreamHasher < any > = throwOnStream
19
+ ) : BuildMiddleware < any , any > {
18
20
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 ( {
21
23
request,
22
24
input
23
- } : BuildHandlerArguments < any , any > ) : Promise < Output > => {
25
+ } : BuildHandlerArguments < any > ) : Promise < BuildHandlerOutput < Output > > => {
26
+ if ( ! HttpRequest . isInstance ( request ) ) {
27
+ return next ( { input, request } ) ;
28
+ }
24
29
const { body, headers } = request ;
25
30
if ( ! hasHeader ( headerName , headers ) ) {
26
31
let digest : Promise < Uint8Array > ;
0 commit comments