vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
63 lines (62 loc) • 3.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createPageContextServerSide = createPageContextServerSide;
exports.createPageContextServerSideWithoutGlobalContext = createPageContextServerSideWithoutGlobalContext;
const utils_js_1 = require("../utils.js");
const getPageContextUrlComputed_js_1 = require("../../../shared/getPageContextUrlComputed.js");
const createPageContextShared_js_1 = require("../../../shared/createPageContextShared.js");
async function createPageContextServerSide(pageContextInit, globalContext, { isPrerendering, ssr: { urlHandler, isClientSideNavigation } = {
urlHandler: null,
isClientSideNavigation: false,
}, }) {
(0, utils_js_1.assert)(pageContextInit.urlOriginal);
const pageContextCreated = createPageContext(pageContextInit, isPrerendering);
(0, utils_js_1.objectAssign)(pageContextCreated, {
_globalContext: globalContext,
_pageFilesAll: globalContext._pageFilesAll, // TODO/v1-release: remove
// We use pageContext._baseServer and pageContext._baseAssets instead of pageContext._globalContext.baseServer and pageContext._globalContext.baseAssets because the Base URLs can (eventually one day if needed) be made non-global
_baseServer: globalContext.baseServer,
_baseAssets: globalContext.baseAssets,
_pageContextInit: pageContextInit,
_urlRewrite: null,
_urlHandler: urlHandler,
isClientSideNavigation,
});
(0, utils_js_1.objectAssign)(pageContextCreated, globalContext._vikeConfigPublicGlobal);
// pageContext.urlParsed
const pageContextUrlComputed = (0, getPageContextUrlComputed_js_1.getPageContextUrlComputed)(pageContextCreated);
(0, utils_js_1.objectAssign)(pageContextCreated, pageContextUrlComputed);
// pageContext.headers
{
let headers;
if (pageContextInit.headersOriginal) {
headers = (0, utils_js_1.normalizeHeaders)(pageContextInit.headersOriginal);
(0, utils_js_1.assertUsage)(!('headers' in pageContextInit), "You're defining pageContextInit.headersOriginal as well as pageContextInit.headers but you should only define pageContextInit.headersOriginal instead, see https://vike.dev/headers");
}
else if (pageContextInit.headers) {
headers = pageContextInit.headers;
// TODO/next-major-release: remove
(0, utils_js_1.assertWarning)(false, 'Setting pageContextInit.headers is deprecated: set pageContextInit.headersOriginal instead, see https://vike.dev/headers', { onlyOnce: true });
}
else {
headers = null;
}
(0, utils_js_1.objectAssign)(pageContextCreated, { headers });
}
const pageContextAugmented = await (0, createPageContextShared_js_1.createPageContextShared)(pageContextCreated, globalContext._pageConfigGlobal, globalContext._vikeConfigPublicGlobal);
(0, utils_js_1.augmentType)(pageContextCreated, pageContextAugmented);
return pageContextCreated;
}
function createPageContextServerSideWithoutGlobalContext(pageContextInit) {
const pageContext = createPageContext(pageContextInit, false);
return pageContext;
}
function createPageContext(pageContextInit, isPrerendering) {
const pageContext = (0, createPageContextShared_js_1.createPageContextObject)();
(0, utils_js_1.objectAssign)(pageContext, {
isClientSide: false,
isPrerendering,
});
(0, utils_js_1.objectAssign)(pageContext, pageContextInit);
return pageContext;
}