import targets from "../config/version-status-targets.json" const REQUEST_TIMEOUT_MS = 5000 export default defineEventHandler(async () => { const results = await Promise.all( targets.map(async (target) => { const controller = new AbortController() const timeoutId = setTimeout(() => controller.abort(), REQUEST_TIMEOUT_MS) try { const response = await fetch(target.url, { method: "GET", headers: { Accept: "application/json" }, signal: controller.signal }) return { label: target.label, url: target.url, ok: response.status === 200, status: response.status, checkedAt: new Date().toISOString() } } catch (error) { return { label: target.label, url: target.url, ok: false, status: 0, checkedAt: new Date().toISOString(), error: error instanceof Error ? error.message : String(error) } } finally { clearTimeout(timeoutId) } }) ) return { results } })