@foxpage/foxpage-node-sdk
Version:
foxpage node sdk
44 lines (43 loc) • 1.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateContext = exports.createContext = void 0;
const render_1 = require("./render");
/**
* create render context
* @param app application
* @param opt request options
* @returns render context
*/
const createContext = async (app, opt) => {
const ctx = new render_1.RenderContextInstance(app);
const { isDebug, isMock, isPreview, isCanary } = opt.mode || {};
// request
ctx.request = opt.request;
ctx.response = opt.response;
ctx.cookies = opt.cookies;
// mode
ctx.isMock = isMock;
ctx.isPreviewMode = isPreview;
ctx.isDebugMode = isDebug;
ctx.isCanary = isCanary;
// url
ctx.URL = opt.request.URL;
ctx.url = ctx.URL.href || '';
ctx.host = ctx.URL.host || '';
return ctx;
};
exports.createContext = createContext;
/**
* update ctx with content info
* @param ctx context
* @param content content info
*/
const updateContext = async (ctx, opt) => {
const { app, content } = opt;
ctx.updateOriginPage(content);
const relations = await app.getContentRelationInfo(content);
if (relations) {
ctx.updateOrigin(relations);
}
};
exports.updateContext = updateContext;