summaryrefslogtreecommitdiff
path: root/client/src/hooks.server.ts
blob: 4a7a5cb808496192cdd3d227968bc475230352c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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;
};