og/src/hooks.server.ts
2024-05-22 22:47:15 -05:00

20 lines
583 B
TypeScript

import render from '$lib/server/render'
import { dev } from '$app/environment'
export async function handle({ event, resolve }) {
const response = await resolve(event)
const contentType = response.headers.get('Content-Type')
const pure = event.url.searchParams.get('pure')
if (dev || pure || !response.ok || contentType != 'text/html') {
return response
}
const html = await response.text()
let buffer
try {
buffer = await render(html)
} catch (error) {
const err = error as Error
return new Response(err.message, { status: 500 })
}
return new Response(buffer)
}