UNPKG

@modern-js/server-core

Version:

A Progressive React Framework for modern web development.

82 lines (81 loc) 3.38 kB
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator"; import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator"; import { MAIN_ENTRY_NAME } from "@modern-js/utils/universal/constants"; import { createRequestHandlerConfig } from "./utils"; var renderRscHandler = function() { var _ref = _async_to_generator(function(req, options) { var _serverManifest_renderBundles, routeInfo, serverManifest, rscSSRManifest, rscClientManifest, rscServerManifest, locals, params, loaderContext, reporter, monitors, logger, metrics, onError, onTiming, staticGenerate, serverBundle, loadableStats, routeManifest, config, requestHandlerOptions, rscPayloadHandler; return _ts_generator(this, function(_state) { switch (_state.label) { case 0: routeInfo = options.routeInfo, serverManifest = options.serverManifest, rscSSRManifest = options.rscSSRManifest, rscClientManifest = options.rscClientManifest, rscServerManifest = options.rscServerManifest, locals = options.locals, params = options.params, loaderContext = options.loaderContext, reporter = options.reporter, monitors = options.monitors, logger = options.logger, metrics = options.metrics, onError = options.onError, onTiming = options.onTiming, staticGenerate = options.staticGenerate; serverBundle = serverManifest === null || serverManifest === void 0 ? void 0 : (_serverManifest_renderBundles = serverManifest.renderBundles) === null || _serverManifest_renderBundles === void 0 ? void 0 : _serverManifest_renderBundles[routeInfo.entryName || MAIN_ENTRY_NAME]; loadableStats = serverManifest.loadableStats || {}; routeManifest = serverManifest.routeManifest || {}; config = createRequestHandlerConfig(options.config); requestHandlerOptions = { resource: { route: routeInfo, loadableStats, routeManifest, entryName: routeInfo.entryName || MAIN_ENTRY_NAME }, config, params, loaderContext, rscSSRManifest, rscClientManifest, rscServerManifest, locals, reporter, staticGenerate, logger, metrics, monitors, onError, onTiming }; if (!serverBundle) { return [ 2, new Response("Cannot find server bundle for RSC", { status: 500 }) ]; } return [ 4, serverBundle.rscPayloadHandler ]; case 1: rscPayloadHandler = _state.sent(); if (!rscPayloadHandler) { return [ 2, new Response("Cannot find request handler for RSC", { status: 500 }) ]; } if (!rscClientManifest) { return [ 2, new Response("Cannot find rsc client manifest", { status: 500 }) ]; } return [ 2, rscPayloadHandler(req, requestHandlerOptions) ]; } }); }); return function renderRscHandler2(req, options) { return _ref.apply(this, arguments); }; }(); export { renderRscHandler };