Skip to content

Commit 285ff80

Browse files
authored
add user agent (#42)
* add user agent * change to version
1 parent cfc5281 commit 285ff80

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

src/dots/DigitalOceanApiKeyAuthenticationProvider.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import { AuthenticationProvider, RequestInformation } from "@microsoft/kiota-abstractions";
2+
// @ts-expect-error: Importing JSON for dynamic version in User-Agent header
3+
import pkg from '../../package.json' assert { type: "json" };
24

35
/** Authenticate a request by using an API Key */
46
export class DigitalOceanApiKeyAuthenticationProvider implements AuthenticationProvider {
@@ -18,7 +20,8 @@ export class DigitalOceanApiKeyAuthenticationProvider implements AuthenticationP
1820
// eslint-disable-next-line @typescript-eslint/no-unused-vars
1921
additionalAuthenticationContext?: Record<string, unknown> | undefined
2022
): Promise<void> {
21-
request.headers.add("Authorization", `Bearer ${this.apiKey}`);
22-
return Promise.resolve();
23+
request.headers.add("Authorization", `Bearer ${this.apiKey}`);
24+
request.headers.add("User-Agent", `DigitalOcean-Dots/${pkg.version}`);
25+
return Promise.resolve();
2326
}
2427
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
import { DigitalOceanApiKeyAuthenticationProvider } from "../../src/dots/DigitalOceanApiKeyAuthenticationProvider.js";
3+
import { RequestInformation } from "@microsoft/kiota-abstractions";
4+
// @ts-expect-error: Importing JSON for dynamic version in test
5+
import pkg from '../../package.json' assert { type: "json" };
6+
7+
describe("DigitalOceanApiKeyAuthenticationProvider", () => {
8+
it("should add the User-Agent header to every request", async () => {
9+
const provider = new DigitalOceanApiKeyAuthenticationProvider("dummy-token");
10+
const request = new RequestInformation();
11+
await provider.authenticateRequest(request);
12+
expect(request.headers.get("User-Agent")).toContain(`DigitalOcean-Dots/${pkg.version}`);
13+
});
14+
});

0 commit comments

Comments
 (0)