@modern-js/prod-server 2.35.0 → 2.36.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/constants.js +33 -27
- package/dist/cjs/index.js +41 -33
- package/dist/cjs/libs/context/context.js +86 -36
- package/dist/cjs/libs/context/index.js +27 -17
- package/dist/cjs/libs/hook-api/base.js +49 -30
- package/dist/cjs/libs/hook-api/index.js +36 -28
- package/dist/cjs/libs/hook-api/index.worker.js +39 -31
- package/dist/cjs/libs/hook-api/route.js +28 -11
- package/dist/cjs/libs/hook-api/template.js +27 -17
- package/dist/cjs/libs/hook-api/templateForStream.js +31 -14
- package/dist/cjs/libs/loadConfig.js +46 -29
- package/dist/cjs/libs/metrics.js +24 -7
- package/dist/cjs/libs/preload/flushServerHeader.js +30 -13
- package/dist/cjs/libs/preload/index.js +22 -5
- package/dist/cjs/libs/preload/parseLinks.js +54 -30
- package/dist/cjs/libs/preload/shouldFlushServerHeader.js +25 -15
- package/dist/cjs/libs/preload/transformLinks2String.js +27 -11
- package/dist/cjs/libs/proxy.js +29 -19
- package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +40 -22
- package/dist/cjs/libs/render/cache/__tests__/cache.test.js +33 -41
- package/dist/cjs/libs/render/cache/__tests__/cacheable.js +24 -7
- package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +24 -7
- package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +24 -7
- package/dist/cjs/libs/render/cache/index.js +30 -18
- package/dist/cjs/libs/render/cache/page-caches/index.js +26 -9
- package/dist/cjs/libs/render/cache/page-caches/lru.js +39 -13
- package/dist/cjs/libs/render/cache/spr.js +62 -44
- package/dist/cjs/libs/render/cache/type.js +15 -3
- package/dist/cjs/libs/render/cache/util.js +49 -36
- package/dist/cjs/libs/render/index.js +56 -30
- package/dist/cjs/libs/render/measure.js +27 -17
- package/dist/cjs/libs/render/reader.js +50 -35
- package/dist/cjs/libs/render/ssr.js +52 -26
- package/dist/cjs/libs/render/static.js +44 -18
- package/dist/cjs/libs/render/type.js +24 -7
- package/dist/cjs/libs/render/utils.js +29 -19
- package/dist/cjs/libs/reporter.js +24 -7
- package/dist/cjs/libs/route/index.js +30 -20
- package/dist/cjs/libs/route/matcher.js +37 -20
- package/dist/cjs/libs/route/route.js +34 -17
- package/dist/cjs/libs/serveFile.js +40 -21
- package/dist/cjs/libs/serverTiming.js +27 -10
- package/dist/cjs/renderHtml.js +17 -20
- package/dist/cjs/server/index.js +74 -50
- package/dist/cjs/server/modernServer.js +136 -113
- package/dist/cjs/server/modernServerSplit.js +29 -12
- package/dist/cjs/type.js +15 -3
- package/dist/cjs/utils.js +41 -38
- package/dist/cjs/workerServer.js +48 -39
- package/dist/esm/constants.js +14 -6
- package/dist/esm/index.js +11 -5
- package/dist/esm/libs/context/context.js +33 -6
- package/dist/esm/libs/context/index.js +5 -2
- package/dist/esm/libs/hook-api/base.js +6 -2
- package/dist/esm/libs/hook-api/index.js +11 -5
- package/dist/esm/libs/hook-api/index.worker.js +16 -10
- package/dist/esm/libs/hook-api/route.js +4 -1
- package/dist/esm/libs/hook-api/template.js +6 -2
- package/dist/esm/libs/hook-api/templateForStream.js +4 -1
- package/dist/esm/libs/loadConfig.js +8 -3
- package/dist/esm/libs/metrics.js +3 -1
- package/dist/esm/libs/preload/flushServerHeader.js +9 -6
- package/dist/esm/libs/preload/parseLinks.js +13 -11
- package/dist/esm/libs/preload/shouldFlushServerHeader.js +6 -2
- package/dist/esm/libs/preload/transformLinks2String.js +5 -3
- package/dist/esm/libs/proxy.js +9 -5
- package/dist/esm/libs/render/cache/__tests__/cache.test.js +12 -12
- package/dist/esm/libs/render/cache/__tests__/cacheable.js +4 -1
- package/dist/esm/libs/render/cache/__tests__/error-configuration.js +4 -1
- package/dist/esm/libs/render/cache/__tests__/matched-cache.js +4 -1
- package/dist/esm/libs/render/cache/index.js +6 -3
- package/dist/esm/libs/render/cache/page-caches/index.js +5 -2
- package/dist/esm/libs/render/cache/page-caches/lru.js +4 -1
- package/dist/esm/libs/render/cache/spr.js +13 -9
- package/dist/esm/libs/render/cache/type.js +0 -1
- package/dist/esm/libs/render/cache/util.js +18 -8
- package/dist/esm/libs/render/index.js +17 -11
- package/dist/esm/libs/render/measure.js +15 -11
- package/dist/esm/libs/render/reader.js +17 -10
- package/dist/esm/libs/render/ssr.js +11 -8
- package/dist/esm/libs/render/static.js +5 -2
- package/dist/esm/libs/render/type.js +4 -1
- package/dist/esm/libs/render/utils.js +6 -2
- package/dist/esm/libs/reporter.js +4 -1
- package/dist/esm/libs/route/index.js +5 -2
- package/dist/esm/libs/route/matcher.js +6 -3
- package/dist/esm/libs/route/route.js +4 -1
- package/dist/esm/libs/serveFile.js +6 -2
- package/dist/esm/libs/serverTiming.js +4 -1
- package/dist/esm/renderHtml.js +133 -124
- package/dist/esm/server/index.js +14 -13
- package/dist/esm/server/modernServer.js +39 -47
- package/dist/esm/server/modernServerSplit.js +4 -1
- package/dist/esm/type.js +0 -1
- package/dist/esm/utils.js +23 -12
- package/dist/esm/workerServer.js +25 -22
- package/dist/esm-node/constants.js +14 -6
- package/dist/esm-node/index.js +11 -5
- package/dist/esm-node/libs/context/context.js +33 -6
- package/dist/esm-node/libs/context/index.js +5 -2
- package/dist/esm-node/libs/hook-api/base.js +6 -2
- package/dist/esm-node/libs/hook-api/index.js +10 -4
- package/dist/esm-node/libs/hook-api/index.worker.js +10 -4
- package/dist/esm-node/libs/hook-api/route.js +4 -1
- package/dist/esm-node/libs/hook-api/template.js +6 -2
- package/dist/esm-node/libs/hook-api/templateForStream.js +4 -1
- package/dist/esm-node/libs/loadConfig.js +8 -3
- package/dist/esm-node/libs/metrics.js +3 -1
- package/dist/esm-node/libs/preload/flushServerHeader.js +6 -3
- package/dist/esm-node/libs/preload/parseLinks.js +11 -9
- package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +6 -2
- package/dist/esm-node/libs/preload/transformLinks2String.js +5 -3
- package/dist/esm-node/libs/proxy.js +6 -2
- package/dist/esm-node/libs/render/cache/__tests__/cache.test.js +7 -12
- package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +4 -1
- package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +4 -1
- package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +4 -1
- package/dist/esm-node/libs/render/cache/index.js +5 -3
- package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -1
- package/dist/esm-node/libs/render/cache/page-caches/lru.js +4 -1
- package/dist/esm-node/libs/render/cache/spr.js +7 -4
- package/dist/esm-node/libs/render/cache/type.js +0 -1
- package/dist/esm-node/libs/render/cache/util.js +18 -8
- package/dist/esm-node/libs/render/index.js +7 -3
- package/dist/esm-node/libs/render/measure.js +6 -2
- package/dist/esm-node/libs/render/reader.js +13 -7
- package/dist/esm-node/libs/render/ssr.js +4 -1
- package/dist/esm-node/libs/render/static.js +4 -1
- package/dist/esm-node/libs/render/type.js +4 -1
- package/dist/esm-node/libs/render/utils.js +6 -2
- package/dist/esm-node/libs/reporter.js +4 -1
- package/dist/esm-node/libs/route/index.js +5 -2
- package/dist/esm-node/libs/route/matcher.js +6 -3
- package/dist/esm-node/libs/route/route.js +4 -1
- package/dist/esm-node/libs/serveFile.js +6 -2
- package/dist/esm-node/libs/serverTiming.js +4 -1
- package/dist/esm-node/renderHtml.js +72 -63
- package/dist/esm-node/server/index.js +11 -10
- package/dist/esm-node/server/modernServer.js +29 -28
- package/dist/esm-node/server/modernServerSplit.js +4 -1
- package/dist/esm-node/type.js +0 -1
- package/dist/esm-node/utils.js +20 -9
- package/dist/esm-node/workerServer.js +12 -9
- package/dist/types/libs/context/context.d.ts +2 -1
- package/dist/types/type.d.ts +1 -0
- package/dist/types/utils.d.ts +1 -1
- package/package.json +9 -8
- package/dist/cjs/libs/logger.js +0 -123
- package/dist/esm/libs/logger.js +0 -125
- package/dist/esm-node/libs/logger.js +0 -106
- package/dist/types/libs/logger.d.ts +0 -61
package/dist/cjs/constants.js
CHANGED
|
@@ -1,34 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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) => {
|
|
6
7
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return ApiServerMode;
|
|
15
|
-
},
|
|
16
|
-
ServerReportTimings: function() {
|
|
17
|
-
return ServerReportTimings;
|
|
18
|
-
},
|
|
19
|
-
AGGRED_DIR: function() {
|
|
20
|
-
return AGGRED_DIR;
|
|
21
|
-
},
|
|
22
|
-
ERROR_DIGEST: function() {
|
|
23
|
-
return ERROR_DIGEST;
|
|
24
|
-
},
|
|
25
|
-
ERROR_PAGE_TEXT: function() {
|
|
26
|
-
return ERROR_PAGE_TEXT;
|
|
27
|
-
},
|
|
28
|
-
RUN_MODE: function() {
|
|
29
|
-
return RUN_MODE;
|
|
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 });
|
|
30
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var constants_exports = {};
|
|
20
|
+
__export(constants_exports, {
|
|
21
|
+
AGGRED_DIR: () => AGGRED_DIR,
|
|
22
|
+
ApiServerMode: () => ApiServerMode,
|
|
23
|
+
ERROR_DIGEST: () => ERROR_DIGEST,
|
|
24
|
+
ERROR_PAGE_TEXT: () => ERROR_PAGE_TEXT,
|
|
25
|
+
RUN_MODE: () => RUN_MODE,
|
|
26
|
+
ServerReportTimings: () => ServerReportTimings
|
|
31
27
|
});
|
|
28
|
+
module.exports = __toCommonJS(constants_exports);
|
|
32
29
|
const AGGRED_DIR = {
|
|
33
30
|
mock: "config/mock",
|
|
34
31
|
server: "server",
|
|
@@ -64,3 +61,12 @@ var ServerReportTimings;
|
|
|
64
61
|
ServerReportTimings2["SERVER_HOOK_AFTER_RENDER"] = "server-hook-after-render";
|
|
65
62
|
ServerReportTimings2["SERVER_HOOK_AFTER_MATCH"] = "server-hook-after-match";
|
|
66
63
|
})(ServerReportTimings || (ServerReportTimings = {}));
|
|
64
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
65
|
+
0 && (module.exports = {
|
|
66
|
+
AGGRED_DIR,
|
|
67
|
+
ApiServerMode,
|
|
68
|
+
ERROR_DIGEST,
|
|
69
|
+
ERROR_PAGE_TEXT,
|
|
70
|
+
RUN_MODE,
|
|
71
|
+
ServerReportTimings
|
|
72
|
+
});
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,42 +1,50 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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) => {
|
|
6
7
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return _server.Server;
|
|
15
|
-
},
|
|
16
|
-
ModernServer: function() {
|
|
17
|
-
return _modernServer.ModernServer;
|
|
18
|
-
},
|
|
19
|
-
createProxyHandler: function() {
|
|
20
|
-
return _proxy.createProxyHandler;
|
|
21
|
-
},
|
|
22
|
-
createRenderHandler: function() {
|
|
23
|
-
return _render.createRenderHandler;
|
|
24
|
-
},
|
|
25
|
-
default: function() {
|
|
26
|
-
return _default;
|
|
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 });
|
|
27
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var src_exports = {};
|
|
21
|
+
__export(src_exports, {
|
|
22
|
+
ModernServer: () => import_modernServer.ModernServer,
|
|
23
|
+
Server: () => import_server.Server,
|
|
24
|
+
createProxyHandler: () => import_proxy.createProxyHandler,
|
|
25
|
+
createRenderHandler: () => import_render.createRenderHandler,
|
|
26
|
+
default: () => src_default
|
|
28
27
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
28
|
+
module.exports = __toCommonJS(src_exports);
|
|
29
|
+
var import_server = require("./server");
|
|
30
|
+
var import_modernServer = require("./server/modernServer");
|
|
31
|
+
var import_proxy = require("./libs/proxy");
|
|
32
|
+
__reExport(src_exports, require("./type"), module.exports);
|
|
33
|
+
__reExport(src_exports, require("./constants"), module.exports);
|
|
34
|
+
var import_render = require("./libs/render");
|
|
35
|
+
var src_default = (options) => {
|
|
37
36
|
if (options == null) {
|
|
38
37
|
throw new Error("can not start mserver without options");
|
|
39
38
|
}
|
|
40
|
-
const server = new
|
|
39
|
+
const server = new import_server.Server(options);
|
|
41
40
|
return server.init();
|
|
42
41
|
};
|
|
42
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
43
|
+
0 && (module.exports = {
|
|
44
|
+
ModernServer,
|
|
45
|
+
Server,
|
|
46
|
+
createProxyHandler,
|
|
47
|
+
createRenderHandler,
|
|
48
|
+
...require("./type"),
|
|
49
|
+
...require("./constants")
|
|
50
|
+
});
|
|
@@ -1,25 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
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 context_exports = {};
|
|
30
|
+
__export(context_exports, {
|
|
31
|
+
ModernServerContext: () => ModernServerContext
|
|
4
32
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const _serverTiming = require("../serverTiming");
|
|
20
|
-
const _reporter = require("../reporter");
|
|
21
|
-
const _utils1 = require("../../utils");
|
|
33
|
+
module.exports = __toCommonJS(context_exports);
|
|
34
|
+
var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
|
|
35
|
+
var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
|
|
36
|
+
var import_class_private_field_set = require("@swc/helpers/_/_class_private_field_set");
|
|
37
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
38
|
+
var import_url = require("url");
|
|
39
|
+
var import_querystring = __toESM(require("querystring"));
|
|
40
|
+
var import_buffer = require("buffer");
|
|
41
|
+
var import_etag = __toESM(require("etag"));
|
|
42
|
+
var import_fresh = __toESM(require("fresh"));
|
|
43
|
+
var import_utils = require("@modern-js/utils");
|
|
44
|
+
var import_serverTiming = require("../serverTiming");
|
|
45
|
+
var import_reporter = require("../reporter");
|
|
46
|
+
var import_utils2 = require("../../utils");
|
|
22
47
|
const MOCK_URL_BASE = "https://modernjs.dev/";
|
|
48
|
+
var _urls = /* @__PURE__ */ new WeakMap(), _queries = /* @__PURE__ */ new WeakMap();
|
|
23
49
|
class ModernServerContext {
|
|
24
50
|
get logger() {
|
|
25
51
|
return this.req.logger;
|
|
@@ -29,10 +55,15 @@ class ModernServerContext {
|
|
|
29
55
|
}
|
|
30
56
|
get parsedURL() {
|
|
31
57
|
try {
|
|
32
|
-
|
|
58
|
+
let url = (0, import_class_private_field_get._)(this, _urls).get(this.req.url);
|
|
59
|
+
if (!url) {
|
|
60
|
+
url = new import_url.URL(this.req.url, MOCK_URL_BASE);
|
|
61
|
+
(0, import_class_private_field_get._)(this, _urls).set(this.req.url, url);
|
|
62
|
+
}
|
|
63
|
+
return url;
|
|
33
64
|
} catch (e) {
|
|
34
65
|
this.logger.error("Parse URL error", e.stack || e.message);
|
|
35
|
-
return new
|
|
66
|
+
return new import_url.URL("/_modern_mock_path", MOCK_URL_BASE);
|
|
36
67
|
}
|
|
37
68
|
}
|
|
38
69
|
bind() {
|
|
@@ -54,8 +85,8 @@ class ModernServerContext {
|
|
|
54
85
|
const generateETag = !this.res.getHeader("ETag") && this.options.etag;
|
|
55
86
|
if (body !== void 0 && generateETag) {
|
|
56
87
|
const encoding = typeof body === "string" ? "utf-8" : void 0;
|
|
57
|
-
const buf = !
|
|
58
|
-
const etag = (0,
|
|
88
|
+
const buf = !import_buffer.Buffer.isBuffer(body) ? import_buffer.Buffer.from(body, encoding) : body;
|
|
89
|
+
const etag = (0, import_etag.default)(buf, {
|
|
59
90
|
weak: true
|
|
60
91
|
});
|
|
61
92
|
if (etag) {
|
|
@@ -93,7 +124,7 @@ class ModernServerContext {
|
|
|
93
124
|
return false;
|
|
94
125
|
}
|
|
95
126
|
if (status >= 200 && status < 300 || 304 === status) {
|
|
96
|
-
return (0,
|
|
127
|
+
return (0, import_fresh.default)(this.headers, {
|
|
97
128
|
etag: res.getHeader("ETag"),
|
|
98
129
|
"last-modified": res.getHeader("Last-Modified")
|
|
99
130
|
});
|
|
@@ -118,7 +149,8 @@ class ModernServerContext {
|
|
|
118
149
|
if (!host) {
|
|
119
150
|
host = this.getReqHeader("Host");
|
|
120
151
|
}
|
|
121
|
-
|
|
152
|
+
host = host.split(/\s*,\s*/, 1)[0] || "undefined";
|
|
153
|
+
return host;
|
|
122
154
|
}
|
|
123
155
|
get protocol() {
|
|
124
156
|
if (this.req.socket.encrypted) {
|
|
@@ -153,7 +185,12 @@ class ModernServerContext {
|
|
|
153
185
|
}
|
|
154
186
|
get query() {
|
|
155
187
|
const str = this.querystring;
|
|
156
|
-
|
|
188
|
+
let query = (0, import_class_private_field_get._)(this, _queries).get(str);
|
|
189
|
+
if (!query) {
|
|
190
|
+
query = import_querystring.default.parse(str);
|
|
191
|
+
(0, import_class_private_field_get._)(this, _queries).set(str, query);
|
|
192
|
+
}
|
|
193
|
+
return query;
|
|
157
194
|
}
|
|
158
195
|
/* response property */
|
|
159
196
|
get status() {
|
|
@@ -169,21 +206,34 @@ class ModernServerContext {
|
|
|
169
206
|
return this.res.writableEnded;
|
|
170
207
|
}
|
|
171
208
|
error(dig, e = "") {
|
|
172
|
-
this.logger.error(`Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, this.path, (0,
|
|
209
|
+
this.logger.error(`Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`, e instanceof Error ? e.stack || e.message : e, this.path, (0, import_utils2.headersWithoutCookie)(this.headers));
|
|
173
210
|
}
|
|
174
211
|
constructor(req, res, options) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
212
|
+
(0, import_define_property._)(this, "req", void 0);
|
|
213
|
+
(0, import_define_property._)(this, "res", void 0);
|
|
214
|
+
(0, import_define_property._)(this, "params", {});
|
|
215
|
+
(0, import_define_property._)(this, "reporter", import_reporter.defaultReporter);
|
|
216
|
+
(0, import_define_property._)(this, "serverTiming", void 0);
|
|
217
|
+
(0, import_define_property._)(this, "serverData", {});
|
|
218
|
+
(0, import_define_property._)(this, "options", {});
|
|
219
|
+
(0, import_class_private_field_init._)(this, _urls, {
|
|
220
|
+
writable: true,
|
|
221
|
+
value: void 0
|
|
222
|
+
});
|
|
223
|
+
(0, import_class_private_field_init._)(this, _queries, {
|
|
224
|
+
writable: true,
|
|
225
|
+
value: void 0
|
|
226
|
+
});
|
|
183
227
|
this.req = req;
|
|
184
228
|
this.res = res;
|
|
185
229
|
this.options = options || {};
|
|
186
230
|
this.bind();
|
|
187
|
-
|
|
231
|
+
(0, import_class_private_field_set._)(this, _urls, /* @__PURE__ */ new Map());
|
|
232
|
+
(0, import_class_private_field_set._)(this, _queries, /* @__PURE__ */ new Map());
|
|
233
|
+
this.serverTiming = new import_serverTiming.ServerTiming(this.res, (0, import_utils.cutNameByHyphen)((options === null || options === void 0 ? void 0 : options.metaName) || "modern-js"));
|
|
188
234
|
}
|
|
189
235
|
}
|
|
236
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
237
|
+
0 && (module.exports = {
|
|
238
|
+
ModernServerContext
|
|
239
|
+
});
|
|
@@ -1,21 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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) => {
|
|
6
7
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return createContext;
|
|
15
|
-
},
|
|
16
|
-
ModernServerContext: function() {
|
|
17
|
-
return _context.ModernServerContext;
|
|
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 });
|
|
18
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var context_exports = {};
|
|
20
|
+
__export(context_exports, {
|
|
21
|
+
ModernServerContext: () => import_context.ModernServerContext,
|
|
22
|
+
createContext: () => createContext
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(context_exports);
|
|
25
|
+
var import_context = require("./context");
|
|
26
|
+
const createContext = (req, res, options) => new import_context.ModernServerContext(req, res, options);
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
ModernServerContext,
|
|
30
|
+
createContext
|
|
19
31
|
});
|
|
20
|
-
const _context = require("./context");
|
|
21
|
-
const createContext = (req, res, options) => new _context.ModernServerContext(req, res, options);
|
|
@@ -1,25 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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) => {
|
|
6
9
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return BaseResponse;
|
|
15
|
-
},
|
|
16
|
-
BaseRequest: function() {
|
|
17
|
-
return BaseRequest;
|
|
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 });
|
|
18
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 base_exports = {};
|
|
30
|
+
__export(base_exports, {
|
|
31
|
+
BaseRequest: () => BaseRequest,
|
|
32
|
+
BaseResponse: () => BaseResponse
|
|
19
33
|
});
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
34
|
+
module.exports = __toCommonJS(base_exports);
|
|
35
|
+
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
36
|
+
var import_cookie = __toESM(require("cookie"));
|
|
23
37
|
class BaseResponse {
|
|
24
38
|
get(key) {
|
|
25
39
|
return this.res.getHeader(key);
|
|
@@ -35,7 +49,7 @@ class BaseResponse {
|
|
|
35
49
|
const fmt = Array.isArray(cookieValue) ? cookieValue : [
|
|
36
50
|
cookieValue
|
|
37
51
|
].filter(Boolean);
|
|
38
|
-
fmt.push(
|
|
52
|
+
fmt.push(import_cookie.default.serialize(key, value, options));
|
|
39
53
|
this.res.setHeader("set-cookie", fmt.length === 1 ? fmt[0] : fmt);
|
|
40
54
|
}
|
|
41
55
|
clearCookie() {
|
|
@@ -52,8 +66,8 @@ class BaseResponse {
|
|
|
52
66
|
this.res.end(body);
|
|
53
67
|
}
|
|
54
68
|
constructor(res) {
|
|
55
|
-
|
|
56
|
-
|
|
69
|
+
(0, import_define_property._)(this, "cookies", void 0);
|
|
70
|
+
(0, import_define_property._)(this, "res", void 0);
|
|
57
71
|
this.res = res;
|
|
58
72
|
this.cookies = {
|
|
59
73
|
set: this.setCookie.bind(this),
|
|
@@ -66,23 +80,28 @@ class BaseRequest {
|
|
|
66
80
|
return this._cookie[key];
|
|
67
81
|
}
|
|
68
82
|
constructor(request) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
(0, import_define_property._)(this, "url", void 0);
|
|
84
|
+
(0, import_define_property._)(this, "host", void 0);
|
|
85
|
+
(0, import_define_property._)(this, "pathname", void 0);
|
|
86
|
+
(0, import_define_property._)(this, "query", void 0);
|
|
87
|
+
(0, import_define_property._)(this, "headers", void 0);
|
|
88
|
+
(0, import_define_property._)(this, "cookie", void 0);
|
|
89
|
+
(0, import_define_property._)(this, "cookies", void 0);
|
|
90
|
+
(0, import_define_property._)(this, "_cookie", void 0);
|
|
77
91
|
this.url = request.url;
|
|
78
92
|
this.host = request.host;
|
|
79
93
|
this.pathname = request.path;
|
|
80
94
|
this.query = request.query;
|
|
81
95
|
this.headers = request.headers;
|
|
82
96
|
this.cookie = request.headers.cookie || "";
|
|
83
|
-
this._cookie =
|
|
97
|
+
this._cookie = import_cookie.default.parse(this.cookie);
|
|
84
98
|
this.cookies = {
|
|
85
99
|
get: this.getCookie.bind(this)
|
|
86
100
|
};
|
|
87
101
|
}
|
|
88
102
|
}
|
|
103
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
104
|
+
0 && (module.exports = {
|
|
105
|
+
BaseRequest,
|
|
106
|
+
BaseResponse
|
|
107
|
+
});
|
|
@@ -1,36 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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) => {
|
|
6
7
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
return base;
|
|
15
|
-
},
|
|
16
|
-
createAfterMatchContext: function() {
|
|
17
|
-
return createAfterMatchContext;
|
|
18
|
-
},
|
|
19
|
-
createAfterRenderContext: function() {
|
|
20
|
-
return createAfterRenderContext;
|
|
21
|
-
},
|
|
22
|
-
createMiddlewareContext: function() {
|
|
23
|
-
return createMiddlewareContext;
|
|
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 });
|
|
24
15
|
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var hook_api_exports = {};
|
|
20
|
+
__export(hook_api_exports, {
|
|
21
|
+
base: () => base,
|
|
22
|
+
createAfterMatchContext: () => createAfterMatchContext,
|
|
23
|
+
createAfterRenderContext: () => createAfterRenderContext,
|
|
24
|
+
createMiddlewareContext: () => createMiddlewareContext
|
|
25
25
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
26
|
+
module.exports = __toCommonJS(hook_api_exports);
|
|
27
|
+
var import_route = require("./route");
|
|
28
|
+
var import_template = require("./template");
|
|
29
|
+
var import_base = require("./base");
|
|
29
30
|
const base = (context) => {
|
|
30
31
|
const { res, reporter } = context;
|
|
31
32
|
return {
|
|
32
|
-
response: new
|
|
33
|
-
request: new
|
|
33
|
+
response: new import_base.BaseResponse(res),
|
|
34
|
+
request: new import_base.BaseRequest(context),
|
|
34
35
|
reporter,
|
|
35
36
|
logger: context.logger,
|
|
36
37
|
metrics: context.metrics
|
|
@@ -40,14 +41,14 @@ const createAfterMatchContext = (context, entryName) => {
|
|
|
40
41
|
const baseContext = base(context);
|
|
41
42
|
return {
|
|
42
43
|
...baseContext,
|
|
43
|
-
router: new
|
|
44
|
+
router: new import_route.RouteAPI(entryName)
|
|
44
45
|
};
|
|
45
46
|
};
|
|
46
47
|
const createAfterRenderContext = (context, content) => {
|
|
47
48
|
const baseContext = base(context);
|
|
48
49
|
return {
|
|
49
50
|
...baseContext,
|
|
50
|
-
template: new
|
|
51
|
+
template: new import_template.TemplateAPI(content)
|
|
51
52
|
};
|
|
52
53
|
};
|
|
53
54
|
const createMiddlewareContext = (context) => {
|
|
@@ -62,3 +63,10 @@ const createMiddlewareContext = (context) => {
|
|
|
62
63
|
}
|
|
63
64
|
};
|
|
64
65
|
};
|
|
66
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
67
|
+
0 && (module.exports = {
|
|
68
|
+
base,
|
|
69
|
+
createAfterMatchContext,
|
|
70
|
+
createAfterRenderContext,
|
|
71
|
+
createMiddlewareContext
|
|
72
|
+
});
|