@modern-js/prod-server 2.48.0 → 2.48.1
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/libs/context/context.js +4 -8
- package/dist/cjs/libs/hook-api/base.js +0 -11
- package/dist/cjs/libs/hook-api/index.worker.js +0 -3
- package/dist/cjs/libs/hook-api/route.js +0 -4
- package/dist/cjs/libs/hook-api/template.js +0 -2
- package/dist/cjs/libs/render/ssrCache/cacheMod.js +0 -5
- package/dist/cjs/libs/render/ssrCache/manager.js +2 -3
- package/dist/cjs/libs/route/index.js +1 -3
- package/dist/cjs/libs/route/matcher.js +1 -5
- package/dist/cjs/libs/route/route.js +1 -10
- package/dist/cjs/libs/serverTiming.js +0 -3
- package/dist/cjs/renderHtml.js +0 -7
- package/dist/cjs/server/index.js +1 -7
- package/dist/cjs/server/modernServer.js +4 -20
- package/dist/cjs/workerServer.js +4 -8
- package/dist/esm/libs/context/context.js +66 -98
- package/dist/esm/libs/hook-api/base.js +36 -71
- package/dist/esm/libs/hook-api/index.worker.js +15 -29
- package/dist/esm/libs/hook-api/route.js +12 -27
- package/dist/esm/libs/hook-api/template.js +33 -61
- package/dist/esm/libs/render/ssrCache/cacheMod.js +10 -18
- package/dist/esm/libs/render/ssrCache/manager.js +145 -157
- package/dist/esm/libs/route/index.js +62 -96
- package/dist/esm/libs/route/matcher.js +58 -94
- package/dist/esm/libs/route/route.js +1 -10
- package/dist/esm/libs/serverTiming.js +8 -16
- package/dist/esm/renderHtml.js +22 -39
- package/dist/esm/server/index.js +307 -383
- package/dist/esm/server/modernServer.js +802 -942
- package/dist/esm/server/modernServerSplit.js +61 -86
- package/dist/esm/workerServer.js +87 -82
- package/dist/esm-node/libs/context/context.js +4 -8
- package/dist/esm-node/libs/hook-api/base.js +0 -11
- package/dist/esm-node/libs/hook-api/index.worker.js +0 -3
- package/dist/esm-node/libs/hook-api/route.js +0 -4
- package/dist/esm-node/libs/hook-api/template.js +0 -2
- package/dist/esm-node/libs/render/ssrCache/cacheMod.js +0 -5
- package/dist/esm-node/libs/render/ssrCache/manager.js +2 -3
- package/dist/esm-node/libs/route/index.js +1 -3
- package/dist/esm-node/libs/route/matcher.js +1 -5
- package/dist/esm-node/libs/route/route.js +1 -10
- package/dist/esm-node/libs/serverTiming.js +0 -3
- package/dist/esm-node/renderHtml.js +0 -7
- package/dist/esm-node/server/index.js +1 -7
- package/dist/esm-node/server/modernServer.js +4 -20
- package/dist/esm-node/workerServer.js +4 -8
- package/package.json +8 -8
|
@@ -34,7 +34,6 @@ module.exports = __toCommonJS(context_exports);
|
|
|
34
34
|
var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
|
|
35
35
|
var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
|
|
36
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
37
|
var import_url = require("url");
|
|
39
38
|
var import_querystring = __toESM(require("querystring"));
|
|
40
39
|
var import_buffer = require("buffer");
|
|
@@ -209,13 +208,6 @@ class ModernServerContext {
|
|
|
209
208
|
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));
|
|
210
209
|
}
|
|
211
210
|
constructor(req, res, options) {
|
|
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
211
|
(0, import_class_private_field_init._)(this, _urls, {
|
|
220
212
|
writable: true,
|
|
221
213
|
value: void 0
|
|
@@ -224,6 +216,10 @@ class ModernServerContext {
|
|
|
224
216
|
writable: true,
|
|
225
217
|
value: void 0
|
|
226
218
|
});
|
|
219
|
+
this.params = {};
|
|
220
|
+
this.reporter = import_reporter.defaultReporter;
|
|
221
|
+
this.serverData = {};
|
|
222
|
+
this.options = {};
|
|
227
223
|
this.req = req;
|
|
228
224
|
this.res = res;
|
|
229
225
|
this.options = options || {};
|
|
@@ -32,7 +32,6 @@ __export(base_exports, {
|
|
|
32
32
|
BaseResponse: () => BaseResponse
|
|
33
33
|
});
|
|
34
34
|
module.exports = __toCommonJS(base_exports);
|
|
35
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
36
35
|
var import_cookie = __toESM(require("cookie"));
|
|
37
36
|
class BaseResponse {
|
|
38
37
|
get(key) {
|
|
@@ -66,8 +65,6 @@ class BaseResponse {
|
|
|
66
65
|
this.res.end(body);
|
|
67
66
|
}
|
|
68
67
|
constructor(res) {
|
|
69
|
-
(0, import_define_property._)(this, "cookies", void 0);
|
|
70
|
-
(0, import_define_property._)(this, "res", void 0);
|
|
71
68
|
this.res = res;
|
|
72
69
|
this.cookies = {
|
|
73
70
|
set: this.setCookie.bind(this),
|
|
@@ -80,14 +77,6 @@ class BaseRequest {
|
|
|
80
77
|
return this._cookie[key];
|
|
81
78
|
}
|
|
82
79
|
constructor(request) {
|
|
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);
|
|
91
80
|
this.url = request.url;
|
|
92
81
|
this.host = request.host;
|
|
93
82
|
this.pathname = request.path;
|
|
@@ -24,7 +24,6 @@ __export(index_worker_exports, {
|
|
|
24
24
|
createMiddlewareContext: () => createMiddlewareContext
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(index_worker_exports);
|
|
27
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
28
27
|
var import_base = require("./base");
|
|
29
28
|
var import_route = require("./route");
|
|
30
29
|
var import_template = require("./template");
|
|
@@ -50,8 +49,6 @@ class ServerResponse {
|
|
|
50
49
|
this.res.isSent = true;
|
|
51
50
|
}
|
|
52
51
|
constructor(res) {
|
|
53
|
-
(0, import_define_property._)(this, "locals", void 0);
|
|
54
|
-
(0, import_define_property._)(this, "res", void 0);
|
|
55
52
|
this.res = res;
|
|
56
53
|
this.locals = res.locals;
|
|
57
54
|
}
|
|
@@ -21,7 +21,6 @@ __export(route_exports, {
|
|
|
21
21
|
RouteAPI: () => RouteAPI
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(route_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
class RouteAPI {
|
|
26
25
|
redirect(url, status = 302) {
|
|
27
26
|
this.url = url;
|
|
@@ -34,9 +33,6 @@ class RouteAPI {
|
|
|
34
33
|
this.rewrite(entryName);
|
|
35
34
|
}
|
|
36
35
|
constructor(entryName) {
|
|
37
|
-
(0, import_define_property._)(this, "current", void 0);
|
|
38
|
-
(0, import_define_property._)(this, "status", void 0);
|
|
39
|
-
(0, import_define_property._)(this, "url", void 0);
|
|
40
36
|
this.current = entryName;
|
|
41
37
|
this.status = 200;
|
|
42
38
|
this.url = "";
|
|
@@ -22,7 +22,6 @@ __export(template_exports, {
|
|
|
22
22
|
TemplateAPI: () => TemplateAPI
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(template_exports);
|
|
25
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
26
25
|
const RegList = {
|
|
27
26
|
before: {
|
|
28
27
|
head: "<head[^>]*>",
|
|
@@ -63,7 +62,6 @@ class TemplateAPI {
|
|
|
63
62
|
this.content = this.content.replace(reg, text);
|
|
64
63
|
}
|
|
65
64
|
constructor(content) {
|
|
66
|
-
(0, import_define_property._)(this, "content", void 0);
|
|
67
65
|
this.content = content;
|
|
68
66
|
}
|
|
69
67
|
}
|
|
@@ -31,7 +31,6 @@ __export(cacheMod_exports, {
|
|
|
31
31
|
cacheMod: () => cacheMod
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(cacheMod_exports);
|
|
34
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
34
|
var import_path = __toESM(require("path"));
|
|
36
35
|
var import_utils = require("@modern-js/utils");
|
|
37
36
|
const CACHE_FILENAME = "cache";
|
|
@@ -44,10 +43,6 @@ class ServerCacheMod {
|
|
|
44
43
|
this.customContainer = mod === null || mod === void 0 ? void 0 : mod.customContainer;
|
|
45
44
|
this.cacheOption = mod === null || mod === void 0 ? void 0 : mod.cacheOption;
|
|
46
45
|
}
|
|
47
|
-
constructor() {
|
|
48
|
-
(0, import_define_property._)(this, "customContainer", void 0);
|
|
49
|
-
(0, import_define_property._)(this, "cacheOption", void 0);
|
|
50
|
-
}
|
|
51
46
|
}
|
|
52
47
|
const cacheMod = new ServerCacheMod();
|
|
53
48
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -21,8 +21,8 @@ __export(manager_exports, {
|
|
|
21
21
|
CacheManager: () => CacheManager
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(manager_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
var import_stream = require("stream");
|
|
25
|
+
var import_url = require("@modern-js/runtime-utils/url");
|
|
26
26
|
class CacheManager {
|
|
27
27
|
async getCacheResult(req, cacheControl, render, ssrContext) {
|
|
28
28
|
const key = this.computedKey(req, cacheControl);
|
|
@@ -99,7 +99,7 @@ class CacheManager {
|
|
|
99
99
|
const { url } = req;
|
|
100
100
|
const [pathname] = url.split("?");
|
|
101
101
|
const { customKey } = cacheControl;
|
|
102
|
-
const defaultKey =
|
|
102
|
+
const defaultKey = (0, import_url.normalizePathname)(pathname);
|
|
103
103
|
if (customKey) {
|
|
104
104
|
if (typeof customKey === "string") {
|
|
105
105
|
return customKey;
|
|
@@ -111,7 +111,6 @@ class CacheManager {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
constructor(container) {
|
|
114
|
-
(0, import_define_property._)(this, "container", void 0);
|
|
115
114
|
this.container = container;
|
|
116
115
|
}
|
|
117
116
|
}
|
|
@@ -22,7 +22,6 @@ __export(route_exports, {
|
|
|
22
22
|
RouteMatcher: () => import_matcher.RouteMatcher
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(route_exports);
|
|
25
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
26
25
|
var import_matcher = require("./matcher");
|
|
27
26
|
class RouteMatchManager {
|
|
28
27
|
// get all routes matches pathname
|
|
@@ -73,8 +72,7 @@ class RouteMatchManager {
|
|
|
73
72
|
return bundles;
|
|
74
73
|
}
|
|
75
74
|
constructor() {
|
|
76
|
-
|
|
77
|
-
(0, import_define_property._)(this, "specs", []);
|
|
75
|
+
this.specs = [];
|
|
78
76
|
this.matchers = [];
|
|
79
77
|
}
|
|
80
78
|
}
|
|
@@ -21,7 +21,6 @@ __export(matcher_exports, {
|
|
|
21
21
|
RouteMatcher: () => RouteMatcher
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(matcher_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
var import_path_to_regexp = require("path-to-regexp");
|
|
26
25
|
var import_route = require("./route");
|
|
27
26
|
const removeTailSlash = (s) => s.replace(/\/+$/, "");
|
|
@@ -103,10 +102,7 @@ class RouteMatcher {
|
|
|
103
102
|
}
|
|
104
103
|
}
|
|
105
104
|
constructor(spec) {
|
|
106
|
-
|
|
107
|
-
(0, import_define_property._)(this, "urlPath", "");
|
|
108
|
-
(0, import_define_property._)(this, "urlMatcher", void 0);
|
|
109
|
-
(0, import_define_property._)(this, "urlReg", void 0);
|
|
105
|
+
this.urlPath = "";
|
|
110
106
|
this.spec = spec;
|
|
111
107
|
this.setupUrlPath();
|
|
112
108
|
}
|
|
@@ -21,18 +21,9 @@ __export(route_exports, {
|
|
|
21
21
|
ModernRoute: () => ModernRoute
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(route_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
class ModernRoute {
|
|
26
25
|
constructor(routeSpec) {
|
|
27
|
-
|
|
28
|
-
(0, import_define_property._)(this, "urlPath", void 0);
|
|
29
|
-
(0, import_define_property._)(this, "entryPath", void 0);
|
|
30
|
-
(0, import_define_property._)(this, "bundle", void 0);
|
|
31
|
-
(0, import_define_property._)(this, "isApi", void 0);
|
|
32
|
-
(0, import_define_property._)(this, "isSSR", void 0);
|
|
33
|
-
(0, import_define_property._)(this, "isSPA", void 0);
|
|
34
|
-
(0, import_define_property._)(this, "params", {});
|
|
35
|
-
(0, import_define_property._)(this, "responseHeaders", void 0);
|
|
26
|
+
this.params = {};
|
|
36
27
|
this.entryName = routeSpec.entryName || "";
|
|
37
28
|
this.urlPath = routeSpec.urlPath;
|
|
38
29
|
this.entryPath = routeSpec.entryPath || "";
|
|
@@ -21,7 +21,6 @@ __export(serverTiming_exports, {
|
|
|
21
21
|
ServerTiming: () => ServerTiming
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(serverTiming_exports);
|
|
24
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
25
24
|
const SERVER_TIMING = "Server-Timing";
|
|
26
25
|
class ServerTiming {
|
|
27
26
|
addServeTiming(name, dur, desc) {
|
|
@@ -32,8 +31,6 @@ class ServerTiming {
|
|
|
32
31
|
return this;
|
|
33
32
|
}
|
|
34
33
|
constructor(res, meta) {
|
|
35
|
-
(0, import_define_property._)(this, "meta", void 0);
|
|
36
|
-
(0, import_define_property._)(this, "res", void 0);
|
|
37
34
|
this.meta = meta;
|
|
38
35
|
this.res = res;
|
|
39
36
|
}
|
package/dist/cjs/renderHtml.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
3
2
|
var import_http = require("http");
|
|
4
3
|
var import_stream = require("stream");
|
|
5
4
|
var import_net = require("net");
|
|
@@ -8,10 +7,6 @@ var import_utils = require("./utils");
|
|
|
8
7
|
class IncomingMessageLike extends import_stream.Readable {
|
|
9
8
|
constructor({ method, url, headers }) {
|
|
10
9
|
super();
|
|
11
|
-
(0, import_define_property._)(this, "headers", void 0);
|
|
12
|
-
(0, import_define_property._)(this, "method", void 0);
|
|
13
|
-
(0, import_define_property._)(this, "url", void 0);
|
|
14
|
-
(0, import_define_property._)(this, "socket", void 0);
|
|
15
10
|
this.socket = new import_net.Socket();
|
|
16
11
|
this.headers = headers || {};
|
|
17
12
|
this.headers.host = "localhost:8080";
|
|
@@ -28,8 +23,6 @@ class ServerResponseLike extends import_http.OutgoingMessage {
|
|
|
28
23
|
}
|
|
29
24
|
constructor() {
|
|
30
25
|
super();
|
|
31
|
-
(0, import_define_property._)(this, "statusCode", void 0);
|
|
32
|
-
(0, import_define_property._)(this, "data", void 0);
|
|
33
26
|
this.statusCode = 200;
|
|
34
27
|
this.data = [];
|
|
35
28
|
}
|
package/dist/cjs/server/index.js
CHANGED
|
@@ -31,7 +31,6 @@ __export(server_exports, {
|
|
|
31
31
|
Server: () => Server
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(server_exports);
|
|
34
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
34
|
var import_path = __toESM(require("path"));
|
|
36
35
|
var import_utils = require("@modern-js/utils");
|
|
37
36
|
var import_server_core = require("@modern-js/server-core");
|
|
@@ -209,12 +208,7 @@ class Server {
|
|
|
209
208
|
}
|
|
210
209
|
}
|
|
211
210
|
constructor(options) {
|
|
212
|
-
|
|
213
|
-
(0, import_define_property._)(this, "serverImpl", import_modernServerSplit.createProdServer);
|
|
214
|
-
(0, import_define_property._)(this, "server", void 0);
|
|
215
|
-
(0, import_define_property._)(this, "app", void 0);
|
|
216
|
-
(0, import_define_property._)(this, "runner", void 0);
|
|
217
|
-
(0, import_define_property._)(this, "serverConfig", void 0);
|
|
211
|
+
this.serverImpl = import_modernServerSplit.createProdServer;
|
|
218
212
|
options.logger = options.logger || (0, import_utils.createLogger)({
|
|
219
213
|
level: "warn"
|
|
220
214
|
});
|
|
@@ -31,7 +31,6 @@ __export(modernServer_exports, {
|
|
|
31
31
|
ModernServer: () => ModernServer
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(modernServer_exports);
|
|
34
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
35
34
|
var import_http = require("http");
|
|
36
35
|
var import_path = __toESM(require("path"));
|
|
37
36
|
var import_utils = require("@modern-js/utils");
|
|
@@ -497,25 +496,10 @@ class ModernServer {
|
|
|
497
496
|
context.res.end((0, import_utils2.createErrorDocument)(status, text));
|
|
498
497
|
}
|
|
499
498
|
constructor({ pwd, config, routes, staticGenerate, logger, metrics, runMode, proxyTarget, appContext }) {
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
(0, import_define_property._)(this, "conf", void 0);
|
|
505
|
-
(0, import_define_property._)(this, "handlers", []);
|
|
506
|
-
(0, import_define_property._)(this, "presetRoutes", void 0);
|
|
507
|
-
(0, import_define_property._)(this, "runner", void 0);
|
|
508
|
-
(0, import_define_property._)(this, "logger", void 0);
|
|
509
|
-
(0, import_define_property._)(this, "metrics", void 0);
|
|
510
|
-
(0, import_define_property._)(this, "runMode", void 0);
|
|
511
|
-
(0, import_define_property._)(this, "proxyTarget", void 0);
|
|
512
|
-
(0, import_define_property._)(this, "routeRenderHandler", void 0);
|
|
513
|
-
(0, import_define_property._)(this, "staticGenerate", void 0);
|
|
514
|
-
(0, import_define_property._)(this, "metaName", void 0);
|
|
515
|
-
(0, import_define_property._)(this, "loaderHandler", null);
|
|
516
|
-
(0, import_define_property._)(this, "frameWebHandler", null);
|
|
517
|
-
(0, import_define_property._)(this, "frameAPIHandler", null);
|
|
518
|
-
(0, import_define_property._)(this, "_handler", void 0);
|
|
499
|
+
this.handlers = [];
|
|
500
|
+
this.loaderHandler = null;
|
|
501
|
+
this.frameWebHandler = null;
|
|
502
|
+
this.frameAPIHandler = null;
|
|
519
503
|
require("ignore-styles");
|
|
520
504
|
this.pwd = pwd;
|
|
521
505
|
this.distDir = import_path.default.resolve(pwd, config.output.path || "dist");
|
package/dist/cjs/workerServer.js
CHANGED
|
@@ -22,7 +22,6 @@ __export(workerServer_exports, {
|
|
|
22
22
|
createHandler: () => createHandler
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(workerServer_exports);
|
|
25
|
-
var import_define_property = require("@swc/helpers/_/_define_property");
|
|
26
25
|
var import_plugin = require("@modern-js/plugin");
|
|
27
26
|
var import_hook_api = require("./libs/hook-api/index.worker");
|
|
28
27
|
var import_route = require("./libs/route");
|
|
@@ -75,9 +74,6 @@ class ReturnResponse {
|
|
|
75
74
|
return this;
|
|
76
75
|
}
|
|
77
76
|
constructor(body, status, headers = {}) {
|
|
78
|
-
(0, import_define_property._)(this, "body", void 0);
|
|
79
|
-
(0, import_define_property._)(this, "status", void 0);
|
|
80
|
-
(0, import_define_property._)(this, "headers", void 0);
|
|
81
77
|
this.body = body;
|
|
82
78
|
this.status = status;
|
|
83
79
|
this.headers = new Headers(headers);
|
|
@@ -127,7 +123,7 @@ const createHandler = (manifest) => {
|
|
|
127
123
|
const route = pageMatch.generate(url.pathname);
|
|
128
124
|
const hookContext = createWorkerHookContext(request.url, logger, metrics, reporter);
|
|
129
125
|
const afterMatchHookContext = (0, import_hook_api.createAfterMatchContext)(hookContext, entryName);
|
|
130
|
-
page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, () => void 0);
|
|
126
|
+
await (page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, () => void 0));
|
|
131
127
|
if (checkIsSent(hookContext)) {
|
|
132
128
|
return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
|
|
133
129
|
}
|
|
@@ -176,7 +172,7 @@ const createHandler = (manifest) => {
|
|
|
176
172
|
};
|
|
177
173
|
const body = await page.serverRender(serverRenderContext);
|
|
178
174
|
const afterRenderHookContext = (0, import_hook_api.createAfterRenderContext)(hookContext, route, body);
|
|
179
|
-
(_page_serverHooks2 = page.serverHooks) === null || _page_serverHooks2 === void 0 ? void 0 : (_page_serverHooks_afterRender = _page_serverHooks2.afterRender) === null || _page_serverHooks_afterRender === void 0 ? void 0 : _page_serverHooks_afterRender.call(_page_serverHooks2, afterRenderHookContext, () => void 0);
|
|
175
|
+
await ((_page_serverHooks2 = page.serverHooks) === null || _page_serverHooks2 === void 0 ? void 0 : (_page_serverHooks_afterRender = _page_serverHooks2.afterRender) === null || _page_serverHooks_afterRender === void 0 ? void 0 : _page_serverHooks_afterRender.call(_page_serverHooks2, afterRenderHookContext, () => void 0));
|
|
180
176
|
if (checkIsSent(hookContext)) {
|
|
181
177
|
return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
|
|
182
178
|
}
|
|
@@ -235,7 +231,7 @@ function createWorkerHookContext(url, logger, metrics, reporter) {
|
|
|
235
231
|
};
|
|
236
232
|
}
|
|
237
233
|
let appliedMiddlewares = false;
|
|
238
|
-
function applyMiddlewares(ctx, middleware) {
|
|
234
|
+
async function applyMiddlewares(ctx, middleware) {
|
|
239
235
|
if (middleware) {
|
|
240
236
|
const middlewares = (() => {
|
|
241
237
|
if (Array.isArray(middleware)) {
|
|
@@ -252,7 +248,7 @@ function applyMiddlewares(ctx, middleware) {
|
|
|
252
248
|
});
|
|
253
249
|
appliedMiddlewares = true;
|
|
254
250
|
}
|
|
255
|
-
middlewarePipeline.run(ctx, {
|
|
251
|
+
await middlewarePipeline.run(ctx, {
|
|
256
252
|
onLast: () => void 0
|
|
257
253
|
});
|
|
258
254
|
}
|
|
@@ -3,7 +3,6 @@ import { _ as _class_private_field_get } from "@swc/helpers/_/_class_private_fie
|
|
|
3
3
|
import { _ as _class_private_field_init } from "@swc/helpers/_/_class_private_field_init";
|
|
4
4
|
import { _ as _class_private_field_set } from "@swc/helpers/_/_class_private_field_set";
|
|
5
5
|
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
6
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
7
6
|
import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
|
|
8
7
|
import { URL } from "url";
|
|
9
8
|
import qs from "querystring";
|
|
@@ -20,13 +19,6 @@ var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
20
19
|
"use strict";
|
|
21
20
|
function ModernServerContext2(req, res, options) {
|
|
22
21
|
_class_call_check(this, ModernServerContext2);
|
|
23
|
-
_define_property(this, "req", void 0);
|
|
24
|
-
_define_property(this, "res", void 0);
|
|
25
|
-
_define_property(this, "params", {});
|
|
26
|
-
_define_property(this, "reporter", defaultReporter);
|
|
27
|
-
_define_property(this, "serverTiming", void 0);
|
|
28
|
-
_define_property(this, "serverData", {});
|
|
29
|
-
_define_property(this, "options", {});
|
|
30
22
|
_class_private_field_init(this, _urls, {
|
|
31
23
|
writable: true,
|
|
32
24
|
value: void 0
|
|
@@ -35,6 +27,10 @@ var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
35
27
|
writable: true,
|
|
36
28
|
value: void 0
|
|
37
29
|
});
|
|
30
|
+
this.params = {};
|
|
31
|
+
this.reporter = defaultReporter;
|
|
32
|
+
this.serverData = {};
|
|
33
|
+
this.options = {};
|
|
38
34
|
this.req = req;
|
|
39
35
|
this.res = res;
|
|
40
36
|
this.options = options || {};
|
|
@@ -44,6 +40,68 @@ var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
44
40
|
this.serverTiming = new ServerTiming(this.res, cutNameByHyphen((options === null || options === void 0 ? void 0 : options.metaName) || "modern-js"));
|
|
45
41
|
req.reporter && (this.reporter = req.reporter);
|
|
46
42
|
}
|
|
43
|
+
var _proto = ModernServerContext2.prototype;
|
|
44
|
+
_proto.bind = function bind() {
|
|
45
|
+
var _this = this;
|
|
46
|
+
var _this1 = this, req = _this1.req, res = _this1.res;
|
|
47
|
+
req.get = function(key) {
|
|
48
|
+
return _this.getReqHeader(key);
|
|
49
|
+
};
|
|
50
|
+
res.set = function(key, value) {
|
|
51
|
+
if (!res.headersSent) {
|
|
52
|
+
res.setHeader(key, value);
|
|
53
|
+
}
|
|
54
|
+
return res;
|
|
55
|
+
};
|
|
56
|
+
res.send = function(body) {
|
|
57
|
+
_this.send(body);
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
_proto.send = function send(body) {
|
|
61
|
+
try {
|
|
62
|
+
var generateETag = !this.res.getHeader("ETag") && this.options.etag;
|
|
63
|
+
if (body !== void 0 && generateETag) {
|
|
64
|
+
var encoding = typeof body === "string" ? "utf-8" : void 0;
|
|
65
|
+
var buf = !Buffer.isBuffer(body) ? Buffer.from(body, encoding) : body;
|
|
66
|
+
var etag = createEtag(buf, {
|
|
67
|
+
weak: true
|
|
68
|
+
});
|
|
69
|
+
if (etag) {
|
|
70
|
+
this.res.setHeader("ETag", etag);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (this.fresh) {
|
|
74
|
+
this.status = 304;
|
|
75
|
+
}
|
|
76
|
+
} catch (e) {
|
|
77
|
+
this.logger.error(e.message);
|
|
78
|
+
}
|
|
79
|
+
this.res.end(body);
|
|
80
|
+
};
|
|
81
|
+
_proto.setParams = function setParams(params) {
|
|
82
|
+
this.params = params;
|
|
83
|
+
};
|
|
84
|
+
_proto.setServerData = function setServerData(key, value) {
|
|
85
|
+
this.serverData[key] = value;
|
|
86
|
+
};
|
|
87
|
+
_proto.getReqHeader = function getReqHeader(key) {
|
|
88
|
+
var req = this.req;
|
|
89
|
+
var field = key.toLowerCase();
|
|
90
|
+
switch (field) {
|
|
91
|
+
case "referer":
|
|
92
|
+
case "referrer":
|
|
93
|
+
return req.headers.referrer || req.headers.referer || "";
|
|
94
|
+
default:
|
|
95
|
+
return req.headers[field] || "";
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
_proto.resHasHandled = function resHasHandled() {
|
|
99
|
+
return this.res.writableEnded;
|
|
100
|
+
};
|
|
101
|
+
_proto.error = function error(dig) {
|
|
102
|
+
var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
|
|
103
|
+
this.logger.error("Web Server Error - ".concat(dig, ", error = %s, req.url = %s, req.headers = %o"), _instanceof(e, Error) ? e.stack || e.message : e, this.path, headersWithoutCookie(this.headers));
|
|
104
|
+
};
|
|
47
105
|
_create_class(ModernServerContext2, [
|
|
48
106
|
{
|
|
49
107
|
key: "logger",
|
|
@@ -73,78 +131,6 @@ var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
73
131
|
}
|
|
74
132
|
}
|
|
75
133
|
},
|
|
76
|
-
{
|
|
77
|
-
key: "bind",
|
|
78
|
-
value: function bind() {
|
|
79
|
-
var _this = this;
|
|
80
|
-
var _this1 = this, req = _this1.req, res = _this1.res;
|
|
81
|
-
req.get = function(key) {
|
|
82
|
-
return _this.getReqHeader(key);
|
|
83
|
-
};
|
|
84
|
-
res.set = function(key, value) {
|
|
85
|
-
if (!res.headersSent) {
|
|
86
|
-
res.setHeader(key, value);
|
|
87
|
-
}
|
|
88
|
-
return res;
|
|
89
|
-
};
|
|
90
|
-
res.send = function(body) {
|
|
91
|
-
_this.send(body);
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
{
|
|
96
|
-
key: "send",
|
|
97
|
-
value: (
|
|
98
|
-
// compat express res.send, only support etag now
|
|
99
|
-
function send(body) {
|
|
100
|
-
try {
|
|
101
|
-
var generateETag = !this.res.getHeader("ETag") && this.options.etag;
|
|
102
|
-
if (body !== void 0 && generateETag) {
|
|
103
|
-
var encoding = typeof body === "string" ? "utf-8" : void 0;
|
|
104
|
-
var buf = !Buffer.isBuffer(body) ? Buffer.from(body, encoding) : body;
|
|
105
|
-
var etag = createEtag(buf, {
|
|
106
|
-
weak: true
|
|
107
|
-
});
|
|
108
|
-
if (etag) {
|
|
109
|
-
this.res.setHeader("ETag", etag);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
if (this.fresh) {
|
|
113
|
-
this.status = 304;
|
|
114
|
-
}
|
|
115
|
-
} catch (e) {
|
|
116
|
-
this.logger.error(e.message);
|
|
117
|
-
}
|
|
118
|
-
this.res.end(body);
|
|
119
|
-
}
|
|
120
|
-
)
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
key: "setParams",
|
|
124
|
-
value: function setParams(params) {
|
|
125
|
-
this.params = params;
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
key: "setServerData",
|
|
130
|
-
value: function setServerData(key, value) {
|
|
131
|
-
this.serverData[key] = value;
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
{
|
|
135
|
-
key: "getReqHeader",
|
|
136
|
-
value: function getReqHeader(key) {
|
|
137
|
-
var req = this.req;
|
|
138
|
-
var field = key.toLowerCase();
|
|
139
|
-
switch (field) {
|
|
140
|
-
case "referer":
|
|
141
|
-
case "referrer":
|
|
142
|
-
return req.headers.referrer || req.headers.referer || "";
|
|
143
|
-
default:
|
|
144
|
-
return req.headers[field] || "";
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
},
|
|
148
134
|
{
|
|
149
135
|
key: "fresh",
|
|
150
136
|
get: function get() {
|
|
@@ -265,24 +251,6 @@ var ModernServerContext = /* @__PURE__ */ function() {
|
|
|
265
251
|
set: function set(statusCode) {
|
|
266
252
|
this.res.statusCode = statusCode;
|
|
267
253
|
}
|
|
268
|
-
},
|
|
269
|
-
{
|
|
270
|
-
key: "resHasHandled",
|
|
271
|
-
value: (
|
|
272
|
-
/**
|
|
273
|
-
* 判断链接是否已经关闭
|
|
274
|
-
*/
|
|
275
|
-
function resHasHandled() {
|
|
276
|
-
return this.res.writableEnded;
|
|
277
|
-
}
|
|
278
|
-
)
|
|
279
|
-
},
|
|
280
|
-
{
|
|
281
|
-
key: "error",
|
|
282
|
-
value: function error(dig) {
|
|
283
|
-
var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
|
|
284
|
-
this.logger.error("Web Server Error - ".concat(dig, ", error = %s, req.url = %s, req.headers = %o"), _instanceof(e, Error) ? e.stack || e.message : e, this.path, headersWithoutCookie(this.headers));
|
|
285
|
-
}
|
|
286
254
|
}
|
|
287
255
|
]);
|
|
288
256
|
return ModernServerContext2;
|