/
trixden
/
prerender
Обзор
Документация
Войти
/
trixden
/
prerender
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/hooks/cache-generator.ts
22 строки
818 B
Denis Karimov
System files
07 авг 2023, 21:09
07 авг 2023, 21:09
cdc3781
Код
Авторство
О чём код?
import { RawReplyDefaultExpression, RawRequestDefaultExpression, RawServerDefault, onResponseAsyncHookHandler, onSendAsyncHookHandler } from "fastify"; import { Static } from '@sinclair/typebox' import { homeQueryStringSchema } from "../schemas/home.schema"; import { getPathFromUrl, writeFile } from "../helpers/filesystem"; export const cacheGeneratorHook: onSendAsyncHookHandler< unknown, RawServerDefault, RawRequestDefaultExpression, RawReplyDefaultExpression, {Querystring: Static<typeof homeQueryStringSchema>, Reply: string} > = async function (req, res, payload) { if (typeof payload !== 'string') return; const header = res.getHeader('Content-Type'); writeFile(getPathFromUrl(req.query.url), { status: res.statusCode, contentType: header ? String(header) : '', payload }); }