@modern-js/server-core 2.48.2 → 2.48.3-alpha.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/base/adapters/node/bff.js +69 -0
- package/dist/cjs/base/adapters/node/hono.js +63 -0
- package/dist/cjs/base/adapters/node/index.js +54 -0
- package/dist/cjs/base/adapters/node/loadServer.js +56 -0
- package/dist/cjs/base/adapters/node/middlewares/index.js +28 -0
- package/dist/cjs/base/adapters/node/middlewares/mock.js +113 -0
- package/dist/cjs/base/adapters/node/middlewares/serverManifest.js +82 -0
- package/dist/cjs/base/adapters/node/middlewares/serverPublic.js +67 -0
- package/dist/cjs/base/adapters/node/middlewares/serverStatic.js +109 -0
- package/dist/cjs/base/adapters/node/middlewares/templates.js +67 -0
- package/dist/cjs/base/adapters/node/node.js +126 -0
- package/dist/cjs/base/adapters/node/polyfills/index.js +24 -0
- package/dist/cjs/base/adapters/node/polyfills/install.js +70 -0
- package/dist/cjs/base/adapters/node/polyfills/stream.js +153 -0
- package/dist/cjs/base/constants.js +58 -0
- package/dist/cjs/base/index.js +45 -0
- package/dist/cjs/base/middlewares/customServer/base.js +111 -0
- package/dist/cjs/base/middlewares/customServer/context.js +78 -0
- package/dist/cjs/base/middlewares/customServer/index.js +130 -0
- package/dist/cjs/base/middlewares/customServer/routerApi.js +44 -0
- package/dist/cjs/base/middlewares/customServer/template.js +58 -0
- package/dist/cjs/base/middlewares/faviconFallback.js +34 -0
- package/dist/cjs/base/middlewares/index.js +26 -0
- package/dist/cjs/base/middlewares/monitor.js +90 -0
- package/dist/cjs/base/middlewares/renderHandler/dataHandler.js +46 -0
- package/dist/cjs/base/middlewares/renderHandler/index.js +104 -0
- package/dist/cjs/base/middlewares/renderHandler/render.js +123 -0
- package/dist/cjs/base/middlewares/renderHandler/serverTiming.js +40 -0
- package/dist/cjs/base/middlewares/renderHandler/ssrCache.js +197 -0
- package/dist/cjs/base/middlewares/renderHandler/ssrRender.js +168 -0
- package/dist/cjs/base/serverBase.js +203 -0
- package/dist/cjs/base/utils/debug.js +29 -0
- package/dist/cjs/base/utils/entry.js +30 -0
- package/dist/cjs/base/utils/env.js +45 -0
- package/dist/cjs/base/utils/error.js +65 -0
- package/dist/cjs/base/utils/index.js +45 -0
- package/dist/cjs/base/utils/middlewareCollector.js +54 -0
- package/dist/cjs/base/utils/request.js +65 -0
- package/dist/cjs/base/utils/serverConfig.js +70 -0
- package/dist/cjs/base/utils/transformStream.js +61 -0
- package/dist/cjs/base/utils/warmup.js +43 -0
- package/dist/cjs/core/hono.js +16 -0
- package/dist/cjs/core/index.js +22 -0
- package/dist/cjs/{loadPlugins.js → core/loadPlugins.js} +4 -7
- package/dist/cjs/{plugin.js → core/plugin.js} +1 -3
- package/dist/cjs/core/render.js +16 -0
- package/dist/cjs/core/server.js +16 -0
- package/dist/cjs/index.js +6 -4
- package/dist/esm/base/adapters/node/bff.js +128 -0
- package/dist/esm/base/adapters/node/hono.js +83 -0
- package/dist/esm/base/adapters/node/index.js +19 -0
- package/dist/esm/base/adapters/node/loadServer.js +73 -0
- package/dist/esm/base/adapters/node/middlewares/index.js +4 -0
- package/dist/esm/base/adapters/node/middlewares/mock.js +198 -0
- package/dist/esm/base/adapters/node/middlewares/serverManifest.js +132 -0
- package/dist/esm/base/adapters/node/middlewares/serverPublic.js +85 -0
- package/dist/esm/base/adapters/node/middlewares/serverStatic.js +109 -0
- package/dist/esm/base/adapters/node/middlewares/templates.js +114 -0
- package/dist/esm/base/adapters/node/node.js +194 -0
- package/dist/esm/base/adapters/node/polyfills/index.js +2 -0
- package/dist/esm/base/adapters/node/polyfills/install.js +46 -0
- package/dist/esm/base/adapters/node/polyfills/stream.js +316 -0
- package/dist/esm/base/constants.js +31 -0
- package/dist/esm/base/index.js +14 -0
- package/dist/esm/base/middlewares/customServer/base.js +126 -0
- package/dist/esm/base/middlewares/customServer/context.js +70 -0
- package/dist/esm/base/middlewares/customServer/index.js +208 -0
- package/dist/esm/base/middlewares/customServer/routerApi.js +26 -0
- package/dist/esm/base/middlewares/customServer/template.js +47 -0
- package/dist/esm/base/middlewares/faviconFallback.js +28 -0
- package/dist/esm/base/middlewares/index.js +3 -0
- package/dist/esm/base/middlewares/monitor.js +157 -0
- package/dist/esm/base/middlewares/renderHandler/dataHandler.js +45 -0
- package/dist/esm/base/middlewares/renderHandler/index.js +163 -0
- package/dist/esm/base/middlewares/renderHandler/render.js +213 -0
- package/dist/esm/base/middlewares/renderHandler/serverTiming.js +21 -0
- package/dist/esm/base/middlewares/renderHandler/ssrCache.js +306 -0
- package/dist/esm/base/middlewares/renderHandler/ssrRender.js +226 -0
- package/dist/esm/base/serverBase.js +383 -0
- package/dist/esm/base/utils/debug.js +5 -0
- package/dist/esm/base/utils/entry.js +6 -0
- package/dist/esm/base/utils/env.js +20 -0
- package/dist/esm/base/utils/error.js +12 -0
- package/dist/esm/base/utils/index.js +13 -0
- package/dist/esm/base/utils/middlewareCollector.js +31 -0
- package/dist/esm/base/utils/request.js +39 -0
- package/dist/esm/base/utils/serverConfig.js +58 -0
- package/dist/esm/base/utils/transformStream.js +90 -0
- package/dist/esm/base/utils/warmup.js +9 -0
- package/dist/esm/core/hono.js +0 -0
- package/dist/esm/core/index.js +1 -0
- package/dist/esm/core/loadPlugins.js +26 -0
- package/dist/esm/core/plugin.js +98 -0
- package/dist/esm/core/render.js +0 -0
- package/dist/esm/core/server.js +0 -0
- package/dist/esm/index.js +3 -2
- package/dist/esm-node/base/adapters/node/bff.js +45 -0
- package/dist/esm-node/base/adapters/node/hono.js +38 -0
- package/dist/esm-node/base/adapters/node/index.js +19 -0
- package/dist/esm-node/base/adapters/node/loadServer.js +22 -0
- package/dist/esm-node/base/adapters/node/middlewares/index.js +4 -0
- package/dist/esm-node/base/adapters/node/middlewares/mock.js +79 -0
- package/dist/esm-node/base/adapters/node/middlewares/serverManifest.js +48 -0
- package/dist/esm-node/base/adapters/node/middlewares/serverPublic.js +33 -0
- package/dist/esm-node/base/adapters/node/middlewares/serverStatic.js +75 -0
- package/dist/esm-node/base/adapters/node/middlewares/templates.js +32 -0
- package/dist/esm-node/base/adapters/node/node.js +100 -0
- package/dist/esm-node/base/adapters/node/polyfills/index.js +2 -0
- package/dist/esm-node/base/adapters/node/polyfills/install.js +46 -0
- package/dist/esm-node/base/adapters/node/polyfills/stream.js +126 -0
- package/dist/esm-node/base/constants.js +31 -0
- package/dist/esm-node/base/index.js +14 -0
- package/dist/esm-node/base/middlewares/customServer/base.js +87 -0
- package/dist/esm-node/base/middlewares/customServer/context.js +51 -0
- package/dist/esm-node/base/middlewares/customServer/index.js +106 -0
- package/dist/esm-node/base/middlewares/customServer/routerApi.js +20 -0
- package/dist/esm-node/base/middlewares/customServer/template.js +34 -0
- package/dist/esm-node/base/middlewares/faviconFallback.js +10 -0
- package/dist/esm-node/base/middlewares/index.js +3 -0
- package/dist/esm-node/base/middlewares/monitor.js +63 -0
- package/dist/esm-node/base/middlewares/renderHandler/dataHandler.js +22 -0
- package/dist/esm-node/base/middlewares/renderHandler/index.js +69 -0
- package/dist/esm-node/base/middlewares/renderHandler/render.js +99 -0
- package/dist/esm-node/base/middlewares/renderHandler/serverTiming.js +16 -0
- package/dist/esm-node/base/middlewares/renderHandler/ssrCache.js +162 -0
- package/dist/esm-node/base/middlewares/renderHandler/ssrRender.js +134 -0
- package/dist/esm-node/base/serverBase.js +168 -0
- package/dist/esm-node/base/utils/debug.js +5 -0
- package/dist/esm-node/base/utils/entry.js +6 -0
- package/dist/esm-node/base/utils/env.js +20 -0
- package/dist/esm-node/base/utils/error.js +41 -0
- package/dist/esm-node/base/utils/index.js +13 -0
- package/dist/esm-node/base/utils/middlewareCollector.js +29 -0
- package/dist/esm-node/base/utils/request.js +38 -0
- package/dist/esm-node/base/utils/serverConfig.js +34 -0
- package/dist/esm-node/base/utils/transformStream.js +36 -0
- package/dist/esm-node/base/utils/warmup.js +9 -0
- package/dist/esm-node/core/hono.js +0 -0
- package/dist/esm-node/core/index.js +1 -0
- package/dist/{esm → esm-node/core}/loadPlugins.js +4 -7
- package/dist/{esm → esm-node/core}/plugin.js +1 -3
- package/dist/esm-node/core/render.js +0 -0
- package/dist/esm-node/core/server.js +0 -0
- package/dist/esm-node/index.js +5 -0
- package/dist/esm-node/types/config/bff.js +0 -0
- package/dist/esm-node/types/config/dev.js +0 -0
- package/dist/esm-node/types/config/html.js +0 -0
- package/dist/esm-node/types/config/index.js +6 -0
- package/dist/esm-node/types/config/output.js +0 -0
- package/dist/esm-node/types/config/security.js +0 -0
- package/dist/esm-node/types/config/server.js +0 -0
- package/dist/esm-node/types/config/share.js +0 -0
- package/dist/esm-node/types/config/source.js +0 -0
- package/dist/esm-node/types/config/tools.js +0 -0
- package/dist/types/base/adapters/node/bff.d.ts +4 -0
- package/dist/types/base/adapters/node/hono.d.ts +22 -0
- package/dist/types/base/adapters/node/index.d.ts +6 -0
- package/dist/types/base/adapters/node/loadServer.d.ts +3 -0
- package/dist/types/base/adapters/node/middlewares/index.d.ts +4 -0
- package/dist/types/base/adapters/node/middlewares/mock.d.ts +5 -0
- package/dist/types/base/adapters/node/middlewares/serverManifest.d.ts +3 -0
- package/dist/types/base/adapters/node/middlewares/serverPublic.d.ts +7 -0
- package/dist/types/base/adapters/node/middlewares/serverStatic.d.ts +11 -0
- package/dist/types/base/adapters/node/middlewares/templates.d.ts +4 -0
- package/dist/types/base/adapters/node/node.d.ts +12 -0
- package/dist/types/base/adapters/node/polyfills/index.d.ts +2 -0
- package/dist/types/base/adapters/node/polyfills/install.d.ts +1 -0
- package/dist/types/base/adapters/node/polyfills/stream.d.ts +18 -0
- package/dist/types/base/constants.d.ts +24 -0
- package/dist/types/base/index.d.ts +7 -0
- package/dist/types/base/middlewares/customServer/base.d.ts +3 -0
- package/dist/types/base/middlewares/customServer/context.d.ts +7 -0
- package/dist/types/base/middlewares/customServer/index.d.ts +13 -0
- package/dist/types/base/middlewares/customServer/routerApi.d.ts +9 -0
- package/dist/types/base/middlewares/customServer/template.d.ts +11 -0
- package/dist/types/base/middlewares/faviconFallback.d.ts +2 -0
- package/dist/types/base/middlewares/index.d.ts +3 -0
- package/dist/types/base/middlewares/monitor.d.ts +6 -0
- package/dist/types/base/middlewares/renderHandler/dataHandler.d.ts +5 -0
- package/dist/types/base/middlewares/renderHandler/index.d.ts +9 -0
- package/dist/types/base/middlewares/renderHandler/render.d.ts +12 -0
- package/dist/types/base/middlewares/renderHandler/serverTiming.d.ts +7 -0
- package/dist/types/base/middlewares/renderHandler/ssrCache.d.ts +29 -0
- package/dist/types/base/middlewares/renderHandler/ssrRender.d.ts +18 -0
- package/dist/types/base/serverBase.d.ts +52 -0
- package/dist/types/base/utils/debug.d.ts +1 -0
- package/dist/types/base/utils/entry.d.ts +2 -0
- package/dist/types/base/utils/env.d.ts +2 -0
- package/dist/types/base/utils/error.d.ts +1 -0
- package/dist/types/base/utils/index.d.ts +8 -0
- package/dist/types/base/utils/middlewareCollector.d.ts +12 -0
- package/dist/types/base/utils/request.d.ts +12 -0
- package/dist/types/base/utils/serverConfig.d.ts +14 -0
- package/dist/types/base/utils/transformStream.d.ts +5 -0
- package/dist/types/base/utils/warmup.d.ts +1 -0
- package/dist/types/core/hono.d.ts +1 -0
- package/dist/types/core/index.d.ts +1 -0
- package/dist/types/core/loadPlugins.d.ts +3 -0
- package/dist/types/{plugin.d.ts → core/plugin.d.ts} +32 -35
- package/dist/types/core/render.d.ts +13 -0
- package/dist/types/core/server.d.ts +99 -0
- package/dist/types/index.d.ts +3 -2
- package/package.json +38 -3
- package/dist/types/loadPlugins.d.ts +0 -5
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
+
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
3
|
+
import { getCookie } from "hono/cookie";
|
|
4
|
+
import { getHost } from "../../utils";
|
|
5
|
+
function createBaseHookContext(c, logger, metrics) {
|
|
6
|
+
return {
|
|
7
|
+
request: new BaseHookRequest(c),
|
|
8
|
+
response: new BaseHookResponse(c),
|
|
9
|
+
logger,
|
|
10
|
+
metrics
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
var BaseHookRequest = /* @__PURE__ */ function() {
|
|
14
|
+
"use strict";
|
|
15
|
+
function BaseHookRequest2(c) {
|
|
16
|
+
_class_call_check(this, BaseHookRequest2);
|
|
17
|
+
this.c = c;
|
|
18
|
+
this.req = c.req;
|
|
19
|
+
}
|
|
20
|
+
_create_class(BaseHookRequest2, [
|
|
21
|
+
{
|
|
22
|
+
key: "url",
|
|
23
|
+
get: function get() {
|
|
24
|
+
return this.req.url;
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
key: "host",
|
|
29
|
+
get: function get() {
|
|
30
|
+
return getHost(this.req.raw);
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
key: "pathname",
|
|
35
|
+
get: function get() {
|
|
36
|
+
return this.req.path;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
key: "query",
|
|
41
|
+
get: function get() {
|
|
42
|
+
return this.req.query();
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: "headers",
|
|
47
|
+
get: function get() {
|
|
48
|
+
return this.req.header();
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: "cookies",
|
|
53
|
+
get: function get() {
|
|
54
|
+
var _this = this;
|
|
55
|
+
return {
|
|
56
|
+
// FIXME: ModernRequest Type Error
|
|
57
|
+
get: function(key) {
|
|
58
|
+
return getCookie(_this.c, key);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
key: "cookie",
|
|
65
|
+
get: function get() {
|
|
66
|
+
return this.req.header("cookie");
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
]);
|
|
70
|
+
return BaseHookRequest2;
|
|
71
|
+
}();
|
|
72
|
+
var BaseHookResponse = /* @__PURE__ */ function() {
|
|
73
|
+
"use strict";
|
|
74
|
+
function BaseHookResponse2(c) {
|
|
75
|
+
_class_call_check(this, BaseHookResponse2);
|
|
76
|
+
this.private_overrided = false;
|
|
77
|
+
this.c = c;
|
|
78
|
+
}
|
|
79
|
+
var _proto = BaseHookResponse2.prototype;
|
|
80
|
+
_proto.get = function get(key) {
|
|
81
|
+
return this.c.res.headers.get(key);
|
|
82
|
+
};
|
|
83
|
+
_proto.set = function set(key, value) {
|
|
84
|
+
if ([
|
|
85
|
+
"set-cookie",
|
|
86
|
+
"Set-Cookie"
|
|
87
|
+
].includes(key)) {
|
|
88
|
+
this.c.header(key, value.toString(), {
|
|
89
|
+
append: true
|
|
90
|
+
});
|
|
91
|
+
} else {
|
|
92
|
+
this.c.header(key, value.toString());
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
_proto.status = function status(code) {
|
|
96
|
+
this.c.status(code);
|
|
97
|
+
};
|
|
98
|
+
_proto.raw = function raw(body, options) {
|
|
99
|
+
this.c.res = this.c.newResponse(body, options);
|
|
100
|
+
this.private_overrided = true;
|
|
101
|
+
};
|
|
102
|
+
_create_class(BaseHookResponse2, [
|
|
103
|
+
{
|
|
104
|
+
key: "cookies",
|
|
105
|
+
get: function get() {
|
|
106
|
+
var _this = this;
|
|
107
|
+
var setCookie = function(key, value) {
|
|
108
|
+
_this.c.header("set-cookie", "".concat(key, "=").concat(value), {
|
|
109
|
+
append: true
|
|
110
|
+
});
|
|
111
|
+
};
|
|
112
|
+
var clearCookie = function() {
|
|
113
|
+
_this.c.header("set-cookie", void 0);
|
|
114
|
+
};
|
|
115
|
+
return {
|
|
116
|
+
set: setCookie,
|
|
117
|
+
clear: clearCookie
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
]);
|
|
122
|
+
return BaseHookResponse2;
|
|
123
|
+
}();
|
|
124
|
+
export {
|
|
125
|
+
createBaseHookContext
|
|
126
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
+
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
3
|
+
import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
|
|
4
|
+
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
5
|
+
import { RouterAPI } from "./routerApi";
|
|
6
|
+
import { TemplateApi } from "./template";
|
|
7
|
+
import { createBaseHookContext } from "./base";
|
|
8
|
+
function createAfterMatchCtx(c, entryName, logger, metrics) {
|
|
9
|
+
var baseContext = createBaseHookContext(c, logger, metrics);
|
|
10
|
+
return _object_spread_props(_object_spread({}, baseContext), {
|
|
11
|
+
router: new RouterAPI(entryName)
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
function createAfterRenderCtx(c, logger, metrics) {
|
|
15
|
+
return _createAfterRenderCtx.apply(this, arguments);
|
|
16
|
+
}
|
|
17
|
+
function _createAfterRenderCtx() {
|
|
18
|
+
_createAfterRenderCtx = _async_to_generator(function(c, logger, metrics) {
|
|
19
|
+
var baseContext, resBody;
|
|
20
|
+
return _ts_generator(this, function(_state) {
|
|
21
|
+
switch (_state.label) {
|
|
22
|
+
case 0:
|
|
23
|
+
baseContext = createBaseHookContext(c, logger, metrics);
|
|
24
|
+
return [
|
|
25
|
+
4,
|
|
26
|
+
c.res.text()
|
|
27
|
+
];
|
|
28
|
+
case 1:
|
|
29
|
+
resBody = _state.sent();
|
|
30
|
+
return [
|
|
31
|
+
2,
|
|
32
|
+
_object_spread_props(_object_spread({}, baseContext), {
|
|
33
|
+
template: new TemplateApi(resBody)
|
|
34
|
+
})
|
|
35
|
+
];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return _createAfterRenderCtx.apply(this, arguments);
|
|
40
|
+
}
|
|
41
|
+
function createCustomMiddlewaresCtx(c, logger, metrics) {
|
|
42
|
+
var _c_env_node, _c_env_node1;
|
|
43
|
+
var baseContext = createBaseHookContext(c, logger, metrics);
|
|
44
|
+
var reporter = c.get("reporter");
|
|
45
|
+
return _object_spread_props(_object_spread({}, baseContext), {
|
|
46
|
+
reporter,
|
|
47
|
+
response: _object_spread_props(_object_spread({}, baseContext.response), {
|
|
48
|
+
locals: {}
|
|
49
|
+
}),
|
|
50
|
+
source: {
|
|
51
|
+
req: (_c_env_node = c.env.node) === null || _c_env_node === void 0 ? void 0 : _c_env_node.req,
|
|
52
|
+
res: (_c_env_node1 = c.env.node) === null || _c_env_node1 === void 0 ? void 0 : _c_env_node1.res
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function createAfterStreamingRenderContext(c, logger, route, metrics) {
|
|
57
|
+
var baseContext = createBaseHookContext(c, logger, metrics);
|
|
58
|
+
return function(chunk) {
|
|
59
|
+
return _object_spread_props(_object_spread({}, baseContext), {
|
|
60
|
+
route,
|
|
61
|
+
chunk
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
createAfterMatchCtx,
|
|
67
|
+
createAfterRenderCtx,
|
|
68
|
+
createAfterStreamingRenderContext,
|
|
69
|
+
createCustomMiddlewaresCtx
|
|
70
|
+
};
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
+
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
3
|
+
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
4
|
+
import { time } from "@modern-js/runtime-utils/time";
|
|
5
|
+
import { transformResponse } from "../../utils";
|
|
6
|
+
import { ServerReportTimings } from "../../constants";
|
|
7
|
+
import { createAfterMatchCtx, createAfterRenderCtx, createCustomMiddlewaresCtx, createAfterStreamingRenderContext } from "./context";
|
|
8
|
+
var noop = function() {
|
|
9
|
+
};
|
|
10
|
+
var isHtmlResponse = function(response) {
|
|
11
|
+
var contentType = response.headers.get("content-type");
|
|
12
|
+
return contentType === null || contentType === void 0 ? void 0 : contentType.includes("text/html");
|
|
13
|
+
};
|
|
14
|
+
var CustomServer = /* @__PURE__ */ function() {
|
|
15
|
+
"use strict";
|
|
16
|
+
function CustomServer2(runner, serverBase, pwd) {
|
|
17
|
+
_class_call_check(this, CustomServer2);
|
|
18
|
+
this.runner = runner;
|
|
19
|
+
this.serverBase = serverBase;
|
|
20
|
+
var webExtension = [];
|
|
21
|
+
this.serverMiddlewarePromise = runner.prepareWebServer({
|
|
22
|
+
pwd,
|
|
23
|
+
config: {
|
|
24
|
+
middleware: webExtension
|
|
25
|
+
}
|
|
26
|
+
}, {
|
|
27
|
+
onLast: function() {
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
var _proto = CustomServer2.prototype;
|
|
33
|
+
_proto.getHookMiddleware = function getHookMiddleware(entryName, routes) {
|
|
34
|
+
var _this = this;
|
|
35
|
+
return function() {
|
|
36
|
+
var _ref = _async_to_generator(function(c, next) {
|
|
37
|
+
var routeInfo, logger, reporter, metrics, afterMatchCtx, getCost, cost, _afterMatchCtx_router, url, status, current, rewriteRoute, afterStreamingRenderContext, afterRenderCtx, getCost1, cost1, newBody;
|
|
38
|
+
return _ts_generator(this, function(_state) {
|
|
39
|
+
switch (_state.label) {
|
|
40
|
+
case 0:
|
|
41
|
+
routeInfo = routes.find(function(route) {
|
|
42
|
+
return route.entryName === entryName;
|
|
43
|
+
});
|
|
44
|
+
logger = c.get("logger");
|
|
45
|
+
reporter = c.get("reporter");
|
|
46
|
+
metrics = c.get("metrics");
|
|
47
|
+
afterMatchCtx = createAfterMatchCtx(c, entryName, logger, metrics);
|
|
48
|
+
getCost = time();
|
|
49
|
+
return [
|
|
50
|
+
4,
|
|
51
|
+
_this.runner.afterMatch(afterMatchCtx, {
|
|
52
|
+
onLast: noop
|
|
53
|
+
})
|
|
54
|
+
];
|
|
55
|
+
case 1:
|
|
56
|
+
_state.sent();
|
|
57
|
+
cost = getCost();
|
|
58
|
+
cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(ServerReportTimings.SERVER_HOOK_AFTER_MATCH, cost));
|
|
59
|
+
_afterMatchCtx_router = afterMatchCtx.router, url = _afterMatchCtx_router.url, status = _afterMatchCtx_router.status;
|
|
60
|
+
if (url) {
|
|
61
|
+
return [
|
|
62
|
+
2,
|
|
63
|
+
c.redirect(url, status)
|
|
64
|
+
];
|
|
65
|
+
}
|
|
66
|
+
current = afterMatchCtx.router.current;
|
|
67
|
+
if (current !== entryName) {
|
|
68
|
+
rewriteRoute = routes.find(function(route) {
|
|
69
|
+
return route.entryName === current;
|
|
70
|
+
});
|
|
71
|
+
if (rewriteRoute) {
|
|
72
|
+
return [
|
|
73
|
+
2,
|
|
74
|
+
_this.serverBase.request(rewriteRoute.urlPath)
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (c.finalized) {
|
|
79
|
+
return [
|
|
80
|
+
2,
|
|
81
|
+
void 0
|
|
82
|
+
];
|
|
83
|
+
}
|
|
84
|
+
return [
|
|
85
|
+
4,
|
|
86
|
+
next()
|
|
87
|
+
];
|
|
88
|
+
case 2:
|
|
89
|
+
_state.sent();
|
|
90
|
+
if (c.finalized && (!c.res.body || !isHtmlResponse(c.res))) {
|
|
91
|
+
return [
|
|
92
|
+
2,
|
|
93
|
+
void 0
|
|
94
|
+
];
|
|
95
|
+
}
|
|
96
|
+
if (!routeInfo.isStream)
|
|
97
|
+
return [
|
|
98
|
+
3,
|
|
99
|
+
3
|
|
100
|
+
];
|
|
101
|
+
afterStreamingRenderContext = createAfterStreamingRenderContext(c, logger, routeInfo, metrics);
|
|
102
|
+
c.res = transformResponse(c.res, function(chunk) {
|
|
103
|
+
var context = afterStreamingRenderContext(chunk);
|
|
104
|
+
return _this.runner.afterStreamingRender(context, {
|
|
105
|
+
onLast: function(param) {
|
|
106
|
+
var _$chunk = param.chunk;
|
|
107
|
+
return _$chunk;
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
return [
|
|
112
|
+
3,
|
|
113
|
+
6
|
|
114
|
+
];
|
|
115
|
+
case 3:
|
|
116
|
+
return [
|
|
117
|
+
4,
|
|
118
|
+
createAfterRenderCtx(c, logger, metrics)
|
|
119
|
+
];
|
|
120
|
+
case 4:
|
|
121
|
+
afterRenderCtx = _state.sent();
|
|
122
|
+
getCost1 = time();
|
|
123
|
+
return [
|
|
124
|
+
4,
|
|
125
|
+
_this.runner.afterRender(afterRenderCtx, {
|
|
126
|
+
onLast: noop
|
|
127
|
+
})
|
|
128
|
+
];
|
|
129
|
+
case 5:
|
|
130
|
+
_state.sent();
|
|
131
|
+
cost1 = getCost1();
|
|
132
|
+
cost1 && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(ServerReportTimings.SERVER_HOOK_AFTER_RENDER, cost1));
|
|
133
|
+
if (afterRenderCtx.response.private_overrided) {
|
|
134
|
+
return [
|
|
135
|
+
2,
|
|
136
|
+
void 0
|
|
137
|
+
];
|
|
138
|
+
}
|
|
139
|
+
newBody = afterRenderCtx.template.get();
|
|
140
|
+
c.res = c.body(newBody);
|
|
141
|
+
_state.label = 6;
|
|
142
|
+
case 6:
|
|
143
|
+
return [
|
|
144
|
+
2
|
|
145
|
+
];
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
return function(c, next) {
|
|
150
|
+
return _ref.apply(this, arguments);
|
|
151
|
+
};
|
|
152
|
+
}();
|
|
153
|
+
};
|
|
154
|
+
_proto.getServerMiddleware = function getServerMiddleware() {
|
|
155
|
+
var _this = this;
|
|
156
|
+
return function() {
|
|
157
|
+
var _ref = _async_to_generator(function(c, next) {
|
|
158
|
+
var serverMiddleware, logger, reporter, metrics, customMiddlewareCtx, getCost, cost;
|
|
159
|
+
return _ts_generator(this, function(_state) {
|
|
160
|
+
switch (_state.label) {
|
|
161
|
+
case 0:
|
|
162
|
+
return [
|
|
163
|
+
4,
|
|
164
|
+
_this.serverMiddlewarePromise
|
|
165
|
+
];
|
|
166
|
+
case 1:
|
|
167
|
+
serverMiddleware = _state.sent();
|
|
168
|
+
if (!serverMiddleware) {
|
|
169
|
+
return [
|
|
170
|
+
2,
|
|
171
|
+
next()
|
|
172
|
+
];
|
|
173
|
+
}
|
|
174
|
+
logger = c.get("logger");
|
|
175
|
+
reporter = c.get("reporter");
|
|
176
|
+
metrics = c.get("metrics");
|
|
177
|
+
customMiddlewareCtx = createCustomMiddlewaresCtx(c, logger, metrics);
|
|
178
|
+
getCost = time();
|
|
179
|
+
return [
|
|
180
|
+
4,
|
|
181
|
+
serverMiddleware(customMiddlewareCtx)
|
|
182
|
+
];
|
|
183
|
+
case 2:
|
|
184
|
+
_state.sent();
|
|
185
|
+
cost = getCost();
|
|
186
|
+
cost && (reporter === null || reporter === void 0 ? void 0 : reporter.reportTiming(ServerReportTimings.SERVER_MIDDLEWARE, cost));
|
|
187
|
+
if (!c.finalized) {
|
|
188
|
+
return [
|
|
189
|
+
2,
|
|
190
|
+
next()
|
|
191
|
+
];
|
|
192
|
+
}
|
|
193
|
+
return [
|
|
194
|
+
2
|
|
195
|
+
];
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
return function(c, next) {
|
|
200
|
+
return _ref.apply(this, arguments);
|
|
201
|
+
};
|
|
202
|
+
}();
|
|
203
|
+
};
|
|
204
|
+
return CustomServer2;
|
|
205
|
+
}();
|
|
206
|
+
export {
|
|
207
|
+
CustomServer
|
|
208
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
+
var RouterAPI = /* @__PURE__ */ function() {
|
|
3
|
+
"use strict";
|
|
4
|
+
function RouterAPI2(entryName) {
|
|
5
|
+
_class_call_check(this, RouterAPI2);
|
|
6
|
+
this.current = entryName;
|
|
7
|
+
this.status = 200;
|
|
8
|
+
this.url = "";
|
|
9
|
+
}
|
|
10
|
+
var _proto = RouterAPI2.prototype;
|
|
11
|
+
_proto.redirect = function redirect(url) {
|
|
12
|
+
var status = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 302;
|
|
13
|
+
this.url = url;
|
|
14
|
+
this.status = status;
|
|
15
|
+
};
|
|
16
|
+
_proto.rewrite = function rewrite(entryName) {
|
|
17
|
+
this.current = entryName;
|
|
18
|
+
};
|
|
19
|
+
_proto.use = function use(entryName) {
|
|
20
|
+
this.rewrite(entryName);
|
|
21
|
+
};
|
|
22
|
+
return RouterAPI2;
|
|
23
|
+
}();
|
|
24
|
+
export {
|
|
25
|
+
RouterAPI
|
|
26
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
+
import { REPLACE_REG } from "../../constants";
|
|
3
|
+
var TemplateApi = /* @__PURE__ */ function() {
|
|
4
|
+
"use strict";
|
|
5
|
+
function TemplateApi2(body) {
|
|
6
|
+
_class_call_check(this, TemplateApi2);
|
|
7
|
+
this.body = body;
|
|
8
|
+
}
|
|
9
|
+
var _proto = TemplateApi2.prototype;
|
|
10
|
+
_proto.set = function set(content) {
|
|
11
|
+
this.body = content;
|
|
12
|
+
};
|
|
13
|
+
_proto.get = function get() {
|
|
14
|
+
return this.body;
|
|
15
|
+
};
|
|
16
|
+
_proto.prependHead = function prependHead(fragment) {
|
|
17
|
+
var head = REPLACE_REG.before.head;
|
|
18
|
+
this.replaceBody(new RegExp(head), function(beforeHead) {
|
|
19
|
+
return "".concat(beforeHead).concat(fragment);
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
_proto.appendHead = function appendHead(fragment) {
|
|
23
|
+
var head = REPLACE_REG.after.head;
|
|
24
|
+
this.replaceBody(head, function() {
|
|
25
|
+
return "".concat(fragment).concat(head);
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
_proto.prependBody = function prependBody(fragment) {
|
|
29
|
+
var body = REPLACE_REG.before.body;
|
|
30
|
+
this.replaceBody(new RegExp(body), function(beforeBody) {
|
|
31
|
+
return "".concat(beforeBody).concat(fragment);
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
_proto.appendBody = function appendBody(fragment) {
|
|
35
|
+
var body = REPLACE_REG.after.body;
|
|
36
|
+
this.replaceBody(body, function() {
|
|
37
|
+
return "".concat(fragment).concat(body);
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
_proto.replaceBody = function replaceBody(searchValue, replaceCb) {
|
|
41
|
+
this.body = this.body.replace(searchValue, replaceCb);
|
|
42
|
+
};
|
|
43
|
+
return TemplateApi2;
|
|
44
|
+
}();
|
|
45
|
+
export {
|
|
46
|
+
TemplateApi
|
|
47
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
+
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
|
+
var favionFallbackMiddleware = function() {
|
|
4
|
+
var _ref = _async_to_generator(function(c, next) {
|
|
5
|
+
return _ts_generator(this, function(_state) {
|
|
6
|
+
if (c.req.path === "/favicon.ico") {
|
|
7
|
+
return [
|
|
8
|
+
2,
|
|
9
|
+
c.body(null, 204)
|
|
10
|
+
];
|
|
11
|
+
} else {
|
|
12
|
+
return [
|
|
13
|
+
2,
|
|
14
|
+
next()
|
|
15
|
+
];
|
|
16
|
+
}
|
|
17
|
+
return [
|
|
18
|
+
2
|
|
19
|
+
];
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
return function favionFallbackMiddleware2(c, next) {
|
|
23
|
+
return _ref.apply(this, arguments);
|
|
24
|
+
};
|
|
25
|
+
}();
|
|
26
|
+
export {
|
|
27
|
+
favionFallbackMiddleware
|
|
28
|
+
};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
|
+
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
|
+
import { time } from "@modern-js/runtime-utils/time";
|
|
4
|
+
import { ServerReportTimings } from "../constants";
|
|
5
|
+
var defaultReporter = {
|
|
6
|
+
init: function init() {
|
|
7
|
+
},
|
|
8
|
+
reportError: function reportError() {
|
|
9
|
+
},
|
|
10
|
+
reportTiming: function reportTiming() {
|
|
11
|
+
},
|
|
12
|
+
reportInfo: function reportInfo() {
|
|
13
|
+
},
|
|
14
|
+
reportWarn: function reportWarn() {
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
function injectReporter() {
|
|
18
|
+
return function() {
|
|
19
|
+
var _ref = _async_to_generator(function(c, next) {
|
|
20
|
+
var reporter;
|
|
21
|
+
return _ts_generator(this, function(_state) {
|
|
22
|
+
switch (_state.label) {
|
|
23
|
+
case 0:
|
|
24
|
+
reporter = c.get("reporter");
|
|
25
|
+
if (!reporter) {
|
|
26
|
+
c.set("reporter", defaultReporter);
|
|
27
|
+
}
|
|
28
|
+
return [
|
|
29
|
+
4,
|
|
30
|
+
next()
|
|
31
|
+
];
|
|
32
|
+
case 1:
|
|
33
|
+
_state.sent();
|
|
34
|
+
return [
|
|
35
|
+
2
|
|
36
|
+
];
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
return function(c, next) {
|
|
41
|
+
return _ref.apply(this, arguments);
|
|
42
|
+
};
|
|
43
|
+
}();
|
|
44
|
+
}
|
|
45
|
+
function initReporter(entryName) {
|
|
46
|
+
return function() {
|
|
47
|
+
var _ref = _async_to_generator(function(c, next) {
|
|
48
|
+
var reporter, getCost, cost;
|
|
49
|
+
return _ts_generator(this, function(_state) {
|
|
50
|
+
switch (_state.label) {
|
|
51
|
+
case 0:
|
|
52
|
+
reporter = c.get("reporter");
|
|
53
|
+
if (!!reporter)
|
|
54
|
+
return [
|
|
55
|
+
3,
|
|
56
|
+
2
|
|
57
|
+
];
|
|
58
|
+
return [
|
|
59
|
+
4,
|
|
60
|
+
next()
|
|
61
|
+
];
|
|
62
|
+
case 1:
|
|
63
|
+
_state.sent();
|
|
64
|
+
return [
|
|
65
|
+
2
|
|
66
|
+
];
|
|
67
|
+
case 2:
|
|
68
|
+
return [
|
|
69
|
+
4,
|
|
70
|
+
reporter.init({
|
|
71
|
+
entryName
|
|
72
|
+
})
|
|
73
|
+
];
|
|
74
|
+
case 3:
|
|
75
|
+
_state.sent();
|
|
76
|
+
getCost = time();
|
|
77
|
+
return [
|
|
78
|
+
4,
|
|
79
|
+
next()
|
|
80
|
+
];
|
|
81
|
+
case 4:
|
|
82
|
+
_state.sent();
|
|
83
|
+
cost = getCost();
|
|
84
|
+
reporter.reportTiming(ServerReportTimings.SERVER_HANDLE_REQUEST, cost);
|
|
85
|
+
return [
|
|
86
|
+
2
|
|
87
|
+
];
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
return function(c, next) {
|
|
92
|
+
return _ref.apply(this, arguments);
|
|
93
|
+
};
|
|
94
|
+
}();
|
|
95
|
+
}
|
|
96
|
+
function injectLogger(inputLogger) {
|
|
97
|
+
return function() {
|
|
98
|
+
var _ref = _async_to_generator(function(c, next) {
|
|
99
|
+
var logger;
|
|
100
|
+
return _ts_generator(this, function(_state) {
|
|
101
|
+
switch (_state.label) {
|
|
102
|
+
case 0:
|
|
103
|
+
logger = c.get("logger");
|
|
104
|
+
if (!logger && inputLogger) {
|
|
105
|
+
c.set("logger", inputLogger);
|
|
106
|
+
}
|
|
107
|
+
return [
|
|
108
|
+
4,
|
|
109
|
+
next()
|
|
110
|
+
];
|
|
111
|
+
case 1:
|
|
112
|
+
_state.sent();
|
|
113
|
+
return [
|
|
114
|
+
2
|
|
115
|
+
];
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
return function(c, next) {
|
|
120
|
+
return _ref.apply(this, arguments);
|
|
121
|
+
};
|
|
122
|
+
}();
|
|
123
|
+
}
|
|
124
|
+
function injectMetrics(inputMetrics) {
|
|
125
|
+
return function() {
|
|
126
|
+
var _ref = _async_to_generator(function(c, next) {
|
|
127
|
+
var metrics;
|
|
128
|
+
return _ts_generator(this, function(_state) {
|
|
129
|
+
switch (_state.label) {
|
|
130
|
+
case 0:
|
|
131
|
+
metrics = c.get("metrics");
|
|
132
|
+
if (!metrics) {
|
|
133
|
+
c.set("metrics", inputMetrics);
|
|
134
|
+
}
|
|
135
|
+
return [
|
|
136
|
+
4,
|
|
137
|
+
next()
|
|
138
|
+
];
|
|
139
|
+
case 1:
|
|
140
|
+
_state.sent();
|
|
141
|
+
return [
|
|
142
|
+
2
|
|
143
|
+
];
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
return function(c, next) {
|
|
148
|
+
return _ref.apply(this, arguments);
|
|
149
|
+
};
|
|
150
|
+
}();
|
|
151
|
+
}
|
|
152
|
+
export {
|
|
153
|
+
initReporter,
|
|
154
|
+
injectLogger,
|
|
155
|
+
injectMetrics,
|
|
156
|
+
injectReporter
|
|
157
|
+
};
|