0 Tage Serie
javascript / expert
Snippet

Serverseitige Request-Interception mit SvelteKit Hooks

SvelteKit Hooks ermöglichen es, Anfragen abzufangen und zu modifizieren, bevor sie die Routen erreichen. Dies ist ideal für globale Middleware-Aufgaben wie Authentifizierungsprüfungen und HTML-Transformationen.

snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
/** @type {import('@sveltejs/kit').Handle} */
export async function handle({ event, resolve }) {
const token = event.cookies.get('session');
if (!token && event.url.pathname.startsWith('/admin')) {
return new Response('Unauthorized', { status: 401 });
}
const response = await resolve(event, {
transformPageChunk: ({ html }) => html.replace('%lang%', 'en')
});
return response;
}
svelte
Erklärung
1
export async function handle({ event, resolve })
Definiert den zentralen Handle-Hook, der jede Anfrage an den Server verarbeitet.
2
event.cookies.get('session')
Extrahiert das Session-Cookie, um die Benutzeridentität vor dem Fortfahren zu überprüfen.
3
transformPageChunk
Ein Callback, um den HTML-Buffer dynamisch zu modifizieren, bevor er an den Client gesendet wird.