From 0a43505bdcc2445e52dca60ea11ffb5d2210d60a Mon Sep 17 00:00:00 2001 From: Bauke Date: Tue, 4 Jan 2022 00:17:05 +0100 Subject: [PATCH] Add a meaningful User-Agent to API calls. --- source/ts/types.d.ts | 1 + source/ts/utilities/release.ts | 1 + source/ts/utilities/search.ts | 1 + vite.config.ts | 5 ++++- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/source/ts/types.d.ts b/source/ts/types.d.ts index f2691c8..8277c2f 100644 --- a/source/ts/types.d.ts +++ b/source/ts/types.d.ts @@ -5,4 +5,5 @@ declare global { // These are created in `vite.config.ts` and inserted by Vite at build time. const blinkCommitHash: string; const blinkVersion: string; + const blinkUserAgent: string; } diff --git a/source/ts/utilities/release.ts b/source/ts/utilities/release.ts index 37f2888..cf70b86 100644 --- a/source/ts/utilities/release.ts +++ b/source/ts/utilities/release.ts @@ -32,6 +32,7 @@ export default class Release { const apiResponse = await window.fetch(this.apiUrl(mbid), { headers: { accept: 'application/json', + 'user-agent': blinkUserAgent, }, }); diff --git a/source/ts/utilities/search.ts b/source/ts/utilities/search.ts index d3494b7..102945d 100644 --- a/source/ts/utilities/search.ts +++ b/source/ts/utilities/search.ts @@ -25,6 +25,7 @@ export default async function searchReleases( const response = await window.fetch(url, { headers: { accept: 'application/json', + 'user-agent': blinkUserAgent, }, }); diff --git a/vite.config.ts b/vite.config.ts index 7be580c..abe5a40 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -23,14 +23,17 @@ function gitRevParse(): string { return JSON.stringify(revParse.stdout.trim()); } +const blinkVersion = process.env.npm_package_version ?? ''; + export default defineConfig({ build: { outDir: buildDir, sourcemap: true, }, define: { - blinkVersion: JSON.stringify(process.env.npm_package_version), + blinkVersion: JSON.stringify(blinkVersion), blinkCommitHash: gitRevParse(), + blinkUserAgent: `"Blink/${blinkVersion} (https://github.com/Bauke/blink)"`, }, publicDir: path.join(sourceDir, 'assets'), root: sourceDir,