Commit Graph

1 Commits

Author SHA1 Message Date
Elie Habib
7c3f3825f7 refactor(api): extract shared relay helper into _relay.js (#782)
DRY 7 edge functions that duplicated relay proxy boilerplate (~80%
identical: CORS, origin check, OPTIONS, relay URL construction, auth
headers, fetchWithTimeout, error handling).

- New `api/_relay.js` exports createRelayHandler factory + getRelayBaseUrl,
  getRelayHeaders, fetchWithTimeout utilities
- Convert ais-snapshot, polymarket, opensky, oref-alerts, telegram-feed
  to ~15-25 line config objects via createRelayHandler
- Refactor youtube/live.js and rss-proxy.js to import shared utils only
  (complex handlers not suited for factory pattern)
- 30 unit/behavior tests in tests/relay-helper.test.mjs

Net: -501 lines removed, +72 added across 7 prod files. Relay utility
functions exist in 1 place instead of 7.
2026-03-02 19:28:31 +04:00