import cookie from 'cookie'; import { v4 as uuid } from '@lukeed/uuid'; import type { Handle } from '@sveltejs/kit'; export const handle: Handle = async ({ request, resolve }) => { const cookies = cookie.parse(request.headers.cookie || ''); request.locals.userid = cookies.userid || uuid(); // TODO https://github.com/sveltejs/kit/issues/1046 const method = request.url.searchParams.get('_method'); if (method) { request.method = method.toUpperCase(); } const response = await resolve(request); if (!cookies.userid) { // if this is the first time the user has visited this app, // set a cookie so that we recognise them when they return response.headers['set-cookie'] = cookie.serialize('userid', request.locals.userid, { path: '/', httpOnly: true }); } return response; };