diff --git a/src/Launcher.svelte b/src/Launcher.svelte index fd709fd..a295256 100644 --- a/src/Launcher.svelte +++ b/src/Launcher.svelte @@ -9,7 +9,7 @@ let error: string | null = null; if (!puzzleId) window.location.href = "/?puzzle=meow"; - else Backend.get(puzzleId).then((data) => (puzzleData = data)).catch((e) => (error = e)); + else Backend.get(puzzleId).then((data) => (puzzleData = data)).catch(e => (error = e)); {#if puzzleData !== null && puzzleId !== null} diff --git a/src/utils.ts b/src/utils.ts index 86043fb..15cee76 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -71,6 +71,9 @@ export const Fmt = { } export const Backend = { - get: (id: string) => fetch(`${cfg.backend}/${id}`).then(r => r.text()).then(JsonTy.parse), + get: (id: string) => fetch(`${cfg.backend}/${id}`).then(r => { + if (!r.ok) throw new Error(`Failed to get puzzle: ${r.status}`) + r.text() + }).then(JsonTy.parse), post: (data: Checkpoint) => fetch(`${cfg.backend}/`, { method: "post", body: JsonTy.stringify(data) }), }