@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.
Files changed (122) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/constants.js +15 -31
  3. package/dist/cjs/index.js +35 -37
  4. package/dist/cjs/libs/context/context.js +53 -66
  5. package/dist/cjs/libs/context/index.js +15 -28
  6. package/dist/cjs/libs/hook-api/index.js +59 -54
  7. package/dist/cjs/libs/hook-api/route.js +28 -30
  8. package/dist/cjs/libs/hook-api/template.js +30 -34
  9. package/dist/cjs/libs/loadConfig.js +74 -65
  10. package/dist/cjs/libs/logger.js +46 -37
  11. package/dist/cjs/libs/metrics.js +7 -25
  12. package/dist/cjs/libs/proxy.js +29 -46
  13. package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +48 -64
  14. package/dist/cjs/libs/render/cache/__tests__/cache.test.js +53 -37
  15. package/dist/cjs/libs/render/cache/__tests__/cacheable.js +38 -34
  16. package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +22 -30
  17. package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +86 -46
  18. package/dist/cjs/libs/render/cache/index.js +17 -37
  19. package/dist/cjs/libs/render/cache/page-caches/index.js +12 -28
  20. package/dist/cjs/libs/render/cache/page-caches/lru.js +32 -40
  21. package/dist/cjs/libs/render/cache/spr.js +104 -111
  22. package/dist/cjs/libs/render/cache/type.js +4 -15
  23. package/dist/cjs/libs/render/cache/util.js +29 -53
  24. package/dist/cjs/libs/render/index.js +75 -73
  25. package/dist/cjs/libs/render/measure.js +19 -34
  26. package/dist/cjs/libs/render/reader.js +52 -61
  27. package/dist/cjs/libs/render/ssr.js +34 -66
  28. package/dist/cjs/libs/render/static.js +22 -45
  29. package/dist/cjs/libs/render/type.js +10 -28
  30. package/dist/cjs/libs/render/utils.js +17 -38
  31. package/dist/cjs/libs/route/index.js +32 -31
  32. package/dist/cjs/libs/route/matcher.js +38 -38
  33. package/dist/cjs/libs/route/route.js +29 -26
  34. package/dist/cjs/libs/serveFile.js +23 -41
  35. package/dist/cjs/server/index.js +101 -107
  36. package/dist/cjs/server/modernServer.js +191 -171
  37. package/dist/cjs/server/modernServerSplit.js +12 -30
  38. package/dist/cjs/type.js +4 -15
  39. package/dist/cjs/utils.js +50 -50
  40. package/dist/cjs/workerServer.js +26 -36
  41. package/dist/esm/constants.js +24 -25
  42. package/dist/esm/index.js +11 -10
  43. package/dist/esm/libs/context/context.js +271 -264
  44. package/dist/esm/libs/context/index.js +3 -3
  45. package/dist/esm/libs/hook-api/index.js +237 -223
  46. package/dist/esm/libs/hook-api/route.js +62 -60
  47. package/dist/esm/libs/hook-api/template.js +117 -115
  48. package/dist/esm/libs/loadConfig.js +68 -69
  49. package/dist/esm/libs/logger.js +188 -174
  50. package/dist/esm/libs/metrics.js +6 -3
  51. package/dist/esm/libs/proxy.js +236 -221
  52. package/dist/esm/libs/render/cache/__tests__/cache.fun.test.js +286 -267
  53. package/dist/esm/libs/render/cache/__tests__/cache.test.js +765 -745
  54. package/dist/esm/libs/render/cache/__tests__/cacheable.js +62 -63
  55. package/dist/esm/libs/render/cache/__tests__/error-configuration.js +42 -43
  56. package/dist/esm/libs/render/cache/__tests__/matched-cache.js +134 -135
  57. package/dist/esm/libs/render/cache/index.js +337 -326
  58. package/dist/esm/libs/render/cache/page-caches/index.js +147 -141
  59. package/dist/esm/libs/render/cache/page-caches/lru.js +78 -76
  60. package/dist/esm/libs/render/cache/spr.js +465 -456
  61. package/dist/esm/libs/render/cache/type.js +1 -1
  62. package/dist/esm/libs/render/cache/util.js +266 -246
  63. package/dist/esm/libs/render/index.js +226 -218
  64. package/dist/esm/libs/render/measure.js +136 -128
  65. package/dist/esm/libs/render/reader.js +315 -304
  66. package/dist/esm/libs/render/ssr.js +214 -209
  67. package/dist/esm/libs/render/static.js +208 -198
  68. package/dist/esm/libs/render/type.js +6 -7
  69. package/dist/esm/libs/render/utils.js +8 -9
  70. package/dist/esm/libs/route/index.js +134 -123
  71. package/dist/esm/libs/route/matcher.js +140 -130
  72. package/dist/esm/libs/route/route.js +36 -37
  73. package/dist/esm/libs/serveFile.js +177 -168
  74. package/dist/esm/server/index.js +578 -549
  75. package/dist/esm/server/modernServer.js +1137 -1074
  76. package/dist/esm/server/modernServerSplit.js +344 -328
  77. package/dist/esm/type.js +1 -1
  78. package/dist/esm/utils.js +133 -124
  79. package/dist/esm/workerServer.js +226 -220
  80. package/dist/esm-node/constants.js +7 -14
  81. package/dist/esm-node/index.js +4 -9
  82. package/dist/esm-node/libs/context/context.js +32 -25
  83. package/dist/esm-node/libs/context/index.js +2 -5
  84. package/dist/esm-node/libs/hook-api/index.js +40 -21
  85. package/dist/esm-node/libs/hook-api/route.js +21 -8
  86. package/dist/esm-node/libs/hook-api/template.js +19 -14
  87. package/dist/esm-node/libs/loadConfig.js +11 -28
  88. package/dist/esm-node/libs/logger.js +37 -17
  89. package/dist/esm-node/libs/metrics.js +1 -3
  90. package/dist/esm-node/libs/proxy.js +14 -22
  91. package/dist/esm-node/libs/render/cache/__tests__/cache.fun.test.js +25 -36
  92. package/dist/esm-node/libs/render/cache/__tests__/cache.test.js +23 -11
  93. package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +32 -13
  94. package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +16 -9
  95. package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +80 -25
  96. package/dist/esm-node/libs/render/cache/index.js +3 -10
  97. package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -5
  98. package/dist/esm-node/libs/render/cache/page-caches/lru.js +20 -8
  99. package/dist/esm-node/libs/render/cache/spr.js +79 -80
  100. package/dist/esm-node/libs/render/cache/type.js +1 -0
  101. package/dist/esm-node/libs/render/cache/util.js +13 -23
  102. package/dist/esm-node/libs/render/index.js +10 -28
  103. package/dist/esm-node/libs/render/measure.js +7 -13
  104. package/dist/esm-node/libs/render/reader.js +31 -26
  105. package/dist/esm-node/libs/render/ssr.js +5 -21
  106. package/dist/esm-node/libs/render/static.js +1 -4
  107. package/dist/esm-node/libs/render/type.js +3 -6
  108. package/dist/esm-node/libs/render/utils.js +6 -18
  109. package/dist/esm-node/libs/route/index.js +20 -9
  110. package/dist/esm-node/libs/route/matcher.js +28 -17
  111. package/dist/esm-node/libs/route/route.js +23 -5
  112. package/dist/esm-node/libs/serveFile.js +2 -6
  113. package/dist/esm-node/server/index.js +72 -75
  114. package/dist/esm-node/server/modernServer.js +102 -130
  115. package/dist/esm-node/server/modernServerSplit.js +1 -4
  116. package/dist/esm-node/type.js +1 -0
  117. package/dist/esm-node/utils.js +41 -32
  118. package/dist/esm-node/workerServer.js +9 -10
  119. package/dist/types/libs/context/context.d.ts +1 -1
  120. package/dist/types/server/modernServer.d.ts +1 -1
  121. package/dist/types/utils.d.ts +1 -1
  122. package/package.json +12 -8
