render.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.getRender = getRender;
  6. var _webServer = _interopRequireDefault(require("../../../../server/web-server"));
  7. var _web = require("../../../../server/base-http/web");
  8. var _constants = require("../../../../lib/constants");
  9. function _interopRequireDefault(obj) {
  10. return obj && obj.__esModule ? obj : {
  11. default: obj
  12. };
  13. }
  14. function getRender({ dev , page , appMod , pageMod , errorMod , error500Mod , Document , buildManifest , reactLoadableManifest , appRenderToHTML , pagesRenderToHTML , serverComponentManifest , subresourceIntegrityManifest , serverCSSManifest , config , buildId }) {
  15. const baseLoadComponentResult = {
  16. dev,
  17. buildManifest,
  18. reactLoadableManifest,
  19. subresourceIntegrityManifest,
  20. Document,
  21. App: appMod.default
  22. };
  23. const server = new _webServer.default({
  24. dev,
  25. conf: config,
  26. minimalMode: true,
  27. webServerConfig: {
  28. page,
  29. extendRenderOpts: {
  30. buildId,
  31. runtime: _constants.SERVER_RUNTIME.edge,
  32. supportsDynamicHTML: true,
  33. disableOptimizedLoading: true,
  34. serverComponentManifest,
  35. serverCSSManifest
  36. },
  37. appRenderToHTML,
  38. pagesRenderToHTML,
  39. loadComponent: async (pathname)=>{
  40. if (pathname === page) {
  41. return {
  42. ...baseLoadComponentResult,
  43. Component: pageMod.default,
  44. pageConfig: pageMod.config || {},
  45. getStaticProps: pageMod.getStaticProps,
  46. getServerSideProps: pageMod.getServerSideProps,
  47. getStaticPaths: pageMod.getStaticPaths,
  48. ComponentMod: pageMod,
  49. pathname
  50. };
  51. }
  52. // If there is a custom 500 page, we need to handle it separately.
  53. if (pathname === "/500" && error500Mod) {
  54. return {
  55. ...baseLoadComponentResult,
  56. Component: error500Mod.default,
  57. pageConfig: error500Mod.config || {},
  58. getStaticProps: error500Mod.getStaticProps,
  59. getServerSideProps: error500Mod.getServerSideProps,
  60. getStaticPaths: error500Mod.getStaticPaths,
  61. ComponentMod: error500Mod,
  62. pathname
  63. };
  64. }
  65. if (pathname === "/_error") {
  66. return {
  67. ...baseLoadComponentResult,
  68. Component: errorMod.default,
  69. pageConfig: errorMod.config || {},
  70. getStaticProps: errorMod.getStaticProps,
  71. getServerSideProps: errorMod.getServerSideProps,
  72. getStaticPaths: errorMod.getStaticPaths,
  73. ComponentMod: errorMod,
  74. pathname
  75. };
  76. }
  77. return null;
  78. }
  79. }
  80. });
  81. const requestHandler = server.getRequestHandler();
  82. return async function render(request) {
  83. const extendedReq = new _web.WebNextRequest(request);
  84. const extendedRes = new _web.WebNextResponse();
  85. requestHandler(extendedReq, extendedRes);
  86. return await extendedRes.toResponse();
  87. };
  88. }
  89. //# sourceMappingURL=render.js.map