Skip to content

Commit 40fcbdb

Browse files
committed
feat(middleware-user-agent): lowercase service ids
1 parent 3836350 commit 40fcbdb

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

packages/middleware-user-agent/src/user-agent-middleware.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ describe("userAgentMiddleware", () => {
5252
{ ua: ["$prefix/&name", "1.0.0"], expected: "$prefix/&name/1.0.0" },
5353
{ ua: ["name(or not)", "1.0.0"], expected: "name_or_not_/1.0.0" },
5454
{ ua: ["name", "1.0.0(test_version)"], expected: "name/1.0.0_test_version" },
55+
{ ua: ["api/Service", "1.0.0"], expected: "api/service/1.0.0" },
5556
];
5657
for (const { ua, expected } of cases) {
5758
it(`should sanitize user agent ${ua} to ${expected}`, async () => {

packages/middleware-user-agent/src/user-agent-middleware.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@ export const userAgentMiddleware = (options: UserAgentResolvedConfig) => <Output
6060
const escapeUserAgent = ([name, version]: UserAgentPair): string => {
6161
const prefixSeparatorIndex = name.indexOf("/");
6262
const prefix = name.substring(0, prefixSeparatorIndex); // If no prefix, prefix is just ""
63-
const uaName = name.substring(prefixSeparatorIndex + 1);
63+
let uaName = name.substring(prefixSeparatorIndex + 1);
64+
if (prefix === "api") {
65+
uaName = uaName.toLowerCase();
66+
}
6467
return [prefix, uaName, version]
6568
.filter((item) => item && item.length > 0)
6669
.map((item) => item?.replace(UA_ESCAPE_REGEX, "_"))

0 commit comments

Comments
 (0)