@@ -1,233 +1,239 @@
1
1
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
2
- try {
3
- var info = gen[key](arg);
4
- var value = info.value;
5
- } catch (error) {
6
- reject(error);
7
- return;
8
- }
9
- if (info.done) {
10
- resolve(value);
11
- } else {
12
- Promise.resolve(value).then(_next, _throw);
13
- }
2
+ try {
3
+ var info = gen[key](arg);
4
+ var value = info.value;
5
+ } catch (error) {
6
+ reject(error);
7
+ return;
8
+ }
9
+ if (info.done) {
10
+ resolve(value);
11
+ } else {
12
+ Promise.resolve(value).then(_next, _throw);
13
+ }
14
14
  }
15
- function _asyncToGenerator(fn) {
16
- return function() {
17
- var self = this, args = arguments;
18
- return new Promise(function(resolve, reject) {
19
- var gen = fn.apply(self, args);
20
- function _next(value) {
21
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
- }
23
- function _throw(err) {
24
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
- }
26
- _next(undefined);
27
- });
28
- };
15
+ function _async_to_generator(fn) {
16
+ return function() {
17
+ var self = this, args = arguments;
18
+ return new Promise(function(resolve, reject) {
19
+ var gen = fn.apply(self, args);
20
+ function _next(value) {
21
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
22
+ }
23
+ function _throw(err) {
24
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
25
+ }
26
+ _next(void 0);
27
+ });
28
+ };
29
29
  }
30
- var __generator = this && this.__generator || function(thisArg, body) {
31
- var f, y, t, g, _ = {
32
- label: 0,
33
- sent: function() {
34
- if (t[0] & 1) throw t[1];
35
- return t[1];
36
- },
37
- trys: [],
38
- ops: []
30
+ var __generator = function(thisArg, body) {
31
+ var f, y, t, g, _ = {
32
+ label: 0,
33
+ sent: function() {
34
+ if (t[0] & 1)
35
+ throw t[1];
36
+ return t[1];
37
+ },
38
+ trys: [],
39
+ ops: []
40
+ };
41
+ return g = {
42
+ next: verb(0),
43
+ "throw": verb(1),
44
+ "return": verb(2)
45
+ }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
46
+ return this;
47
+ }), g;
48
+ function verb(n) {
49
+ return function(v) {
50
+ return step([
51
+ n,
52
+ v
53
+ ]);
39
54
  };
40
- return(g = {
41
- next: verb(0),
42
- "throw": verb(1),
43
- "return": verb(2)
44
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
45
- return this;
46
- }), g);
47
- function verb(n) {
48
- return function(v) {
49
- return step([
50
- n,
51
- v
52
- ]);
53
- };
54
- }
55
- function step(op) {
56
- if (f) throw new TypeError("Generator is already executing.");
57
- while(_)try {
58
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
59
- if (y = 0, t) op = [
60
- op[0] & 2,
61
- t.value
62
- ];
63
- switch(op[0]){
64
- case 0:
65
- case 1:
66
- t = op;
67
- break;
68
- case 4:
69
- _.label++;
70
- return {
71
- value: op[1],
72
- done: false
73
- };
74
- case 5:
75
- _.label++;
76
- y = op[1];
77
- op = [
78
- 0
79
- ];
80
- continue;
81
- case 7:
82
- op = _.ops.pop();
83
- _.trys.pop();
84
- continue;
85
- default:
86
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
87
- _ = 0;
88
- continue;
89
- }
90
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
91
- _.label = op[1];
92
- break;
93
- }
94
- if (op[0] === 6 && _.label < t[1]) {
95
- _.label = t[1];
96
- t = op;
97
- break;
98
- }
99
- if (t && _.label < t[2]) {
100
- _.label = t[2];
101
- _.ops.push(op);
102
- break;
103
- }
104
- if (t[2]) _.ops.pop();
105
- _.trys.pop();
106
- continue;
107
- }
108
- op = body.call(thisArg, _);
109
- } catch (e) {
55
+ }
56
+ function step(op) {
57
+ if (f)
58
+ throw new TypeError("Generator is already executing.");
59
+ while (_)
60
+ try {
61
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
62
+ return t;
63
+ if (y = 0, t)
64
+ op = [
65
+ op[0] & 2,
66
+ t.value
67
+ ];
68
+ switch (op[0]) {
69
+ case 0:
70
+ case 1:
71
+ t = op;
72
+ break;
73
+ case 4:
74
+ _.label++;
75
+ return {
76
+ value: op[1],
77
+ done: false
78
+ };
79
+ case 5:
80
+ _.label++;
81
+ y = op[1];
110
82
  op = [
111
- 6,
112
- e
83
+ 0
113
84
  ];
114
- y = 0;
115
- } finally{
116
- f = t = 0;
85
+ continue;
86
+ case 7:
87
+ op = _.ops.pop();
88
+ _.trys.pop();
89
+ continue;
90
+ default:
91
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
92
+ _ = 0;
93
+ continue;
94
+ }
95
+ if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
96
+ _.label = op[1];
97
+ break;
98
+ }
99
+ if (op[0] === 6 && _.label < t[1]) {
100
+ _.label = t[1];
101
+ t = op;
102
+ break;
103
+ }
104
+ if (t && _.label < t[2]) {
105
+ _.label = t[2];
106
+ _.ops.push(op);
107
+ break;
108
+ }
109
+ if (t[2])
110
+ _.ops.pop();
111
+ _.trys.pop();
112
+ continue;
117
113
  }
118
- if (op[0] & 5) throw op[1];
119
- return {
120
- value: op[0] ? op[1] : void 0,
121
- done: true
122
- };
123
- }
114
+ op = body.call(thisArg, _);
115
+ } catch (e) {
116
+ op = [
117
+ 6,
118
+ e
119
+ ];
120
+ y = 0;
121
+ } finally {
122
+ f = t = 0;
123
+ }
124
+ if (op[0] & 5)
125
+ throw op[1];
126
+ return {
127
+ value: op[0] ? op[1] : void 0,
128
+ done: true
129
+ };
130
+ }
124
131
  };
