//#region src/lib/error-capture.ts
var lastCapturedError;
var TTL_MS = 5e3;
function record(error) {
lastCapturedError = {
error,
at: Date.now()
};
}
if (typeof globalThis.addEventListener === "function") {
globalThis.addEventListener("error", (event) => record(event.error ?? event));
globalThis.addEventListener("unhandledrejection", (event) => record(event.reason));
}
function consumeLastCapturedError() {
if (!lastCapturedError) return void 0;
if (Date.now() - lastCapturedError.at > TTL_MS) {
lastCapturedError = void 0;
return;
}
const { error } = lastCapturedError;
lastCapturedError = void 0;
return error;
}
//#endregion
//#region src/lib/error-page.ts
function renderErrorPage() {
return `
This page didn't load
This page didn't load
Something went wrong on our end. You can try refreshing or head back home.
`;
}
//#endregion
//#region src/server.ts
var serverEntryPromise;
async function getServerEntry() {
if (!serverEntryPromise) serverEntryPromise = import("./assets/server-D7Vve0S-.js").then((m) => m.default ?? m);
return serverEntryPromise;
}
async function normalizeCatastrophicSsrResponse(response) {
if (response.status < 500) return response;
if (!(response.headers.get("content-type") ?? "").includes("application/json")) return response;
const body = await response.clone().text();
if (!body.includes("\"unhandled\":true") || !body.includes("\"message\":\"HTTPError\"")) return response;
console.error(consumeLastCapturedError() ?? /* @__PURE__ */ new Error(`h3 swallowed SSR error: ${body}`));
return new Response(renderErrorPage(), {
status: 500,
headers: { "content-type": "text/html; charset=utf-8" }
});
}
var server_default = { async fetch(request, env, ctx) {
try {
return await normalizeCatastrophicSsrResponse(await (await getServerEntry()).fetch(request, env, ctx));
} catch (error) {
console.error(error);
return new Response(renderErrorPage(), {
status: 500,
headers: { "content-type": "text/html; charset=utf-8" }
});
}
} };
//#endregion
export { server_default as default, renderErrorPage as t };