Centralize and standardize User-Agent string

Introduce a centralized RMAB_USER_AGENT constant (ReadMeABook/<version>) and update audible service calls to use it instead of hardcoded values. This avoids the default axios UA (which some indexers reject) and replaces the previous `rmab/` identifier. Adds unit tests to verify the User-Agent format and ensure it doesn't resemble generic bot signatures.
This commit is contained in:
kikootwo
2026-05-18 09:45:57 -04:00
parent a2d25e8a39
commit fb0445d95f
3 changed files with 24 additions and 3 deletions
+13
View File
@@ -0,0 +1,13 @@
import { describe, it, expect } from 'vitest';
import { RMAB_USER_AGENT } from '@/lib/utils/user-agent';
describe('RMAB_USER_AGENT', () => {
it('uses the ReadMeABook/<semver> format', () => {
expect(RMAB_USER_AGENT).toMatch(/^ReadMeABook\/\d+\.\d+\.\d+/);
});
it('does not look like a generic bot signature', () => {
expect(RMAB_USER_AGENT).not.toMatch(/^axios\//);
expect(RMAB_USER_AGENT).not.toMatch(/^rmab\//);
});
});