33 lines
694 B
JavaScript
33 lines
694 B
JavaScript
const { renderPage } = require('vite-plugin-ssr/server');
|
|
|
|
async function initDefaultHandler() {
|
|
async function defaultHandler(req, res, next) {
|
|
const pageContextInit = {
|
|
urlOriginal: req.originalUrl,
|
|
session: req.session,
|
|
};
|
|
|
|
const pageContext = await renderPage(pageContextInit);
|
|
const { httpResponse } = pageContext;
|
|
|
|
if (!httpResponse) {
|
|
next();
|
|
return;
|
|
}
|
|
|
|
const {
|
|
body, statusCode, contentType, earlyHints,
|
|
} = httpResponse;
|
|
|
|
if (res.writeEarlyHints) {
|
|
res.writeEarlyHints({ link: earlyHints.map((e) => e.earlyHintLink) });
|
|
}
|
|
|
|
res.status(statusCode).type(contentType).send(body);
|
|
}
|
|
|
|
return defaultHandler;
|
|
}
|
|
|
|
module.exports = initDefaultHandler;
|