@modern-js/server-core 2.47.1-alpha.0 → 2.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +4 -6
- package/dist/cjs/{core/loadPlugins.js → loadPlugins.js} +1 -1
- package/dist/cjs/{core/plugin.js → plugin.js} +3 -1
- package/dist/esm/index.js +2 -3
- package/dist/esm/{core/loadPlugins.js → loadPlugins.js} +1 -1
- package/dist/esm/{core/plugin.js → plugin.js} +3 -1
- package/dist/types/index.d.ts +2 -3
- package/dist/types/{core/loadPlugins.d.ts → loadPlugins.d.ts} +1 -1
- package/dist/types/{core/plugin.d.ts → plugin.d.ts} +35 -32
- package/package.json +6 -29
- package/dist/cjs/base/adapters/node/bff.js +0 -69
- package/dist/cjs/base/adapters/node/hono.js +0 -62
- package/dist/cjs/base/adapters/node/index.js +0 -32
- package/dist/cjs/base/adapters/node/loadServer.js +0 -56
- package/dist/cjs/base/adapters/node/middlewares/index.js +0 -26
- package/dist/cjs/base/adapters/node/middlewares/mock.js +0 -113
- package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +0 -105
- package/dist/cjs/base/adapters/node/middlewares/templates.js +0 -65
- package/dist/cjs/base/adapters/node/node.js +0 -121
- package/dist/cjs/base/adapters/node/polyfills/index.js +0 -24
- package/dist/cjs/base/adapters/node/polyfills/install.js +0 -57
- package/dist/cjs/base/adapters/node/polyfills/stream.js +0 -159
- package/dist/cjs/base/constants.js +0 -55
- package/dist/cjs/base/index.js +0 -73
- package/dist/cjs/base/middlewares/customServer/base.js +0 -115
- package/dist/cjs/base/middlewares/customServer/context.js +0 -78
- package/dist/cjs/base/middlewares/customServer/index.js +0 -138
- package/dist/cjs/base/middlewares/customServer/routerApi.js +0 -48
- package/dist/cjs/base/middlewares/customServer/template.js +0 -60
- package/dist/cjs/base/middlewares/dataHandler.js +0 -69
- package/dist/cjs/base/middlewares/faviconFallback.js +0 -34
- package/dist/cjs/base/middlewares/index.js +0 -28
- package/dist/cjs/base/middlewares/monitor.js +0 -75
- package/dist/cjs/base/middlewares/renderHandler/index.js +0 -92
- package/dist/cjs/base/middlewares/renderHandler/render.js +0 -90
- package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +0 -43
- package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +0 -173
- package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +0 -183
- package/dist/cjs/base/serverBase.js +0 -167
- package/dist/cjs/base/utils/debug.js +0 -29
- package/dist/cjs/base/utils/entry.js +0 -30
- package/dist/cjs/base/utils/env.js +0 -45
- package/dist/cjs/base/utils/error.js +0 -65
- package/dist/cjs/base/utils/index.js +0 -40
- package/dist/cjs/base/utils/middlewareCollector.js +0 -54
- package/dist/cjs/base/utils/path.js +0 -46
- package/dist/cjs/base/utils/request.js +0 -65
- package/dist/cjs/base/utils/serverConfig.js +0 -71
- package/dist/cjs/base/utils/transformStream.js +0 -38
- package/dist/cjs/base/utils/warmup.js +0 -43
- package/dist/cjs/core/hono.js +0 -16
- package/dist/cjs/core/index.js +0 -24
- package/dist/cjs/core/render.js +0 -16
- package/dist/cjs/core/server.js +0 -22
- package/dist/esm/base/adapters/node/bff.js +0 -45
- package/dist/esm/base/adapters/node/hono.js +0 -37
- package/dist/esm/base/adapters/node/index.js +0 -6
- package/dist/esm/base/adapters/node/loadServer.js +0 -22
- package/dist/esm/base/adapters/node/middlewares/index.js +0 -3
- package/dist/esm/base/adapters/node/middlewares/mock.js +0 -79
- package/dist/esm/base/adapters/node/middlewares/serverStatic.js +0 -71
- package/dist/esm/base/adapters/node/middlewares/templates.js +0 -31
- package/dist/esm/base/adapters/node/node.js +0 -95
- package/dist/esm/base/adapters/node/polyfills/index.js +0 -2
- package/dist/esm/base/adapters/node/polyfills/install.js +0 -33
- package/dist/esm/base/adapters/node/polyfills/stream.js +0 -132
- package/dist/esm/base/constants.js +0 -29
- package/dist/esm/base/index.js +0 -32
- package/dist/esm/base/middlewares/customServer/base.js +0 -91
- package/dist/esm/base/middlewares/customServer/context.js +0 -51
- package/dist/esm/base/middlewares/customServer/index.js +0 -114
- package/dist/esm/base/middlewares/customServer/routerApi.js +0 -24
- package/dist/esm/base/middlewares/customServer/template.js +0 -36
- package/dist/esm/base/middlewares/dataHandler.js +0 -35
- package/dist/esm/base/middlewares/faviconFallback.js +0 -10
- package/dist/esm/base/middlewares/index.js +0 -4
- package/dist/esm/base/middlewares/monitor.js +0 -49
- package/dist/esm/base/middlewares/renderHandler/index.js +0 -67
- package/dist/esm/base/middlewares/renderHandler/render.js +0 -66
- package/dist/esm/base/middlewares/renderHandler/serverTiming.js +0 -19
- package/dist/esm/base/middlewares/renderHandler/ssrCache.js +0 -149
- package/dist/esm/base/middlewares/renderHandler/ssrRender.js +0 -149
- package/dist/esm/base/serverBase.js +0 -143
- package/dist/esm/base/utils/debug.js +0 -5
- package/dist/esm/base/utils/entry.js +0 -6
- package/dist/esm/base/utils/env.js +0 -20
- package/dist/esm/base/utils/error.js +0 -41
- package/dist/esm/base/utils/index.js +0 -10
- package/dist/esm/base/utils/middlewareCollector.js +0 -29
- package/dist/esm/base/utils/path.js +0 -12
- package/dist/esm/base/utils/request.js +0 -38
- package/dist/esm/base/utils/serverConfig.js +0 -35
- package/dist/esm/base/utils/transformStream.js +0 -14
- package/dist/esm/base/utils/warmup.js +0 -9
- package/dist/esm/core/hono.js +0 -0
- package/dist/esm/core/index.js +0 -2
- package/dist/esm/core/render.js +0 -0
- package/dist/esm/core/server.js +0 -1
- package/dist/types/base/adapters/node/bff.d.ts +0 -4
- package/dist/types/base/adapters/node/hono.d.ts +0 -30
- package/dist/types/base/adapters/node/index.d.ts +0 -6
- package/dist/types/base/adapters/node/loadServer.d.ts +0 -3
- package/dist/types/base/adapters/node/middlewares/index.d.ts +0 -3
- package/dist/types/base/adapters/node/middlewares/mock.d.ts +0 -5
- package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +0 -9
- package/dist/types/base/adapters/node/middlewares/templates.d.ts +0 -3
- package/dist/types/base/adapters/node/node.d.ts +0 -12
- package/dist/types/base/adapters/node/polyfills/index.d.ts +0 -2
- package/dist/types/base/adapters/node/polyfills/install.d.ts +0 -1
- package/dist/types/base/adapters/node/polyfills/stream.d.ts +0 -18
- package/dist/types/base/constants.d.ts +0 -23
- package/dist/types/base/index.d.ts +0 -9
- package/dist/types/base/middlewares/customServer/base.d.ts +0 -3
- package/dist/types/base/middlewares/customServer/context.d.ts +0 -7
- package/dist/types/base/middlewares/customServer/index.d.ts +0 -13
- package/dist/types/base/middlewares/customServer/routerApi.d.ts +0 -9
- package/dist/types/base/middlewares/customServer/template.d.ts +0 -11
- package/dist/types/base/middlewares/dataHandler.d.ts +0 -3
- package/dist/types/base/middlewares/faviconFallback.d.ts +0 -2
- package/dist/types/base/middlewares/index.d.ts +0 -4
- package/dist/types/base/middlewares/monitor.d.ts +0 -7
- package/dist/types/base/middlewares/renderHandler/index.d.ts +0 -9
- package/dist/types/base/middlewares/renderHandler/render.d.ts +0 -12
- package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +0 -7
- package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +0 -17
- package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +0 -18
- package/dist/types/base/serverBase.d.ts +0 -49
- package/dist/types/base/utils/debug.d.ts +0 -1
- package/dist/types/base/utils/entry.d.ts +0 -2
- package/dist/types/base/utils/env.d.ts +0 -2
- package/dist/types/base/utils/error.d.ts +0 -1
- package/dist/types/base/utils/index.d.ts +0 -10
- package/dist/types/base/utils/middlewareCollector.d.ts +0 -12
- package/dist/types/base/utils/path.d.ts +0 -3
- package/dist/types/base/utils/request.d.ts +0 -12
- package/dist/types/base/utils/serverConfig.d.ts +0 -14
- package/dist/types/base/utils/transformStream.d.ts +0 -2
- package/dist/types/base/utils/warmup.d.ts +0 -1
- package/dist/types/core/hono.d.ts +0 -1
- package/dist/types/core/index.d.ts +0 -2
- package/dist/types/core/render.d.ts +0 -11
- package/dist/types/core/server.d.ts +0 -71
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __copyProps = (to, from, except, desc) => {
|
|
7
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
-
for (let key of __getOwnPropNames(from))
|
|
9
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
-
}
|
|
12
|
-
return to;
|
|
13
|
-
};
|
|
14
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
-
var middlewares_exports = {};
|
|
17
|
-
module.exports = __toCommonJS(middlewares_exports);
|
|
18
|
-
__reExport(middlewares_exports, require("./faviconFallback"), module.exports);
|
|
19
|
-
__reExport(middlewares_exports, require("./dataHandler"), module.exports);
|
|
20
|
-
__reExport(middlewares_exports, require("./monitor"), module.exports);
|
|
21
|
-
__reExport(middlewares_exports, require("./renderHandler"), module.exports);
|
|
22
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
23
|
-
0 && (module.exports = {
|
|
24
|
-
...require("./faviconFallback"),
|
|
25
|
-
...require("./dataHandler"),
|
|
26
|
-
...require("./monitor"),
|
|
27
|
-
...require("./renderHandler")
|
|
28
|
-
});
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var monitor_exports = {};
|
|
20
|
-
__export(monitor_exports, {
|
|
21
|
-
initReporter: () => initReporter,
|
|
22
|
-
injectLogger: () => injectLogger,
|
|
23
|
-
injectReporter: () => injectReporter
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(monitor_exports);
|
|
26
|
-
var import_time = require("@modern-js/runtime-utils/time");
|
|
27
|
-
var import_constants = require("../constants");
|
|
28
|
-
const defaultReporter = {
|
|
29
|
-
init() {
|
|
30
|
-
},
|
|
31
|
-
reportError() {
|
|
32
|
-
},
|
|
33
|
-
reportTiming() {
|
|
34
|
-
},
|
|
35
|
-
reportInfo() {
|
|
36
|
-
},
|
|
37
|
-
reportWarn() {
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
function injectReporter() {
|
|
41
|
-
return async (c, next) => {
|
|
42
|
-
const reporter = c.get("reporter");
|
|
43
|
-
if (!reporter) {
|
|
44
|
-
c.set("reporter", defaultReporter);
|
|
45
|
-
}
|
|
46
|
-
await next();
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
function initReporter(entryName) {
|
|
50
|
-
return async (c, next) => {
|
|
51
|
-
const reporter = c.get("reporter");
|
|
52
|
-
await reporter.init({
|
|
53
|
-
entryName
|
|
54
|
-
});
|
|
55
|
-
const getCost = (0, import_time.time)();
|
|
56
|
-
await next();
|
|
57
|
-
const cost = getCost();
|
|
58
|
-
reporter.reportTiming(import_constants.ServerReportTimings.SERVER_HANDLE_REQUEST, cost);
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
function injectLogger(inputLogger) {
|
|
62
|
-
return async (c, next) => {
|
|
63
|
-
const logger = c.get("logger");
|
|
64
|
-
if (!logger && inputLogger) {
|
|
65
|
-
c.set("logger", inputLogger);
|
|
66
|
-
}
|
|
67
|
-
await next();
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
71
|
-
0 && (module.exports = {
|
|
72
|
-
initReporter,
|
|
73
|
-
injectLogger,
|
|
74
|
-
injectReporter
|
|
75
|
-
});
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var renderHandler_exports = {};
|
|
20
|
-
__export(renderHandler_exports, {
|
|
21
|
-
bindRenderHandler: () => bindRenderHandler,
|
|
22
|
-
getRenderHandler: () => getRenderHandler
|
|
23
|
-
});
|
|
24
|
-
module.exports = __toCommonJS(renderHandler_exports);
|
|
25
|
-
var import_utils = require("../../utils");
|
|
26
|
-
var import_monitor = require("../monitor");
|
|
27
|
-
var import_customServer = require("../customServer");
|
|
28
|
-
var import_ssrCache = require("./ssrCache");
|
|
29
|
-
var import_render = require("./render");
|
|
30
|
-
function createRenderHandler(render) {
|
|
31
|
-
return async (c, _) => {
|
|
32
|
-
var _c_env_node;
|
|
33
|
-
const logger = c.get("logger");
|
|
34
|
-
const reporter = c.get("reporter");
|
|
35
|
-
const request = c.req.raw;
|
|
36
|
-
const nodeReq = (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req;
|
|
37
|
-
const templates = c.get("templates");
|
|
38
|
-
const res = await render(request, {
|
|
39
|
-
logger,
|
|
40
|
-
nodeReq,
|
|
41
|
-
reporter,
|
|
42
|
-
tpls: templates || {}
|
|
43
|
-
});
|
|
44
|
-
return res;
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
function getRenderHandler(options) {
|
|
48
|
-
const { routes, pwd, config } = options;
|
|
49
|
-
if (routes && routes.length > 0) {
|
|
50
|
-
var _config_server, _options_config_security;
|
|
51
|
-
const ssrConfig = (_config_server = config.server) === null || _config_server === void 0 ? void 0 : _config_server.ssr;
|
|
52
|
-
const forceCSR = typeof ssrConfig === "object" ? ssrConfig.forceCSR : false;
|
|
53
|
-
const render = (0, import_render.createRender)({
|
|
54
|
-
routes,
|
|
55
|
-
pwd,
|
|
56
|
-
staticGenerate: options.staticGenerate,
|
|
57
|
-
metaName: options.metaName || "modern-js",
|
|
58
|
-
forceCSR,
|
|
59
|
-
nonce: (_options_config_security = options.config.security) === null || _options_config_security === void 0 ? void 0 : _options_config_security.nonce
|
|
60
|
-
});
|
|
61
|
-
return render;
|
|
62
|
-
}
|
|
63
|
-
return null;
|
|
64
|
-
}
|
|
65
|
-
async function bindRenderHandler(server, options) {
|
|
66
|
-
const { routes, pwd } = options;
|
|
67
|
-
const path = await (0, import_utils.getPathModule)();
|
|
68
|
-
const { runner } = server;
|
|
69
|
-
if (routes && routes.length > 0) {
|
|
70
|
-
const customServer = new import_customServer.CustomServer(runner, server, pwd);
|
|
71
|
-
const ssrBundles = routes.filter((route) => route.isSSR && route.bundle).map((route) => path.join(pwd, route.bundle));
|
|
72
|
-
(0, import_utils.warmup)(ssrBundles);
|
|
73
|
-
await import_ssrCache.ssrCache.loadCacheMod((0, import_utils.checkIsProd)() ? pwd : void 0);
|
|
74
|
-
const pageRoutes = routes.filter((route) => !route.isApi).sort(import_utils.sortRoutes);
|
|
75
|
-
for (const route of pageRoutes) {
|
|
76
|
-
const { urlPath: originUrlPath, entryName } = route;
|
|
77
|
-
const urlPath = originUrlPath.endsWith("/") ? `${originUrlPath}*` : `${originUrlPath}/*`;
|
|
78
|
-
const customServerHookMiddleware = customServer.getHookMiddleware(entryName || "main", routes);
|
|
79
|
-
server.use(urlPath, (0, import_monitor.initReporter)(entryName));
|
|
80
|
-
server.use(urlPath, customServerHookMiddleware);
|
|
81
|
-
const customServerMiddleware = customServer.getServerMiddleware();
|
|
82
|
-
server.use(urlPath, customServerMiddleware);
|
|
83
|
-
}
|
|
84
|
-
const render = getRenderHandler(options);
|
|
85
|
-
render && server.get("*", createRenderHandler(render));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
89
|
-
0 && (module.exports = {
|
|
90
|
-
bindRenderHandler,
|
|
91
|
-
getRenderHandler
|
|
92
|
-
});
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var render_exports = {};
|
|
20
|
-
__export(render_exports, {
|
|
21
|
-
createRender: () => createRender
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(render_exports);
|
|
24
|
-
var import_utils = require("@modern-js/utils");
|
|
25
|
-
var import_request = require("../../utils/request");
|
|
26
|
-
var import_utils2 = require("../../utils");
|
|
27
|
-
var import_ssrRender = require("./ssrRender");
|
|
28
|
-
function createRender({ routes, pwd, metaName, staticGenerate, forceCSR, nonce }) {
|
|
29
|
-
return async (req, { logger, nodeReq, reporter, tpls }) => {
|
|
30
|
-
const routeInfo = matchRoute(req, routes);
|
|
31
|
-
if (!routeInfo) {
|
|
32
|
-
return new Response((0, import_utils2.createErrorHtml)(404), {
|
|
33
|
-
status: 404,
|
|
34
|
-
headers: {
|
|
35
|
-
"content-type": "text/html; charset=UTF-8"
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
const html = tpls[routeInfo.entryName];
|
|
40
|
-
if (!html) {
|
|
41
|
-
throw new Error(`Can't found entry ${routeInfo.entryName} html `);
|
|
42
|
-
}
|
|
43
|
-
const renderMode = getRenderMode(req, metaName || "modern-js", routeInfo.isSSR, forceCSR);
|
|
44
|
-
return renderMode === "csr" ? csrRender(html) : (0, import_ssrRender.ssrRender)(req, {
|
|
45
|
-
pwd,
|
|
46
|
-
mode: "string",
|
|
47
|
-
html,
|
|
48
|
-
routeInfo,
|
|
49
|
-
staticGenerate: staticGenerate || false,
|
|
50
|
-
metaName: metaName || "modern-js",
|
|
51
|
-
nonce,
|
|
52
|
-
logger,
|
|
53
|
-
nodeReq,
|
|
54
|
-
reporter
|
|
55
|
-
});
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
function matchRoute(req, routes) {
|
|
59
|
-
const sorted = routes.sort(import_utils2.sortRoutes);
|
|
60
|
-
for (const route of sorted) {
|
|
61
|
-
const reg = new RegExp(route.urlPath);
|
|
62
|
-
if (reg.test(req.url)) {
|
|
63
|
-
return route;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
return void 0;
|
|
67
|
-
}
|
|
68
|
-
function getRenderMode(req, framework, isSSR, forceCSR) {
|
|
69
|
-
const query = (0, import_request.parseQuery)(req);
|
|
70
|
-
if (isSSR) {
|
|
71
|
-
if (forceCSR && (query.csr || req.headers.get(`x-${(0, import_utils.cutNameByHyphen)(framework)}-ssr-fallback`))) {
|
|
72
|
-
return "csr";
|
|
73
|
-
}
|
|
74
|
-
return "ssr";
|
|
75
|
-
} else {
|
|
76
|
-
return "csr";
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
function csrRender(html) {
|
|
80
|
-
return new Response(html, {
|
|
81
|
-
status: 200,
|
|
82
|
-
headers: new Headers({
|
|
83
|
-
"content-type": "text/html; charset=UTF-8"
|
|
84
|
-
})
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
88
|
-
0 && (module.exports = {
|
|
89
|
-
createRender
|
|
90
|
-
});
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var serverTiming_exports = {};
|
|
20
|
-
__export(serverTiming_exports, {
|
|
21
|
-
ServerTiming: () => ServerTiming
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(serverTiming_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
|
-
const SERVER_TIMING = "Server-Timing";
|
|
26
|
-
class ServerTiming {
|
|
27
|
-
addServeTiming(name, dur, desc) {
|
|
28
|
-
const _name = `bd-${this.meta}-${name}`;
|
|
29
|
-
const value = `${_name};${desc ? `decs="${desc}";` : ""} dur=${dur}`;
|
|
30
|
-
this.headers.append(SERVER_TIMING, value);
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
constructor(headers, meta) {
|
|
34
|
-
(0, import_define_property._)(this, "headers", void 0);
|
|
35
|
-
(0, import_define_property._)(this, "meta", void 0);
|
|
36
|
-
this.meta = meta;
|
|
37
|
-
this.headers = headers;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
41
|
-
0 && (module.exports = {
|
|
42
|
-
ServerTiming
|
|
43
|
-
});
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var ssrCache_exports = {};
|
|
20
|
-
__export(ssrCache_exports, {
|
|
21
|
-
ssrCache: () => ssrCache
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(ssrCache_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
|
-
var import_stream = require("stream");
|
|
26
|
-
var import_utils = require("@modern-js/utils");
|
|
27
|
-
var import_storer = require("@modern-js/runtime-utils/storer");
|
|
28
|
-
var import_stream2 = require("../../adapters/node/polyfills/stream");
|
|
29
|
-
var import_utils2 = require("../../utils");
|
|
30
|
-
class CacheManager {
|
|
31
|
-
async getCacheResult(req, cacheControl, render, ssrContext) {
|
|
32
|
-
const key = this.computedKey(req, cacheControl);
|
|
33
|
-
const value = await this.container.get(key);
|
|
34
|
-
const { maxAge, staleWhileRevalidate } = cacheControl;
|
|
35
|
-
const ttl = maxAge + staleWhileRevalidate;
|
|
36
|
-
if (value) {
|
|
37
|
-
const cache = JSON.parse(value);
|
|
38
|
-
const interval = Date.now() - cache.cursor;
|
|
39
|
-
if (interval <= maxAge) {
|
|
40
|
-
return cache.val;
|
|
41
|
-
} else if (interval <= staleWhileRevalidate + maxAge) {
|
|
42
|
-
this.processCache(key, render, ssrContext, ttl);
|
|
43
|
-
return cache.val;
|
|
44
|
-
} else {
|
|
45
|
-
return this.processCache(key, render, ssrContext, ttl);
|
|
46
|
-
}
|
|
47
|
-
} else {
|
|
48
|
-
return this.processCache(key, render, ssrContext, ttl);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
async processCache(key, render, ssrContext, ttl) {
|
|
52
|
-
const renderResult = await render(ssrContext);
|
|
53
|
-
if (!renderResult) {
|
|
54
|
-
return "";
|
|
55
|
-
} else if (typeof renderResult === "string") {
|
|
56
|
-
const current = Date.now();
|
|
57
|
-
const cache = {
|
|
58
|
-
val: renderResult,
|
|
59
|
-
cursor: current
|
|
60
|
-
};
|
|
61
|
-
await this.container.set(key, JSON.stringify(cache), {
|
|
62
|
-
ttl
|
|
63
|
-
});
|
|
64
|
-
return renderResult;
|
|
65
|
-
} else {
|
|
66
|
-
const body = (
|
|
67
|
-
// TODO: remove node:stream, move it to ssr entry.
|
|
68
|
-
renderResult instanceof import_stream.Readable ? (0, import_stream2.createReadableStreamFromReadable)(renderResult) : renderResult
|
|
69
|
-
);
|
|
70
|
-
let html = "";
|
|
71
|
-
const stream = (0, import_utils2.createTransformStream)((chunk) => {
|
|
72
|
-
html += chunk;
|
|
73
|
-
return chunk;
|
|
74
|
-
});
|
|
75
|
-
stream.readable.getReader().closed.then(() => {
|
|
76
|
-
const current = Date.now();
|
|
77
|
-
const cache = {
|
|
78
|
-
val: html,
|
|
79
|
-
cursor: current
|
|
80
|
-
};
|
|
81
|
-
this.container.set(key, JSON.stringify(cache), {
|
|
82
|
-
ttl
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
body.pipeThrough(stream);
|
|
86
|
-
return stream.readable;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
computedKey(req, cacheControl) {
|
|
90
|
-
const pathname = (0, import_utils2.getPathname)(req);
|
|
91
|
-
const { customKey } = cacheControl;
|
|
92
|
-
const defaultKey = pathname.replace(/.+\/+$/, "");
|
|
93
|
-
if (customKey) {
|
|
94
|
-
if (typeof customKey === "string") {
|
|
95
|
-
return customKey;
|
|
96
|
-
} else {
|
|
97
|
-
return customKey(defaultKey);
|
|
98
|
-
}
|
|
99
|
-
} else {
|
|
100
|
-
return defaultKey;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
constructor(container) {
|
|
104
|
-
(0, import_define_property._)(this, "container", void 0);
|
|
105
|
-
this.container = container;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
const CACHE_FILENAME = "cache";
|
|
109
|
-
class ServerCache {
|
|
110
|
-
async loadCacheMod(pwd = process.cwd()) {
|
|
111
|
-
const path = await (0, import_utils2.getPathModule)();
|
|
112
|
-
const serverCacheFilepath = path.resolve(pwd, import_utils.SERVER_DIR, CACHE_FILENAME);
|
|
113
|
-
const mod = (0, import_utils.requireExistModule)(serverCacheFilepath, {
|
|
114
|
-
interop: false
|
|
115
|
-
});
|
|
116
|
-
this.cacheOption = mod === null || mod === void 0 ? void 0 : mod.cacheOption;
|
|
117
|
-
if (this.cacheOption && !(mod === null || mod === void 0 ? void 0 : mod.customContainer)) {
|
|
118
|
-
const cacheStorage = (0, import_storer.createMemoryStorage)("__ssr__cache");
|
|
119
|
-
this.customContainer = cacheStorage;
|
|
120
|
-
} else {
|
|
121
|
-
this.customContainer = mod === null || mod === void 0 ? void 0 : mod.customContainer;
|
|
122
|
-
}
|
|
123
|
-
if (this.customContainer) {
|
|
124
|
-
this.cacheManger = new CacheManager(this.customContainer);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
matchCacheControl(req) {
|
|
128
|
-
const { cacheOption } = this;
|
|
129
|
-
if (!cacheOption || !req) {
|
|
130
|
-
return void 0;
|
|
131
|
-
} else if (isCacheControl(cacheOption)) {
|
|
132
|
-
return cacheOption;
|
|
133
|
-
} else if (isCacheOptionProvider(cacheOption)) {
|
|
134
|
-
return cacheOption(req);
|
|
135
|
-
} else {
|
|
136
|
-
const url = req.url;
|
|
137
|
-
const options = Object.entries(cacheOption);
|
|
138
|
-
for (const [key, option] of options) {
|
|
139
|
-
if (key === "*" || new RegExp(key).test(url)) {
|
|
140
|
-
if (typeof option === "function") {
|
|
141
|
-
return option(req);
|
|
142
|
-
} else {
|
|
143
|
-
return option;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return void 0;
|
|
148
|
-
}
|
|
149
|
-
function isCacheOptionProvider(option) {
|
|
150
|
-
return typeof option === "function";
|
|
151
|
-
}
|
|
152
|
-
function isCacheControl(option) {
|
|
153
|
-
return typeof option === "object" && option !== null && "maxAge" in option;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
getCache(req, cacheControl, render, ssrContext) {
|
|
157
|
-
if (this.cacheManger) {
|
|
158
|
-
return this.cacheManger.getCacheResult(req, cacheControl, render, ssrContext);
|
|
159
|
-
} else {
|
|
160
|
-
return render(ssrContext);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
constructor() {
|
|
164
|
-
(0, import_define_property._)(this, "customContainer", void 0);
|
|
165
|
-
(0, import_define_property._)(this, "cacheOption", void 0);
|
|
166
|
-
(0, import_define_property._)(this, "cacheManger", void 0);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
const ssrCache = new ServerCache();
|
|
170
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
171
|
-
0 && (module.exports = {
|
|
172
|
-
ssrCache
|
|
173
|
-
});
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
|
-
var __defProp = Object.defineProperty;
|
|
4
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
-
var __export = (target, all) => {
|
|
9
|
-
for (var name in all)
|
|
10
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
-
};
|
|
12
|
-
var __copyProps = (to, from, except, desc) => {
|
|
13
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(from))
|
|
15
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
-
var ssrRender_exports = {};
|
|
30
|
-
__export(ssrRender_exports, {
|
|
31
|
-
ssrRender: () => ssrRender
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(ssrRender_exports);
|
|
34
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
|
-
var import_stream = require("stream");
|
|
36
|
-
var import_utils = require("@modern-js/utils");
|
|
37
|
-
var isbot = __toESM(require("isbot"));
|
|
38
|
-
var import_utils2 = require("../../utils");
|
|
39
|
-
var import_constants = require("../../constants");
|
|
40
|
-
var import_request = require("../../utils/request");
|
|
41
|
-
var import_stream2 = require("../../adapters/node/polyfills/stream");
|
|
42
|
-
var import_serverTiming = require("./serverTiming");
|
|
43
|
-
var import_ssrCache = require("./ssrCache");
|
|
44
|
-
const defaultReporter = {
|
|
45
|
-
init() {
|
|
46
|
-
},
|
|
47
|
-
reportError() {
|
|
48
|
-
},
|
|
49
|
-
reportTiming() {
|
|
50
|
-
},
|
|
51
|
-
reportInfo() {
|
|
52
|
-
},
|
|
53
|
-
reportWarn() {
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
async function ssrRender(request, { routeInfo, pwd, html, staticGenerate, nonce, metaName, reporter, logger, nodeReq }) {
|
|
57
|
-
const { entryName } = routeInfo;
|
|
58
|
-
const path = await (0, import_utils2.getPathModule)();
|
|
59
|
-
const jsBundlePath = path.join(pwd, routeInfo.bundle);
|
|
60
|
-
const loadableUri = path.join(pwd, import_utils.LOADABLE_STATS_FILE);
|
|
61
|
-
let loadableStats = {};
|
|
62
|
-
try {
|
|
63
|
-
loadableStats = await Promise.resolve().then(() => __toESM(require(loadableUri)));
|
|
64
|
-
} catch (_) {
|
|
65
|
-
}
|
|
66
|
-
const routesManifestUri = path.join(pwd, import_utils.ROUTE_MANIFEST_FILE);
|
|
67
|
-
let routeManifest;
|
|
68
|
-
try {
|
|
69
|
-
routeManifest = await Promise.resolve().then(() => __toESM(require(routesManifestUri)));
|
|
70
|
-
} catch (_) {
|
|
71
|
-
}
|
|
72
|
-
const host = (0, import_request.getHost)(request);
|
|
73
|
-
const isSpider = isbot.default(request.headers.get("user-agent"));
|
|
74
|
-
const responseProxy = new ResponseProxy();
|
|
75
|
-
const query = (0, import_request.parseQuery)(request);
|
|
76
|
-
const headers = (0, import_request.parseHeaders)(request);
|
|
77
|
-
const ssrContext = {
|
|
78
|
-
request: {
|
|
79
|
-
baseUrl: routeInfo.urlPath,
|
|
80
|
-
params: {},
|
|
81
|
-
// eslint-disable-next-line node/no-unsupported-features/node-builtins, node/prefer-global/url
|
|
82
|
-
pathname: new URL(request.url).pathname,
|
|
83
|
-
host,
|
|
84
|
-
query,
|
|
85
|
-
url: request.url,
|
|
86
|
-
headers
|
|
87
|
-
},
|
|
88
|
-
response: {
|
|
89
|
-
setHeader(key, value) {
|
|
90
|
-
responseProxy.headers.set(key, value);
|
|
91
|
-
},
|
|
92
|
-
status(code) {
|
|
93
|
-
responseProxy.status = code;
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
redirection: {},
|
|
97
|
-
template: html,
|
|
98
|
-
loadableStats,
|
|
99
|
-
routeManifest,
|
|
100
|
-
entryName,
|
|
101
|
-
staticGenerate,
|
|
102
|
-
logger,
|
|
103
|
-
serverTiming: new import_serverTiming.ServerTiming(responseProxy.headers, metaName),
|
|
104
|
-
reporter: reporter || defaultReporter,
|
|
105
|
-
/** @deprecated node req */
|
|
106
|
-
req: void 0,
|
|
107
|
-
/** @deprecated node res */
|
|
108
|
-
res: void 0,
|
|
109
|
-
isSpider,
|
|
110
|
-
nonce
|
|
111
|
-
};
|
|
112
|
-
const jsBundle = await Promise.resolve().then(() => __toESM(require(jsBundlePath)));
|
|
113
|
-
const incomingMessage = nodeReq ? nodeReq : new IncomingMessgeProxy(request);
|
|
114
|
-
const cacheControl = await import_ssrCache.ssrCache.matchCacheControl(incomingMessage);
|
|
115
|
-
let ssrResult;
|
|
116
|
-
const render = jsBundle[import_utils.SERVER_RENDER_FUNCTION_NAME];
|
|
117
|
-
if (cacheControl) {
|
|
118
|
-
ssrResult = await import_ssrCache.ssrCache.getCache(request, cacheControl, render, ssrContext);
|
|
119
|
-
} else {
|
|
120
|
-
ssrResult = await render(ssrContext);
|
|
121
|
-
}
|
|
122
|
-
const { redirection } = ssrContext;
|
|
123
|
-
if (redirection.url) {
|
|
124
|
-
const { headers: headers2 } = responseProxy;
|
|
125
|
-
headers2.set("Location", redirection.url);
|
|
126
|
-
return new Response(null, {
|
|
127
|
-
status: redirection.status || 302,
|
|
128
|
-
headers: {
|
|
129
|
-
Location: redirection.url
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
const serverData = {
|
|
134
|
-
router: {
|
|
135
|
-
baseUrl: routeInfo.urlPath,
|
|
136
|
-
// TODO: parse
|
|
137
|
-
params: {}
|
|
138
|
-
}
|
|
139
|
-
};
|
|
140
|
-
const data = ssrResult instanceof import_stream.Readable ? (0, import_stream2.createReadableStreamFromReadable)(ssrResult) : ssrResult;
|
|
141
|
-
const body = injectServerData(data, serverData);
|
|
142
|
-
return new Response(body, {
|
|
143
|
-
status: responseProxy.status,
|
|
144
|
-
headers: responseProxy.headers
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
function injectServerData(data, serverData) {
|
|
148
|
-
const { head } = import_constants.REPLACE_REG.before;
|
|
149
|
-
const searchValue = new RegExp(head);
|
|
150
|
-
const replcaeCb = (beforeHead) => `${beforeHead}<script type="application/json" id="__MODERN_SERVER_DATA__">${JSON.stringify(serverData)}</script>`;
|
|
151
|
-
if (typeof data === "string") {
|
|
152
|
-
return data.replace(searchValue, replcaeCb);
|
|
153
|
-
} else {
|
|
154
|
-
const stream = (0, import_utils2.createTransformStream)((before) => {
|
|
155
|
-
return before.replace(searchValue, replcaeCb);
|
|
156
|
-
});
|
|
157
|
-
data.pipeThrough(stream);
|
|
158
|
-
return stream.readable;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
class ResponseProxy {
|
|
162
|
-
constructor() {
|
|
163
|
-
(0, import_define_property._)(this, "headers", new Headers());
|
|
164
|
-
(0, import_define_property._)(this, "status", 200);
|
|
165
|
-
this.headers.set("content-type", "text/html; charset=UTF-8");
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
class IncomingMessgeProxy {
|
|
169
|
-
constructor(req) {
|
|
170
|
-
(0, import_define_property._)(this, "headers", {});
|
|
171
|
-
(0, import_define_property._)(this, "method", void 0);
|
|
172
|
-
(0, import_define_property._)(this, "url", void 0);
|
|
173
|
-
req.headers.forEach((value, key) => {
|
|
174
|
-
this.headers[key] = value;
|
|
175
|
-
});
|
|
176
|
-
this.method = req.method;
|
|
177
|
-
this.url = new URL(req.url).pathname;
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
181
|
-
0 && (module.exports = {
|
|
182
|
-
ssrRender
|
|
183
|
-
});
|