diff options
| author | Joel Klinghed <the_jk@spawned.biz> | 2025-07-17 23:42:55 +0200 |
|---|---|---|
| committer | Joel Klinghed <the_jk@spawned.biz> | 2025-07-17 23:44:11 +0200 |
| commit | bef3da2a567e3804e12355d9c3d5c09439dbe2ea (patch) | |
| tree | ab7974c941bd31994da46150234976b33c2f61b5 /client/src/hooks.server.ts | |
| parent | 145be2b3c92e254904d4040850e3c1e9b6a66f32 (diff) | |
Humble beginnings
Redirect to login if not logged in, on login session cookie is set
and projects or reviews are listed.
Diffstat (limited to 'client/src/hooks.server.ts')
| -rw-r--r-- | client/src/hooks.server.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/client/src/hooks.server.ts b/client/src/hooks.server.ts new file mode 100644 index 0000000..4a7a5cb --- /dev/null +++ b/client/src/hooks.server.ts @@ -0,0 +1,29 @@ +import { base } from '$app/paths'; +import { redirect, type Handle, type HandleFetch } from '@sveltejs/kit'; + +export const handleFetch: HandleFetch = async ({ event, request, fetch }) => { + return fetch(request).then((resp) => { + if (resp.status == 401) { + const url = new URL(event.request.url); + const ret = url.pathname + url.search; + redirect(307, base + '/login?return=' + encodeURIComponent(ret)); + } + return resp; + }); +}; + +export const handle: Handle = async ({ event, resolve }) => { + const response = await resolve(event, { + filterSerializedResponseHeaders: (name) => { + switch (name) { + // used by openapi-fetch + case 'content-length': + return true; + default: + return false; + } + } + }); + + return response; +}; |
