UNPKG

next

Version:

The React Framework

91 lines (90 loc) 4.08 kB
import WebServer from "../../../../server/web-server"; import { WebNextRequest, WebNextResponse } from "../../../../server/base-http/web"; import { SERVER_RUNTIME } from "../../../../lib/constants"; import { normalizeAppPath } from "../../../../shared/lib/router/utils/app-paths"; export function getRender({ dev , page , appMod , pageMod , errorMod , error500Mod , pagesType , Document , buildManifest , prerenderManifest , reactLoadableManifest , renderToHTML , clientReferenceManifest , subresourceIntegrityManifest , serverActionsManifest , serverActionsBodySizeLimit , config , buildId , nextFontManifest , incrementalCacheHandler }) { const isAppPath = pagesType === "app"; const baseLoadComponentResult = { dev, buildManifest, reactLoadableManifest, subresourceIntegrityManifest, Document, App: appMod == null ? void 0 : appMod.default, clientReferenceManifest }; const server = new WebServer({ dev, conf: config, minimalMode: true, webServerConfig: { page, normalizedPage: isAppPath ? normalizeAppPath(page) : page, pagesType, prerenderManifest, extendRenderOpts: { buildId, runtime: SERVER_RUNTIME.experimentalEdge, supportsDynamicHTML: true, disableOptimizedLoading: true, serverActionsManifest, serverActionsBodySizeLimit, nextFontManifest }, renderToHTML, incrementalCacheHandler, loadComponent: async (pathname)=>{ if (pathname === page) { return { ...baseLoadComponentResult, Component: pageMod.default, pageConfig: pageMod.config || {}, getStaticProps: pageMod.getStaticProps, getServerSideProps: pageMod.getServerSideProps, getStaticPaths: pageMod.getStaticPaths, ComponentMod: pageMod, isAppPath: !!pageMod.__next_app__, pathname, routeModule: pageMod.routeModule }; } // If there is a custom 500 page, we need to handle it separately. if (pathname === "/500" && error500Mod) { return { ...baseLoadComponentResult, Component: error500Mod.default, pageConfig: error500Mod.config || {}, getStaticProps: error500Mod.getStaticProps, getServerSideProps: error500Mod.getServerSideProps, getStaticPaths: error500Mod.getStaticPaths, ComponentMod: error500Mod, pathname, routeModule: error500Mod.routeModule }; } if (pathname === "/_error") { return { ...baseLoadComponentResult, Component: errorMod.default, pageConfig: errorMod.config || {}, getStaticProps: errorMod.getStaticProps, getServerSideProps: errorMod.getServerSideProps, getStaticPaths: errorMod.getStaticPaths, ComponentMod: errorMod, pathname, routeModule: errorMod.routeModule }; } return null; } } }); const handler = server.getRequestHandler(); return async function render(request) { const extendedReq = new WebNextRequest(request); const extendedRes = new WebNextResponse(); handler(extendedReq, extendedRes); return await extendedRes.toResponse(); }; } //# sourceMappingURL=render.js.map