20 lines
583 B
TypeScript
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)
|
|
}
|