Skip to content

Commit 5566c07

Browse files
authored
chore(middleware-apply-body-checksum): use arrow functions (#2560)
1 parent fa60bf3 commit 5566c07

File tree

2 files changed

+35
-37
lines changed

2 files changed

+35
-37
lines changed

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

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -13,37 +13,37 @@ import {
1313

1414
import { Md5BodyChecksumResolvedConfig } from "./md5Configuration";
1515

16-
export function applyMd5BodyChecksumMiddleware(options: Md5BodyChecksumResolvedConfig): BuildMiddleware<any, any> {
17-
return <Output extends MetadataBearer>(next: BuildHandler<any, Output>): BuildHandler<any, Output> =>
18-
async (args: BuildHandlerArguments<any>): Promise<BuildHandlerOutput<Output>> => {
19-
let { request } = args;
20-
if (HttpRequest.isInstance(request)) {
21-
const { body, headers } = request;
22-
if (!hasHeader("Content-MD5", headers)) {
23-
let digest: Promise<Uint8Array>;
24-
if (body === undefined || typeof body === "string" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {
25-
const hash = new options.md5();
26-
hash.update(body || "");
27-
digest = hash.digest();
28-
} else {
29-
digest = options.streamHasher(options.md5, body);
30-
}
31-
32-
request = {
33-
...request,
34-
headers: {
35-
...headers,
36-
"Content-MD5": options.base64Encoder(await digest),
37-
},
38-
};
16+
export const applyMd5BodyChecksumMiddleware =
17+
(options: Md5BodyChecksumResolvedConfig): BuildMiddleware<any, any> =>
18+
<Output extends MetadataBearer>(next: BuildHandler<any, Output>): BuildHandler<any, Output> =>
19+
async (args: BuildHandlerArguments<any>): Promise<BuildHandlerOutput<Output>> => {
20+
let { request } = args;
21+
if (HttpRequest.isInstance(request)) {
22+
const { body, headers } = request;
23+
if (!hasHeader("Content-MD5", headers)) {
24+
let digest: Promise<Uint8Array>;
25+
if (body === undefined || typeof body === "string" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {
26+
const hash = new options.md5();
27+
hash.update(body || "");
28+
digest = hash.digest();
29+
} else {
30+
digest = options.streamHasher(options.md5, body);
3931
}
32+
33+
request = {
34+
...request,
35+
headers: {
36+
...headers,
37+
"Content-MD5": options.base64Encoder(await digest),
38+
},
39+
};
4040
}
41-
return next({
42-
...args,
43-
request,
44-
});
45-
};
46-
}
41+
}
42+
return next({
43+
...args,
44+
request,
45+
});
46+
};
4747

4848
export const applyMd5BodyChecksumMiddlewareOptions: BuildHandlerOptions = {
4949
name: "applyMd5BodyChecksumMiddleware",
@@ -58,7 +58,7 @@ export const getApplyMd5BodyChecksumPlugin = (config: Md5BodyChecksumResolvedCon
5858
},
5959
});
6060

61-
function hasHeader(soughtHeader: string, headers: HeaderBag): boolean {
61+
const hasHeader = (soughtHeader: string, headers: HeaderBag): boolean => {
6262
soughtHeader = soughtHeader.toLowerCase();
6363
for (const headerName of Object.keys(headers)) {
6464
if (soughtHeader === headerName.toLowerCase()) {
@@ -67,4 +67,4 @@ function hasHeader(soughtHeader: string, headers: HeaderBag): boolean {
6767
}
6868

6969
return false;
70-
}
70+
};

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ interface PreviouslyResolved {
66
base64Encoder: Encoder;
77
streamHasher: StreamHasher<any>;
88
}
9+
910
export interface Md5BodyChecksumResolvedConfig {
1011
/**
1112
* A constructor for a class implementing the @aws-sdk/types.Hash interface that computes MD5 hashes.
@@ -23,10 +24,7 @@ export interface Md5BodyChecksumResolvedConfig {
2324
*/
2425
streamHasher: StreamHasher<any>;
2526
}
26-
export function resolveMd5BodyChecksumConfig<T>(
27+
28+
export const resolveMd5BodyChecksumConfig = <T>(
2729
input: T & PreviouslyResolved & Md5BodyChecksumInputConfig
28-
): T & Md5BodyChecksumResolvedConfig {
29-
return {
30-
...input,
31-
};
32-
}
30+
): T & Md5BodyChecksumResolvedConfig => input;

0 commit comments

Comments
 (0)