fix: memoize User-Agent and prevent localhost leak; bump timeout to 30s
- Memoize USER_AGENT via IIFE so it's computed once, not per-request - Only append instance URL when APP_URL or ALLOWED_ORIGINS is explicitly configured; skip the getAppUrl() localhost fallback - Bump OVERPASS_TIMEOUT_MS to 30000 (above the observed 25.7s TTFB)
This commit is contained in:
parent
544a76d2da
commit
e54ea2f17d
@ -68,11 +68,17 @@ interface GooglePlaceDetails extends GooglePlaceResult {
|
||||
|
||||
// ── Constants ────────────────────────────────────────────────────────────────
|
||||
|
||||
function userAgent(): string {
|
||||
const USER_AGENT = (() => {
|
||||
const base = 'TREK Travel Planner (https://github.com/mauriceboe/TREK)';
|
||||
try { const url = getAppUrl(); if (url) return `${base}; ${url}`; } catch { /* ignore */ }
|
||||
const hasInstanceUrl = Boolean(process.env.APP_URL || process.env.ALLOWED_ORIGINS);
|
||||
if (!hasInstanceUrl) return base;
|
||||
try {
|
||||
const url = getAppUrl();
|
||||
if (url && !url.startsWith('http://localhost')) return `${base}; ${url}`;
|
||||
} catch { /* ignore */ }
|
||||
return base;
|
||||
}
|
||||
})();
|
||||
function userAgent(): string { return USER_AGENT; }
|
||||
|
||||
// TREK's internal language codes mostly coincide with valid BCP-47 codes, but a
|
||||
// couple don't: 'br' is Brazilian Portuguese here (BCP-47 'pt-BR'; bare 'br' is
|
||||
@ -294,7 +300,7 @@ const OVERPASS_MIRRORS = [
|
||||
];
|
||||
// Per-mirror cap. Because mirrors race in parallel this is also the worst-case
|
||||
// total wait before every mirror is given up on and a 502 is returned.
|
||||
const OVERPASS_TIMEOUT_MS = 25000;
|
||||
const OVERPASS_TIMEOUT_MS = 30000;
|
||||
// Largest viewport side we send to Overpass. A country/continent-sized bbox makes
|
||||
// Overpass scan millions of elements and time out; clamping to a centred window
|
||||
// keeps the query cheap so the explore pill returns fast at ANY zoom level.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user