mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 02:14:01 +00:00
The proxy now skips malformed upstream rows individually but counts them, capped at 10,000, in the catalog metadata and the /stations envelope (rejectedStationCount). The count never fails health policy, so an otherwise healthy generation is still accepted. The client validates the field, adds its own rejected rows after admission, and reports degraded coverage when either side skipped rows. Adds an end-to-end proxy-to-client test and aligns DATA_SOURCES.md and CURRENT-STATE.md. Co-Authored-By: Claude Opus 5.5 <[email protected]>
22 lines
1011 B
JavaScript
22 lines
1011 B
JavaScript
export const RADIO_DIRECTORY_CACHE_MS = 45 * 60 * 1000;
|
|
export const RADIO_DIRECTORY_STALE_MS = 7 * 24 * 60 * 60 * 1000;
|
|
export const RADIO_MIRROR_CACHE_MS = 6 * 60 * 60 * 1000;
|
|
export const RADIO_FETCH_TIMEOUT_MS = 12_000;
|
|
export const RADIO_RESPONSE_MAX_BYTES = 4 * 1024 * 1024;
|
|
export const RADIO_DIRECTORY_LIMIT = 750;
|
|
export const RADIO_CATALOG_MIN_SUCCESSFUL_QUERIES = 5;
|
|
export const RADIO_CATALOG_HEALTHY_MIN_STATIONS = Math.ceil(
|
|
RADIO_DIRECTORY_LIMIT / 2,
|
|
);
|
|
export const RADIO_USER_AGENT =
|
|
'GodsEyeView/1.0 (Radio Browser directory client)';
|
|
export { RADIO_UUID_RE } from '../../../src/sources/radioBrowser.js';
|
|
// Upper bound for the structurally malformed upstream rows reported in the
|
|
// /stations envelope. The client layer validates against the same bound.
|
|
export const RADIO_REJECTED_STATION_COUNT_MAX = 10_000;
|
|
export const RADIO_FALLBACK_MIRRORS = Object.freeze([
|
|
'https://de1.api.radio-browser.info',
|
|
'https://de2.api.radio-browser.info',
|
|
'https://nl1.api.radio-browser.info',
|
|
]);
|