125
- var _ctx_request, _ctx_request1, _ctx_request2;
126
132
  import { Logger } from "./libs/logger";
127
133
  import { RouteMatchManager } from "./libs/route";
128
134
  import { metrics as defaultMetrics } from "./libs/metrics";
129
- var handleUrl = function(url) {
130
- return url.replace(/^https?:\/\/.*?\//gi, "/");
135
+ export var handleUrl = function(url) {
136
+ return url.replace(/^https?:\/\/.*?\//gi, "/");
131
137
  };
132
- var createHandler = function(manifest) {
133
- var routeMgr = new RouteMatchManager();
134
- var pages = manifest.pages, routes = manifest.routes;
135
- routeMgr.reset(routes);
136
- return function() {
137
- var _ref = _asyncToGenerator(function(ctx) {
138
- var pageMatch, page, _query, _pathname, _params, params, e;
139
- return __generator(this, function(_state) {
140
- switch(_state.label){
141
- case 0:
142
- pageMatch = routeMgr.match(ctx.url);
143
- if (!pageMatch) {
144
- ctx.body = "404: Page not found";
145
- ctx.status = 404;
146
- return [
147
- 2
148
- ];
149
- }
150
- page = pages[pageMatch.spec.urlPath];
151
- (_query = (_ctx_request = ctx.request).query) !== null && _query !== void 0 ? _query : _ctx_request.query = ctx.query;
152
- (_pathname = (_ctx_request1 = ctx.request).pathname) !== null && _pathname !== void 0 ? _pathname : _ctx_request1.pathname = ctx.pathname;
153
- (_params = (_ctx_request2 = ctx.request).params) !== null && _params !== void 0 ? _params : _ctx_request2.params = ctx.params;
154
- params = pageMatch.parseURLParams(ctx.url);
155
- if (!page.serverRender) return [
156
- 3,
157
- 4
158
- ];
159
- _state.label = 1;
160
- case 1:
161
- _state.trys.push([
162
- 1,
163
- 3,
164
- ,
165
- 4
166
- ]);
167
- return [
168
- 4,
169
- page.serverRender({
170
- entryName: page.entryName,
171
- template: page.template,
172
- query: ctx.query,
173
- request: ctx.request,
174
- response: ctx.response,
175
- pathname: ctx.pathname,
176
- req: ctx.request,
177
- res: ctx.response,
178
- params: ctx.params || params || {},
179
- logger: ctx.logger || new Logger({
180
- level: "warn"
181
- }),
182
- metrics: ctx.metrics || defaultMetrics,
183
- loadableStats: ctx.loadableStats,
184
- routeManifest: ctx.routeManifest
185
- })
186
- ];
187
- case 2:
188
- ctx.body = _state.sent();
189
- ctx.status = 200;
190
- return [
191
- 2
192
- ];
193
- case 3:
194
- e = _state.sent();
195
- if (page.template) {
196
- ctx.body = page.template;
197
- ctx.status = 200;
198
- return [
199
- 2
200
- ];
201
- } else {
202
- ctx.body = "404: not found";
203
- ctx.status = 404;
204
- return [
205
- 2
206
- ];
207
- }
208
- return [
209
- 3,
210
- 4
211
- ];
212
- case 4:
213
- if (page.template) {
214
- ctx.body = page.template;
215
- ctx.status = 200;
216
- return [
217
- 2
218
- ];
219
- }
220
- ctx.body = "404: not found";
221
- ctx.status = 404;
222
- return [
223
- 2
224
- ];
225
- }
226
- });
227
- });
228
- return function(ctx) {
229
- return _ref.apply(this, arguments);
230
- };
231
- }();
138
+ export var createHandler = function(manifest) {
139
+ var routeMgr = new RouteMatchManager();
140
+ var pages = manifest.pages, routes = manifest.routes;
141
+ routeMgr.reset(routes);
142
+ return function() {
143
+ var _ref = _async_to_generator(function(ctx) {
144
+ var _ctx_request, _ctx_request1, _ctx_request2, pageMatch, page, _query, _pathname, _params, params, e;
145
+ return __generator(this, function(_state) {
146
+ switch (_state.label) {
147
+ case 0:
148
+ pageMatch = routeMgr.match(ctx.url);
149
+ if (!pageMatch) {
150
+ ctx.body = "404: Page not found";
151
+ ctx.status = 404;
152
+ return [
153
+ 2
154
+ ];
155
+ }
156
+ page = pages[pageMatch.spec.urlPath];
157
+ (_query = (_ctx_request = ctx.request).query) !== null && _query !== void 0 ? _query : _ctx_request.query = ctx.query;
158
+ (_pathname = (_ctx_request1 = ctx.request).pathname) !== null && _pathname !== void 0 ? _pathname : _ctx_request1.pathname = ctx.pathname;
159
+ (_params = (_ctx_request2 = ctx.request).params) !== null && _params !== void 0 ? _params : _ctx_request2.params = ctx.params;
160
+ params = pageMatch.parseURLParams(ctx.url);
161
+ if (!page.serverRender)
162
+ return [
163
+ 3,
164
+ 4
165
+ ];
166
+ _state.label = 1;
167
+ case 1:
168
+ _state.trys.push([
169
+ 1,
170
+ 3,
171
+ ,
172
+ 4
173
+ ]);
174
+ return [
175
+ 4,
176
+ page.serverRender({
177
+ entryName: page.entryName,
178
+ template: page.template,
179
+ query: ctx.query,
180
+ request: ctx.request,
181
+ response: ctx.response,
182
+ pathname: ctx.pathname,
183
+ req: ctx.request,
184
+ res: ctx.response,
185
+ params: ctx.params || params || {},
186
+ logger: ctx.logger || new Logger({
187
+ level: "warn"
188
+ }),
189
+ metrics: ctx.metrics || defaultMetrics,
190
+ loadableStats: ctx.loadableStats,
191
+ routeManifest: ctx.routeManifest
192
+ })
193
+ ];
194
+ case 2:
195
+ ctx.body = _state.sent();
196
+ ctx.status = 200;
197
+ return [
198
+ 2
199
+ ];
200
+ case 3:
201
+ e = _state.sent();
202
+ if (page.template) {
203
+ ctx.body = page.template;
204
+ ctx.status = 200;
205
+ return [
206
+ 2
207
+ ];
208
+ } else {
209
+ ctx.body = "404: not found";
210
+ ctx.status = 404;
211
+ return [
212
+ 2
213
+ ];
214
+ }
215
+ return [
216
+ 3,
217
+ 4
218
+ ];
219
+ case 4:
220
+ if (page.template) {
221
+ ctx.body = page.template;
222
+ ctx.status = 200;
223
+ return [
224
+ 2
225
+ ];
226
+ }
227
+ ctx.body = "404: not found";
228
+ ctx.status = 404;
229
+ return [
230
+ 2
231
+ ];
232
+ }
233
+ });
234
+ });
235
+ return function(ctx) {
236
+ return _ref.apply(this, arguments);
237
+ };
238
+ }();
232
239
  };
233
- export { createHandler, handleUrl };
@@ -1,16 +1,16 @@
1
- const AGGRED_DIR = {
1
+ export const AGGRED_DIR = {
2
2
  mock: "config/mock",
3
3
  server: "server",
4
4
  api: "api",
5
5
  shared: "shared",
6
6
  lambda: "lambda"
7
7
  };
8
- var ApiServerMode = /* @__PURE__ */ ((ApiServerMode2) => {
8
+ export var ApiServerMode;
9
+ (function(ApiServerMode2) {
9
10
  ApiServerMode2["func"] = "function";
10
11
  ApiServerMode2["frame"] = "framework";
11
- return ApiServerMode2;
12
- })(ApiServerMode || {});
13
- const ERROR_DIGEST = {
12
+ })(ApiServerMode || (ApiServerMode = {}));
13
+ export const ERROR_DIGEST = {
14
14
  INIT: "Server init error",
15
15
  ENOTF: "Page could not be found",
16
16
  WARMUP: "SSR warmup failed",
@@ -18,18 +18,11 @@ const ERROR_DIGEST = {
18
18
  ERENDER: "SSR render failed",
19
19
  EMICROINJ: "Get micro-frontend info failed"
20
20
  };
21
- const ERROR_PAGE_TEXT = {
21
+ export const ERROR_PAGE_TEXT = {
22
22
  404: "This page could not be found.",
23
23
  500: "Internal Server Error."
24
24
  };
25
- const RUN_MODE = {
25
+ export const RUN_MODE = {
26
26
  FULL: "full",
27
27
  TYPE: "type"
28
28
  };
29
- export {
30
- AGGRED_DIR,
31
- ApiServerMode,
32
- ERROR_DIGEST,
33
- ERROR_PAGE_TEXT,
34
- RUN_MODE
35
- };
@@ -1,18 +1,13 @@
1
1
  import { Server } from "./server";
2
- import { ModernServer } from "./server/modernServer";
3
- import { createProxyHandler } from "./libs/proxy";
2
+ export { Server };
3
+ export { ModernServer } from "./server/modernServer";
4
+ export { createProxyHandler } from "./libs/proxy";
4
5
  export * from "./type";
5
6
  export * from "./constants";
6
- var src_default = (options) => {
7
+ export default (options) => {
7
8
  if (options == null) {
8
9
  throw new Error("can not start mserver without options");
9
10
  }
10
11
  const server = new Server(options);
11
12
  return server.init();
12
13
  };
13
- export {
14
- ModernServer,
15
- Server,
16
- createProxyHandler,
17
- src_default as default
18
- };
@@ -1,3 +1,16 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
1
14
  import { URL } from "url";
2
15
  import qs from "querystring";
3
16
  import { Buffer } from "buffer";
@@ -5,19 +18,7 @@ import createEtag from "etag";
5
18
  import fresh from "fresh";
6
19
  import { headersWithoutCookie } from "../../utils";
7
20
  const MOCK_URL_BASE = "https://modernjs.dev/";
8
- class ModernServerContext {
9
- constructor(req, res, options) {
10
- /**
11
- * url params
12
- */
13
- this.params = {};
14
- this.options = {};
15
- this.req = req;
16
- this.res = res;
17
- this.options = options || {};
18
- this.serverData = {};
19
- this.bind();
20
- }
21
+ export class ModernServerContext {
21
22
  get logger() {
22
23
  return this.req.logger;
23
24
  }
@@ -43,7 +44,9 @@ class ModernServerContext {
43
44
  if (body !== void 0 && generateETag) {
44
45
  const encoding = typeof body === "string" ? "utf-8" : void 0;
45
46
  const buf = !Buffer.isBuffer(body) ? Buffer.from(body, encoding) : body;
46
- const etag = createEtag(buf, { weak: true });
47
+ const etag = createEtag(buf, {
48
+ weak: true
49
+ });
47
50
  if (etag) {
48
51
  this.res.setHeader("ETag", etag);
49
52
  }
@@ -149,20 +152,24 @@ class ModernServerContext {
149
152
  this.res.statusCode = statusCode;
150
153
  }
151
154
  /**
152
- * 判断链接是否已经关闭
153
- */
155
+ * 判断链接是否已经关闭
156
+ */
154
157
  resHasHandled() {
155
158
  return this.res.writableEnded;
156
159
  }
157
160
  error(dig, e = "") {
158
- this.logger.error(
159
- `Web Server Error - ${dig}, error = %s, req.url = %s, req.headers = %o`,
160
- e instanceof Error ? e.stack || e.message : e,
161
- this.path,
162
- headersWithoutCookie(this.headers)
163
- );
161
+ 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, headersWithoutCookie(this.headers));
162
+ }
163
+ constructor(req, res, options) {
164
+ _define_property(this, "req", void 0);
165
+ _define_property(this, "res", void 0);
166
+ _define_property(this, "params", {});
167
+ _define_property(this, "serverData", void 0);
168
+ _define_property(this, "options", {});
169
+ this.req = req;
170
+ this.res = res;
171
+ this.options = options || {};
172
+ this.serverData = {};
173
+ this.bind();
164
174
  }
165
175
  }
166
- export {
167
- ModernServerContext
168
- };
@@ -1,6 +1,3 @@
1
1
  import { ModernServerContext } from "./context";
2
- const createContext = (req, res, options) => new ModernServerContext(req, res, options);
3
- export {
4
- ModernServerContext,
5
- createContext
6
- };
2
+ export const createContext = (req, res, options) => new ModernServerContext(req, res, options);
3
+ export { ModernServerContext };