@modern-js/prod-server 2.15.0 → 2.16.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/CHANGELOG.md +14 -0
- package/dist/cjs/constants.js +15 -31
- package/dist/cjs/index.js +35 -37
- package/dist/cjs/libs/context/context.js +53 -66
- package/dist/cjs/libs/context/index.js +15 -28
- package/dist/cjs/libs/hook-api/index.js +59 -54
- package/dist/cjs/libs/hook-api/route.js +28 -30
- package/dist/cjs/libs/hook-api/template.js +30 -34
- package/dist/cjs/libs/loadConfig.js +74 -65
- package/dist/cjs/libs/logger.js +46 -37
- package/dist/cjs/libs/metrics.js +7 -25
- package/dist/cjs/libs/proxy.js +29 -46
- package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +48 -64
- package/dist/cjs/libs/render/cache/__tests__/cache.test.js +53 -37
- package/dist/cjs/libs/render/cache/__tests__/cacheable.js +38 -34
- package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +22 -30
- package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +86 -46
- package/dist/cjs/libs/render/cache/index.js +17 -37
- package/dist/cjs/libs/render/cache/page-caches/index.js +12 -28
- package/dist/cjs/libs/render/cache/page-caches/lru.js +32 -40
- package/dist/cjs/libs/render/cache/spr.js +104 -111
- package/dist/cjs/libs/render/cache/type.js +4 -15
- package/dist/cjs/libs/render/cache/util.js +29 -53
- package/dist/cjs/libs/render/index.js +75 -73
- package/dist/cjs/libs/render/measure.js +19 -34
- package/dist/cjs/libs/render/reader.js +52 -61
- package/dist/cjs/libs/render/ssr.js +34 -66
- package/dist/cjs/libs/render/static.js +22 -45
- package/dist/cjs/libs/render/type.js +10 -28
- package/dist/cjs/libs/render/utils.js +17 -38
- package/dist/cjs/libs/route/index.js +32 -31
- package/dist/cjs/libs/route/matcher.js +38 -38
- package/dist/cjs/libs/route/route.js +29 -26
- package/dist/cjs/libs/serveFile.js +23 -41
- package/dist/cjs/server/index.js +101 -107
- package/dist/cjs/server/modernServer.js +191 -171
- package/dist/cjs/server/modernServerSplit.js +12 -30
- package/dist/cjs/type.js +4 -15
- package/dist/cjs/utils.js +50 -50
- package/dist/cjs/workerServer.js +26 -36
- package/dist/esm/constants.js +24 -25
- package/dist/esm/index.js +11 -10
- package/dist/esm/libs/context/context.js +271 -264
- package/dist/esm/libs/context/index.js +3 -3
- package/dist/esm/libs/hook-api/index.js +237 -223
- package/dist/esm/libs/hook-api/route.js +62 -60
- package/dist/esm/libs/hook-api/template.js +117 -115
- package/dist/esm/libs/loadConfig.js +68 -69
- package/dist/esm/libs/logger.js +188 -174
- package/dist/esm/libs/metrics.js +6 -3
- package/dist/esm/libs/proxy.js +236 -221
- package/dist/esm/libs/render/cache/__tests__/cache.fun.test.js +286 -267
- package/dist/esm/libs/render/cache/__tests__/cache.test.js +765 -745
- package/dist/esm/libs/render/cache/__tests__/cacheable.js +62 -63
- package/dist/esm/libs/render/cache/__tests__/error-configuration.js +42 -43
- package/dist/esm/libs/render/cache/__tests__/matched-cache.js +134 -135
- package/dist/esm/libs/render/cache/index.js +337 -326
- package/dist/esm/libs/render/cache/page-caches/index.js +147 -141
- package/dist/esm/libs/render/cache/page-caches/lru.js +78 -76
- package/dist/esm/libs/render/cache/spr.js +465 -456
- package/dist/esm/libs/render/cache/type.js +1 -1
- package/dist/esm/libs/render/cache/util.js +266 -246
- package/dist/esm/libs/render/index.js +226 -218
- package/dist/esm/libs/render/measure.js +136 -128
- package/dist/esm/libs/render/reader.js +315 -304
- package/dist/esm/libs/render/ssr.js +214 -209
- package/dist/esm/libs/render/static.js +208 -198
- package/dist/esm/libs/render/type.js +6 -7
- package/dist/esm/libs/render/utils.js +8 -9
- package/dist/esm/libs/route/index.js +134 -123
- package/dist/esm/libs/route/matcher.js +140 -130
- package/dist/esm/libs/route/route.js +36 -37
- package/dist/esm/libs/serveFile.js +177 -168
- package/dist/esm/server/index.js +578 -549
- package/dist/esm/server/modernServer.js +1137 -1074
- package/dist/esm/server/modernServerSplit.js +344 -328
- package/dist/esm/type.js +1 -1
- package/dist/esm/utils.js +133 -124
- package/dist/esm/workerServer.js +226 -220
- package/dist/esm-node/constants.js +7 -14
- package/dist/esm-node/index.js +4 -9
- package/dist/esm-node/libs/context/context.js +32 -25
- package/dist/esm-node/libs/context/index.js +2 -5
- package/dist/esm-node/libs/hook-api/index.js +40 -21
- package/dist/esm-node/libs/hook-api/route.js +21 -8
- package/dist/esm-node/libs/hook-api/template.js +19 -14
- package/dist/esm-node/libs/loadConfig.js +11 -28
- package/dist/esm-node/libs/logger.js +37 -17
- package/dist/esm-node/libs/metrics.js +1 -3
- package/dist/esm-node/libs/proxy.js +14 -22
- package/dist/esm-node/libs/render/cache/__tests__/cache.fun.test.js +25 -36
- package/dist/esm-node/libs/render/cache/__tests__/cache.test.js +23 -11
- package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +32 -13
- package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +16 -9
- package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +80 -25
- package/dist/esm-node/libs/render/cache/index.js +3 -10
- package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -5
- package/dist/esm-node/libs/render/cache/page-caches/lru.js +20 -8
- package/dist/esm-node/libs/render/cache/spr.js +79 -80
- package/dist/esm-node/libs/render/cache/type.js +1 -0
- package/dist/esm-node/libs/render/cache/util.js +13 -23
- package/dist/esm-node/libs/render/index.js +10 -28
- package/dist/esm-node/libs/render/measure.js +7 -13
- package/dist/esm-node/libs/render/reader.js +31 -26
- package/dist/esm-node/libs/render/ssr.js +5 -21
- package/dist/esm-node/libs/render/static.js +1 -4
- package/dist/esm-node/libs/render/type.js +3 -6
- package/dist/esm-node/libs/render/utils.js +6 -18
- package/dist/esm-node/libs/route/index.js +20 -9
- package/dist/esm-node/libs/route/matcher.js +28 -17
- package/dist/esm-node/libs/route/route.js +23 -5
- package/dist/esm-node/libs/serveFile.js +2 -6
- package/dist/esm-node/server/index.js +72 -75
- package/dist/esm-node/server/modernServer.js +102 -130
- package/dist/esm-node/server/modernServerSplit.js +1 -4
- package/dist/esm-node/type.js +1 -0
- package/dist/esm-node/utils.js +41 -32
- package/dist/esm-node/workerServer.js +9 -10
- package/dist/types/libs/context/context.d.ts +1 -1
- package/dist/types/server/modernServer.d.ts +1 -1
- package/dist/types/utils.d.ts +1 -1
- package/package.json +12 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @modern-js/prod-server
|
|
2
2
|
|
|
3
|
+
## 2.16.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 4e876ab: chore: package.json include the monorepo-relative directory
|
|
8
|
+
|
|
9
|
+
chore: 在 package.json 中声明 monorepo 的子路径
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [5954330]
|
|
12
|
+
- Updated dependencies [7596520]
|
|
13
|
+
- Updated dependencies [4e876ab]
|
|
14
|
+
- @modern-js/utils@2.16.0
|
|
15
|
+
- @modern-js/server-core@2.16.0
|
|
16
|
+
|
|
3
17
|
## 2.15.0
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/dist/cjs/constants.js
CHANGED
|
@@ -1,29 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
6
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var constants_exports = {};
|
|
19
|
-
__export(constants_exports, {
|
|
20
|
-
AGGRED_DIR: () => AGGRED_DIR,
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
21
13
|
ApiServerMode: () => ApiServerMode,
|
|
14
|
+
AGGRED_DIR: () => AGGRED_DIR,
|
|
22
15
|
ERROR_DIGEST: () => ERROR_DIGEST,
|
|
23
16
|
ERROR_PAGE_TEXT: () => ERROR_PAGE_TEXT,
|
|
24
17
|
RUN_MODE: () => RUN_MODE
|
|
25
18
|
});
|
|
26
|
-
module.exports = __toCommonJS(constants_exports);
|
|
27
19
|
const AGGRED_DIR = {
|
|
28
20
|
mock: "config/mock",
|
|
29
21
|
server: "server",
|
|
@@ -31,11 +23,11 @@ const AGGRED_DIR = {
|
|
|
31
23
|
shared: "shared",
|
|
32
24
|
lambda: "lambda"
|
|
33
25
|
};
|
|
34
|
-
var ApiServerMode
|
|
26
|
+
var ApiServerMode;
|
|
27
|
+
(function(ApiServerMode2) {
|
|
35
28
|
ApiServerMode2["func"] = "function";
|
|
36
29
|
ApiServerMode2["frame"] = "framework";
|
|
37
|
-
|
|
38
|
-
})(ApiServerMode || {});
|
|
30
|
+
})(ApiServerMode || (ApiServerMode = {}));
|
|
39
31
|
const ERROR_DIGEST = {
|
|
40
32
|
INIT: "Server init error",
|
|
41
33
|
ENOTF: "Page could not be found",
|
|
@@ -52,11 +44,3 @@ const RUN_MODE = {
|
|
|
52
44
|
FULL: "full",
|
|
53
45
|
TYPE: "type"
|
|
54
46
|
};
|
|
55
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
56
|
-
0 && (module.exports = {
|
|
57
|
-
AGGRED_DIR,
|
|
58
|
-
ApiServerMode,
|
|
59
|
-
ERROR_DIGEST,
|
|
60
|
-
ERROR_PAGE_TEXT,
|
|
61
|
-
RUN_MODE
|
|
62
|
-
});
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,44 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
6
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var src_exports = {};
|
|
20
|
-
__export(src_exports, {
|
|
21
|
-
ModernServer: () => import_modernServer.ModernServer,
|
|
22
|
-
Server: () => import_server.Server,
|
|
23
|
-
createProxyHandler: () => import_proxy.createProxyHandler,
|
|
24
|
-
default: () => src_default
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
Server: () => _server.Server,
|
|
14
|
+
ModernServer: () => _modernServer.ModernServer,
|
|
15
|
+
createProxyHandler: () => _proxy.createProxyHandler,
|
|
16
|
+
default: () => _default
|
|
25
17
|
});
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
18
|
+
const _server = require("./server");
|
|
19
|
+
const _modernServer = require("./server/modernServer");
|
|
20
|
+
const _proxy = require("./libs/proxy");
|
|
21
|
+
_export_star(require("./type"), exports);
|
|
22
|
+
_export_star(require("./constants"), exports);
|
|
23
|
+
function _export_star(from, to) {
|
|
24
|
+
Object.keys(from).forEach(function(k) {
|
|
25
|
+
if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
|
|
26
|
+
Object.defineProperty(to, k, {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function() {
|
|
29
|
+
return from[k];
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
return from;
|
|
35
|
+
}
|
|
36
|
+
const _default = (options) => {
|
|
33
37
|
if (options == null) {
|
|
34
38
|
throw new Error("can not start mserver without options");
|
|
35
39
|
}
|
|
36
|
-
const server = new
|
|
40
|
+
const server = new _server.Server(options);
|
|
37
41
|
return server.init();
|
|
38
42
|
};
|
|
39
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
40
|
-
0 && (module.exports = {
|
|
41
|
-
ModernServer,
|
|
42
|
-
Server,
|
|
43
|
-
createProxyHandler
|
|
44
|
-
});
|
|
@@ -1,55 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var context_exports = {};
|
|
29
|
-
__export(context_exports, {
|
|
30
|
-
ModernServerContext: () => ModernServerContext
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
31
4
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
5
|
+
Object.defineProperty(exports, "ModernServerContext", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => ModernServerContext
|
|
8
|
+
});
|
|
9
|
+
const _url = require("url");
|
|
10
|
+
const _querystring = /* @__PURE__ */ _interop_require_default(require("querystring"));
|
|
11
|
+
const _buffer = require("buffer");
|
|
12
|
+
const _etag = /* @__PURE__ */ _interop_require_default(require("etag"));
|
|
13
|
+
const _fresh = /* @__PURE__ */ _interop_require_default(require("fresh"));
|
|
14
|
+
const _utils = require("../../utils");
|
|
15
|
+
function _define_property(obj, key, value) {
|
|
16
|
+
if (key in obj) {
|
|
17
|
+
Object.defineProperty(obj, key, {
|
|
18
|
+
value,
|
|
19
|
+
enumerable: true,
|
|
20
|
+
configurable: true,
|
|
21
|
+
writable: true
|
|
22
|
+
});
|
|
23
|
+
} else {
|
|
24
|
+
obj[key] = value;
|
|
25
|
+
}
|
|
26
|
+
return obj;
|
|
27
|
+
}
|
|
28
|
+
function _interop_require_default(obj) {
|
|
29
|
+
return obj && obj.__esModule ? obj : {
|
|
30
|
+
default: obj
|
|
31
|
+
};
|
|
32
|
+
}
|
|
39
33
|
const MOCK_URL_BASE = "https://modernjs.dev/";
|
|
40
34
|
class ModernServerContext {
|
|
41
|
-
constructor(req, res, options) {
|
|
42
|
-
/**
|
|
43
|
-
* url params
|
|
44
|
-
*/
|
|
45
|
-
this.params = {};
|
|
46
|
-
this.options = {};
|
|
47
|
-
this.req = req;
|
|
48
|
-
this.res = res;
|
|
49
|
-
this.options = options || {};
|
|
50
|
-
this.serverData = {};
|
|
51
|
-
this.bind();
|
|
52
|
-
}
|
|
53
35
|
get logger() {
|
|
54
36
|
return this.req.logger;
|
|
55
37
|
}
|
|
@@ -57,7 +39,7 @@ class ModernServerContext {
|
|
|
57
39
|
return this.req.metrics;
|
|
58
40
|
}
|
|
59
41
|
get parsedURL() {
|
|
60
|
-
const url = new
|
|
42
|
+
const url = new _url.URL(this.req.url, MOCK_URL_BASE);
|
|
61
43
|
return url;
|
|
62
44
|
}
|
|
63
45
|
bind() {
|
|
@@ -74,8 +56,10 @@ class ModernServerContext {
|
|
|
74
56
|
const generateETag = !this.res.getHeader("ETag") && this.options.etag;
|
|
75
57
|
if (body !== void 0 && generateETag) {
|
|
76
58
|
const encoding = typeof body === "string" ? "utf-8" : void 0;
|
|
77
|
-
const buf = !
|
|
78
|
-
const etag = (0,
|
|
59
|
+
const buf = !_buffer.Buffer.isBuffer(body) ? _buffer.Buffer.from(body, encoding) : body;
|
|
60
|
+
const etag = (0, _etag.default)(buf, {
|
|
61
|
+
weak: true
|
|
62
|
+
});
|
|
79
63
|
if (etag) {
|
|
80
64
|
this.res.setHeader("ETag", etag);
|
|
81
65
|
}
|
|
@@ -111,7 +95,7 @@ class ModernServerContext {
|
|
|
111
95
|
return false;
|
|
112
96
|
}
|
|
113
97
|
if (status >= 200 && status < 300 || 304 === status) {
|
|
114
|
-
return (0,
|
|
98
|
+
return (0, _fresh.default)(this.headers, {
|
|
115
99
|
etag: res.getHeader("ETag"),
|
|
116
100
|
"last-modified": res.getHeader("Last-Modified")
|
|
117
101
|
});
|
|
@@ -171,7 +155,7 @@ class ModernServerContext {
|
|
|
171
155
|
}
|
|
172
156
|
get query() {
|
|
173
157
|
const str = this.querystring;
|
|
174
|
-
return
|
|
158
|
+
return _querystring.default.parse(str);
|
|
175
159
|
}
|
|
176
160
|
/* response property */
|
|
177
161
|
get status() {
|
|
@@ -181,21 +165,24 @@ class ModernServerContext {
|
|
|
181
165
|
this.res.statusCode = statusCode;
|
|
182
166
|
}
|
|
183
167
|
/**
|
|
184
|
-
|
|
185
|
-
|
|
168
|
+
* 判断链接是否已经关闭
|
|
169
|
+
*/
|
|
186
170
|
resHasHandled() {
|
|
187
171
|
return this.res.writableEnded;
|
|
188
172
|
}
|
|
189
173
|
error(dig, e = "") {
|
|
190
|
-
this.logger.error(
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
);
|
|
174
|
+
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, _utils.headersWithoutCookie)(this.headers));
|
|
175
|
+
}
|
|
176
|
+
constructor(req, res, options) {
|
|
177
|
+
_define_property(this, "req", void 0);
|
|
178
|
+
_define_property(this, "res", void 0);
|
|
179
|
+
_define_property(this, "params", {});
|
|
180
|
+
_define_property(this, "serverData", void 0);
|
|
181
|
+
_define_property(this, "options", {});
|
|
182
|
+
this.req = req;
|
|
183
|
+
this.res = res;
|
|
184
|
+
this.options = options || {};
|
|
185
|
+
this.serverData = {};
|
|
186
|
+
this.bind();
|
|
196
187
|
}
|
|
197
188
|
}
|
|
198
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
199
|
-
0 && (module.exports = {
|
|
200
|
-
ModernServerContext
|
|
201
|
-
});
|
|
@@ -1,30 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var context_exports = {};
|
|
19
|
-
__export(context_exports, {
|
|
20
|
-
ModernServerContext: () => import_context.ModernServerContext,
|
|
21
|
-
createContext: () => createContext
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
22
4
|
});
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
createContext: () => createContext,
|
|
14
|
+
ModernServerContext: () => _context.ModernServerContext
|
|
30
15
|
});
|
|
16
|
+
const _context = require("./context");
|
|
17
|
+
const createContext = (req, res, options) => new _context.ModernServerContext(req, res, options);
|
|
@@ -1,49 +1,42 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
8
6
|
for (var name in all)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var hook_api_exports = {};
|
|
29
|
-
__export(hook_api_exports, {
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
30
13
|
base: () => base,
|
|
31
14
|
createAfterMatchContext: () => createAfterMatchContext,
|
|
32
15
|
createAfterRenderContext: () => createAfterRenderContext,
|
|
33
16
|
createMiddlewareContext: () => createMiddlewareContext
|
|
34
17
|
});
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
};
|
|
18
|
+
const _cookie = /* @__PURE__ */ _interop_require_default(require("cookie"));
|
|
19
|
+
const _route = require("./route");
|
|
20
|
+
const _template = require("./template");
|
|
21
|
+
function _define_property(obj, key, value) {
|
|
22
|
+
if (key in obj) {
|
|
23
|
+
Object.defineProperty(obj, key, {
|
|
24
|
+
value,
|
|
25
|
+
enumerable: true,
|
|
26
|
+
configurable: true,
|
|
27
|
+
writable: true
|
|
28
|
+
});
|
|
29
|
+
} else {
|
|
30
|
+
obj[key] = value;
|
|
46
31
|
}
|
|
32
|
+
return obj;
|
|
33
|
+
}
|
|
34
|
+
function _interop_require_default(obj) {
|
|
35
|
+
return obj && obj.__esModule ? obj : {
|
|
36
|
+
default: obj
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
class Response {
|
|
47
40
|
get(key) {
|
|
48
41
|
return this.res.getHeader(key);
|
|
49
42
|
}
|
|
@@ -55,8 +48,10 @@ class Response {
|
|
|
55
48
|
}
|
|
56
49
|
setCookie(key, value, options) {
|
|
57
50
|
const cookieValue = this.res.getHeader("set-cookie");
|
|
58
|
-
const fmt = Array.isArray(cookieValue) ? cookieValue : [
|
|
59
|
-
|
|
51
|
+
const fmt = Array.isArray(cookieValue) ? cookieValue : [
|
|
52
|
+
cookieValue
|
|
53
|
+
].filter(Boolean);
|
|
54
|
+
fmt.push(_cookie.default.serialize(key, value, options));
|
|
60
55
|
this.res.setHeader("set-cookie", fmt.length === 1 ? fmt[0] : fmt);
|
|
61
56
|
}
|
|
62
57
|
clearCookie() {
|
|
@@ -72,23 +67,40 @@ class Response {
|
|
|
72
67
|
}
|
|
73
68
|
this.res.end(body);
|
|
74
69
|
}
|
|
70
|
+
constructor(res) {
|
|
71
|
+
_define_property(this, "cookies", void 0);
|
|
72
|
+
_define_property(this, "res", void 0);
|
|
73
|
+
this.res = res;
|
|
74
|
+
this.cookies = {
|
|
75
|
+
set: this.setCookie.bind(this),
|
|
76
|
+
clear: this.clearCookie.bind(this)
|
|
77
|
+
};
|
|
78
|
+
}
|
|
75
79
|
}
|
|
76
80
|
class Request {
|
|
81
|
+
getCookie(key) {
|
|
82
|
+
return this._cookie[key];
|
|
83
|
+
}
|
|
77
84
|
constructor(ctx) {
|
|
85
|
+
_define_property(this, "url", void 0);
|
|
86
|
+
_define_property(this, "host", void 0);
|
|
87
|
+
_define_property(this, "pathname", void 0);
|
|
88
|
+
_define_property(this, "query", void 0);
|
|
89
|
+
_define_property(this, "headers", void 0);
|
|
90
|
+
_define_property(this, "cookie", void 0);
|
|
91
|
+
_define_property(this, "cookies", void 0);
|
|
92
|
+
_define_property(this, "_cookie", void 0);
|
|
78
93
|
this.url = ctx.url;
|
|
79
94
|
this.host = ctx.host;
|
|
80
95
|
this.pathname = ctx.path;
|
|
81
96
|
this.query = ctx.query;
|
|
82
97
|
this.headers = ctx.headers;
|
|
83
98
|
this.cookie = ctx.headers.cookie || "";
|
|
84
|
-
this._cookie =
|
|
99
|
+
this._cookie = _cookie.default.parse(this.cookie);
|
|
85
100
|
this.cookies = {
|
|
86
101
|
get: this.getCookie.bind(this)
|
|
87
102
|
};
|
|
88
103
|
}
|
|
89
|
-
getCookie(key) {
|
|
90
|
-
return this._cookie[key];
|
|
91
|
-
}
|
|
92
104
|
}
|
|
93
105
|
const base = (context) => {
|
|
94
106
|
const { res } = context;
|
|
@@ -103,14 +115,14 @@ const createAfterMatchContext = (context, entryName) => {
|
|
|
103
115
|
const baseContext = base(context);
|
|
104
116
|
return {
|
|
105
117
|
...baseContext,
|
|
106
|
-
router: new
|
|
118
|
+
router: new _route.RouteAPI(entryName)
|
|
107
119
|
};
|
|
108
120
|
};
|
|
109
121
|
const createAfterRenderContext = (context, content) => {
|
|
110
122
|
const baseContext = base(context);
|
|
111
123
|
return {
|
|
112
124
|
...baseContext,
|
|
113
|
-
template: new
|
|
125
|
+
template: new _template.TemplateAPI(content)
|
|
114
126
|
};
|
|
115
127
|
};
|
|
116
128
|
const createMiddlewareContext = (context) => {
|
|
@@ -127,10 +139,3 @@ const createMiddlewareContext = (context) => {
|
|
|
127
139
|
}
|
|
128
140
|
};
|
|
129
141
|
};
|
|
130
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
131
|
-
0 && (module.exports = {
|
|
132
|
-
base,
|
|
133
|
-
createAfterMatchContext,
|
|
134
|
-
createAfterRenderContext,
|
|
135
|
-
createMiddlewareContext
|
|
136
|
-
});
|
|
@@ -1,31 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var route_exports = {};
|
|
19
|
-
__export(route_exports, {
|
|
20
|
-
RouteAPI: () => RouteAPI
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
21
4
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
5
|
+
Object.defineProperty(exports, "RouteAPI", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: () => RouteAPI
|
|
8
|
+
});
|
|
9
|
+
function _define_property(obj, key, value) {
|
|
10
|
+
if (key in obj) {
|
|
11
|
+
Object.defineProperty(obj, key, {
|
|
12
|
+
value,
|
|
13
|
+
enumerable: true,
|
|
14
|
+
configurable: true,
|
|
15
|
+
writable: true
|
|
16
|
+
});
|
|
17
|
+
} else {
|
|
18
|
+
obj[key] = value;
|
|
28
19
|
}
|
|
20
|
+
return obj;
|
|
21
|
+
}
|
|
22
|
+
class RouteAPI {
|
|
29
23
|
redirect(url, status = 302) {
|
|
30
24
|
this.url = url;
|
|
31
25
|
this.status = status;
|
|
@@ -36,8 +30,12 @@ class RouteAPI {
|
|
|
36
30
|
use(entryName) {
|
|
37
31
|
this.rewrite(entryName);
|
|
38
32
|
}
|
|
33
|
+
constructor(entryName) {
|
|
34
|
+
_define_property(this, "current", void 0);
|
|
35
|
+
_define_property(this, "status", void 0);
|
|
36
|
+
_define_property(this, "url", void 0);
|
|
37
|
+
this.current = entryName;
|
|
38
|
+
this.status = 200;
|
|
39
|
+
this.url = "";
|
|
40
|
+
}
|
|
39
41
|
}
|
|
40
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
41
|
-
0 && (module.exports = {
|
|
42
|
-
RouteAPI
|
|
43
|
-
});
|