Skip to content

Commit 7a4c58b

Browse files
authored
perf: avoid redundant work in redactSensitiveHeaders on each call (#113)
Move headersWithSensitiveUrlsLowered and redactSensitiveKeys outside the inner closure so they are computed once at initialization time rather than on every invocation of redactSensitiveHeaders.
1 parent 4ae03b3 commit 7a4c58b

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/lib/utils/redact-sensitive-headers.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,16 @@ export default function prepareSensitiveHeadersRedacter(
1010
redactSensitiveQueryParams: (input: string) => string = (input) => input,
1111
isDevMode = false,
1212
) {
13+
const headersWithSensitiveUrlsLowered = headersWithSensitiveUrls.map((name) =>
14+
name.toLowerCase(),
15+
);
16+
const redactSensitiveKeys = prepareSensitiveKeysRedacter(sensitiveHeaders);
17+
1318
const redactSensitiveHeaders: SensitiveHeadersRedacter = (inputHeaders = {}) => {
1419
if (isDevMode) {
1520
return inputHeaders;
1621
}
1722

18-
const headersWithSensitiveUrlsLowered = headersWithSensitiveUrls.map((name) =>
19-
name.toLowerCase(),
20-
);
21-
22-
const redactSensitiveKeys = prepareSensitiveKeysRedacter(sensitiveHeaders);
23-
2423
const result = redactSensitiveKeys(inputHeaders) as IncomingHttpHeaders;
2524

2625
Object.keys(result).forEach((headerName) => {

0 commit comments

Comments
 (0)