@modern-js/prod-server 2.47.0 → 2.47.1-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.
Files changed (169) hide show
  1. package/README.md +20 -16
  2. package/dist/cjs/{libs/hook-api/route.js → error.js} +16 -25
  3. package/dist/cjs/index.js +46 -24
  4. package/dist/esm/error.js +15 -0
  5. package/dist/esm/index.js +105 -19
  6. package/dist/esm-node/error.js +14 -0
  7. package/dist/esm-node/index.js +44 -17
  8. package/dist/types/error.d.ts +6 -0
  9. package/dist/types/index.d.ts +21 -11
  10. package/package.json +18 -92
  11. package/dist/cjs/constants.js +0 -72
  12. package/dist/cjs/libs/context/context.js +0 -240
  13. package/dist/cjs/libs/context/index.js +0 -31
  14. package/dist/cjs/libs/hook-api/afterRenderForStream.js +0 -34
  15. package/dist/cjs/libs/hook-api/base.js +0 -107
  16. package/dist/cjs/libs/hook-api/index.js +0 -85
  17. package/dist/cjs/libs/hook-api/index.worker.js +0 -119
  18. package/dist/cjs/libs/hook-api/template.js +0 -74
  19. package/dist/cjs/libs/hook-api/templateForStream.js +0 -52
  20. package/dist/cjs/libs/loadConfig.js +0 -70
  21. package/dist/cjs/libs/metrics.js +0 -33
  22. package/dist/cjs/libs/preload/flushServerHeader.js +0 -49
  23. package/dist/cjs/libs/preload/index.js +0 -24
  24. package/dist/cjs/libs/preload/parseLinks.js +0 -124
  25. package/dist/cjs/libs/preload/shouldFlushServerHeader.js +0 -52
  26. package/dist/cjs/libs/preload/transformLinks2String.js +0 -150
  27. package/dist/cjs/libs/proxy.js +0 -99
  28. package/dist/cjs/libs/render/index.js +0 -109
  29. package/dist/cjs/libs/render/measure.js +0 -74
  30. package/dist/cjs/libs/render/ssr.js +0 -126
  31. package/dist/cjs/libs/render/ssrCache/cacheMod.js +0 -56
  32. package/dist/cjs/libs/render/ssrCache/index.js +0 -83
  33. package/dist/cjs/libs/render/ssrCache/manager.js +0 -106
  34. package/dist/cjs/libs/render/static.js +0 -72
  35. package/dist/cjs/libs/render/type.js +0 -33
  36. package/dist/cjs/libs/render/utils.js +0 -41
  37. package/dist/cjs/libs/reporter.js +0 -39
  38. package/dist/cjs/libs/route/index.js +0 -85
  39. package/dist/cjs/libs/route/matcher.js +0 -117
  40. package/dist/cjs/libs/route/route.js +0 -49
  41. package/dist/cjs/libs/serveFile.js +0 -84
  42. package/dist/cjs/libs/serverTiming.js +0 -44
  43. package/dist/cjs/renderHtml.js +0 -72
  44. package/dist/cjs/server/index.js +0 -229
  45. package/dist/cjs/server/modernServer.js +0 -532
  46. package/dist/cjs/server/modernServerSplit.js +0 -67
  47. package/dist/cjs/type.js +0 -16
  48. package/dist/cjs/utils.js +0 -164
  49. package/dist/cjs/workerServer.js +0 -264
  50. package/dist/esm/constants.js +0 -43
  51. package/dist/esm/libs/context/context.js +0 -292
  52. package/dist/esm/libs/context/index.js +0 -8
  53. package/dist/esm/libs/hook-api/afterRenderForStream.js +0 -33
  54. package/dist/esm/libs/hook-api/base.js +0 -108
  55. package/dist/esm/libs/hook-api/index.js +0 -55
  56. package/dist/esm/libs/hook-api/index.worker.js +0 -113
  57. package/dist/esm/libs/hook-api/route.js +0 -41
  58. package/dist/esm/libs/hook-api/template.js +0 -84
  59. package/dist/esm/libs/hook-api/templateForStream.js +0 -35
  60. package/dist/esm/libs/loadConfig.js +0 -36
  61. package/dist/esm/libs/metrics.js +0 -9
  62. package/dist/esm/libs/preload/flushServerHeader.js +0 -50
  63. package/dist/esm/libs/preload/index.js +0 -2
  64. package/dist/esm/libs/preload/parseLinks.js +0 -172
  65. package/dist/esm/libs/preload/shouldFlushServerHeader.js +0 -27
  66. package/dist/esm/libs/preload/transformLinks2String.js +0 -140
  67. package/dist/esm/libs/proxy.js +0 -160
  68. package/dist/esm/libs/render/index.js +0 -175
  69. package/dist/esm/libs/render/measure.js +0 -69
  70. package/dist/esm/libs/render/ssr.js +0 -129
  71. package/dist/esm/libs/render/ssrCache/cacheMod.js +0 -33
  72. package/dist/esm/libs/render/ssrCache/index.js +0 -151
  73. package/dist/esm/libs/render/ssrCache/manager.js +0 -170
  74. package/dist/esm/libs/render/static.js +0 -100
  75. package/dist/esm/libs/render/type.js +0 -9
  76. package/dist/esm/libs/render/utils.js +0 -16
  77. package/dist/esm/libs/reporter.js +0 -15
  78. package/dist/esm/libs/route/index.js +0 -116
  79. package/dist/esm/libs/route/matcher.js +0 -128
  80. package/dist/esm/libs/route/route.js +0 -26
  81. package/dist/esm/libs/serveFile.js +0 -68
  82. package/dist/esm/libs/serverTiming.js +0 -30
  83. package/dist/esm/renderHtml.js +0 -150
  84. package/dist/esm/server/index.js +0 -426
  85. package/dist/esm/server/modernServer.js +0 -1018
  86. package/dist/esm/server/modernServerSplit.js +0 -138
  87. package/dist/esm/type.js +0 -0
  88. package/dist/esm/utils.js +0 -103
  89. package/dist/esm/workerServer.js +0 -347
  90. package/dist/esm-node/constants.js +0 -43
  91. package/dist/esm-node/libs/context/context.js +0 -206
  92. package/dist/esm-node/libs/context/index.js +0 -6
  93. package/dist/esm-node/libs/hook-api/afterRenderForStream.js +0 -10
  94. package/dist/esm-node/libs/hook-api/base.js +0 -72
  95. package/dist/esm-node/libs/hook-api/index.js +0 -57
  96. package/dist/esm-node/libs/hook-api/index.worker.js +0 -92
  97. package/dist/esm-node/libs/hook-api/route.js +0 -24
  98. package/dist/esm-node/libs/hook-api/template.js +0 -49
  99. package/dist/esm-node/libs/hook-api/templateForStream.js +0 -28
  100. package/dist/esm-node/libs/loadConfig.js +0 -34
  101. package/dist/esm-node/libs/metrics.js +0 -9
  102. package/dist/esm-node/libs/preload/flushServerHeader.js +0 -25
  103. package/dist/esm-node/libs/preload/index.js +0 -2
  104. package/dist/esm-node/libs/preload/parseLinks.js +0 -90
  105. package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +0 -27
  106. package/dist/esm-node/libs/preload/transformLinks2String.js +0 -126
  107. package/dist/esm-node/libs/proxy.js +0 -74
  108. package/dist/esm-node/libs/render/index.js +0 -75
  109. package/dist/esm-node/libs/render/measure.js +0 -49
  110. package/dist/esm-node/libs/render/ssr.js +0 -92
  111. package/dist/esm-node/libs/render/ssrCache/cacheMod.js +0 -22
  112. package/dist/esm-node/libs/render/ssrCache/index.js +0 -59
  113. package/dist/esm-node/libs/render/ssrCache/manager.js +0 -82
  114. package/dist/esm-node/libs/render/static.js +0 -38
  115. package/dist/esm-node/libs/render/type.js +0 -9
  116. package/dist/esm-node/libs/render/utils.js +0 -16
  117. package/dist/esm-node/libs/reporter.js +0 -15
  118. package/dist/esm-node/libs/route/index.js +0 -60
  119. package/dist/esm-node/libs/route/matcher.js +0 -93
  120. package/dist/esm-node/libs/route/route.js +0 -25
  121. package/dist/esm-node/libs/serveFile.js +0 -49
  122. package/dist/esm-node/libs/serverTiming.js +0 -20
  123. package/dist/esm-node/renderHtml.js +0 -80
  124. package/dist/esm-node/server/index.js +0 -195
  125. package/dist/esm-node/server/modernServer.js +0 -498
  126. package/dist/esm-node/server/modernServerSplit.js +0 -43
  127. package/dist/esm-node/type.js +0 -0
  128. package/dist/esm-node/utils.js +0 -132
  129. package/dist/esm-node/workerServer.js +0 -239
  130. package/dist/types/constants.d.ts +0 -30
  131. package/dist/types/libs/context/context.d.ts +0 -62
  132. package/dist/types/libs/context/index.d.ts +0 -7
  133. package/dist/types/libs/hook-api/afterRenderForStream.d.ts +0 -4
  134. package/dist/types/libs/hook-api/base.d.ts +0 -53
  135. package/dist/types/libs/hook-api/index.d.ts +0 -6
  136. package/dist/types/libs/hook-api/index.worker.d.ts +0 -19
  137. package/dist/types/libs/hook-api/route.d.ts +0 -9
  138. package/dist/types/libs/hook-api/template.d.ts +0 -22
  139. package/dist/types/libs/hook-api/templateForStream.d.ts +0 -8
  140. package/dist/types/libs/loadConfig.d.ts +0 -13
  141. package/dist/types/libs/metrics.d.ts +0 -3
  142. package/dist/types/libs/preload/flushServerHeader.d.ts +0 -14
  143. package/dist/types/libs/preload/index.d.ts +0 -2
  144. package/dist/types/libs/preload/parseLinks.d.ts +0 -13
  145. package/dist/types/libs/preload/shouldFlushServerHeader.d.ts +0 -3
  146. package/dist/types/libs/preload/transformLinks2String.d.ts +0 -3
  147. package/dist/types/libs/proxy.d.ts +0 -13
  148. package/dist/types/libs/render/index.d.ts +0 -21
  149. package/dist/types/libs/render/measure.d.ts +0 -10
  150. package/dist/types/libs/render/ssr.d.ts +0 -12
  151. package/dist/types/libs/render/ssrCache/cacheMod.d.ts +0 -8
  152. package/dist/types/libs/render/ssrCache/index.d.ts +0 -7
  153. package/dist/types/libs/render/ssrCache/manager.d.ts +0 -14
  154. package/dist/types/libs/render/static.d.ts +0 -3
  155. package/dist/types/libs/render/type.d.ts +0 -36
  156. package/dist/types/libs/render/utils.d.ts +0 -5
  157. package/dist/types/libs/reporter.d.ts +0 -2
  158. package/dist/types/libs/route/index.d.ts +0 -15
  159. package/dist/types/libs/route/matcher.d.ts +0 -15
  160. package/dist/types/libs/route/route.d.ts +0 -14
  161. package/dist/types/libs/serveFile.d.ts +0 -9
  162. package/dist/types/libs/serverTiming.d.ts +0 -13
  163. package/dist/types/renderHtml.d.ts +0 -23
  164. package/dist/types/server/index.d.ts +0 -55
  165. package/dist/types/server/modernServer.d.ts +0 -71
  166. package/dist/types/server/modernServerSplit.d.ts +0 -2
  167. package/dist/types/type.d.ts +0 -77
  168. package/dist/types/utils.d.ts +0 -24
  169. package/dist/types/workerServer.d.ts +0 -59
@@ -1,292 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _class_private_field_get } from "@swc/helpers/_/_class_private_field_get";
3
- import { _ as _class_private_field_init } from "@swc/helpers/_/_class_private_field_init";
4
- import { _ as _class_private_field_set } from "@swc/helpers/_/_class_private_field_set";
5
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
6
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
7
- import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
8
- import { URL } from "url";
9
- import qs from "querystring";
10
- import { Buffer } from "buffer";
11
- import createEtag from "etag";
12
- import fresh from "fresh";
13
- import { cutNameByHyphen } from "@modern-js/utils";
14
- import { ServerTiming } from "../serverTiming";
15
- import { defaultReporter } from "../reporter";
16
- import { headersWithoutCookie } from "../../utils";
17
- var MOCK_URL_BASE = "https://modernjs.dev/";
18
- var _urls = /* @__PURE__ */ new WeakMap(), _queries = /* @__PURE__ */ new WeakMap();
19
- var ModernServerContext = /* @__PURE__ */ function() {
20
- "use strict";
21
- function ModernServerContext2(req, res, options) {
22
- _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
- _class_private_field_init(this, _urls, {
31
- writable: true,
32
- value: void 0
33
- });
34
- _class_private_field_init(this, _queries, {
35
- writable: true,
36
- value: void 0
37
- });
38
- this.req = req;
39
- this.res = res;
40
- this.options = options || {};
41
- this.bind();
42
- _class_private_field_set(this, _urls, /* @__PURE__ */ new Map());
43
- _class_private_field_set(this, _queries, /* @__PURE__ */ new Map());
44
- this.serverTiming = new ServerTiming(this.res, cutNameByHyphen((options === null || options === void 0 ? void 0 : options.metaName) || "modern-js"));
45
- req.reporter && (this.reporter = req.reporter);
46
- }
47
- _create_class(ModernServerContext2, [
48
- {
49
- key: "logger",
50
- get: function get() {
51
- return this.req.logger;
52
- }
53
- },
54
- {
55
- key: "metrics",
56
- get: function get() {
57
- return this.req.metrics;
58
- }
59
- },
60
- {
61
- key: "parsedURL",
62
- get: function get() {
63
- try {
64
- var url = _class_private_field_get(this, _urls).get(this.req.url);
65
- if (!url) {
66
- url = new URL(this.req.url, MOCK_URL_BASE);
67
- _class_private_field_get(this, _urls).set(this.req.url, url);
68
- }
69
- return url;
70
- } catch (e) {
71
- this.logger.error("Parse URL error", e.stack || e.message);
72
- return new URL("/_modern_mock_path", MOCK_URL_BASE);
73
- }
74
- }
75
- },
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
- {
149
- key: "fresh",
150
- get: function get() {
151
- var _this = this, status = _this.status, res = _this.res, method = _this.method;
152
- if ("GET" !== method && "HEAD" !== method) {
153
- return false;
154
- }
155
- if (status >= 200 && status < 300 || 304 === status) {
156
- return fresh(this.headers, {
157
- etag: res.getHeader("ETag"),
158
- "last-modified": res.getHeader("Last-Modified")
159
- });
160
- }
161
- return false;
162
- }
163
- },
164
- {
165
- key: "headers",
166
- get: (
167
- /* request property */
168
- function get() {
169
- return this.req.headers;
170
- }
171
- )
172
- },
173
- {
174
- key: "method",
175
- get: function get() {
176
- return this.req.method;
177
- }
178
- },
179
- {
180
- key: "url",
181
- get: function get() {
182
- return this.req.url || "";
183
- },
184
- set: function set(val) {
185
- this.req.url = val;
186
- }
187
- },
188
- {
189
- key: "host",
190
- get: function get() {
191
- var host = this.getReqHeader("X-Forwarded-Host");
192
- if (!host) {
193
- host = this.getReqHeader("Host");
194
- }
195
- host = host.split(/\s*,\s*/, 1)[0] || "undefined";
196
- return host;
197
- }
198
- },
199
- {
200
- key: "protocol",
201
- get: function get() {
202
- if (this.req.socket.encrypted) {
203
- return "https";
204
- }
205
- var proto = this.getReqHeader("X-Forwarded-Proto");
206
- return proto ? proto.split(/\s*,\s*/, 1)[0] : "http";
207
- }
208
- },
209
- {
210
- key: "origin",
211
- get: function get() {
212
- return "".concat(this.protocol, "://").concat(this.host);
213
- }
214
- },
215
- {
216
- key: "href",
217
- get: function get() {
218
- return this.origin + this.url;
219
- }
220
- },
221
- {
222
- key: "path",
223
- get: function get() {
224
- return this.parsedURL.pathname;
225
- },
226
- set: function set(p) {
227
- if (!p) {
228
- return;
229
- }
230
- if (this.path === p) {
231
- return;
232
- }
233
- this.url = p + this.parsedURL.search;
234
- }
235
- },
236
- {
237
- key: "querystring",
238
- get: function get() {
239
- if (!this.req) {
240
- return "";
241
- }
242
- return this.parsedURL.search.replace(/^\?/, "") || "";
243
- }
244
- },
245
- {
246
- key: "query",
247
- get: function get() {
248
- var str = this.querystring;
249
- var query = _class_private_field_get(this, _queries).get(str);
250
- if (!query) {
251
- query = qs.parse(str);
252
- _class_private_field_get(this, _queries).set(str, query);
253
- }
254
- return query;
255
- }
256
- },
257
- {
258
- key: "status",
259
- get: (
260
- /* response property */
261
- function get() {
262
- return this.res.statusCode;
263
- }
264
- ),
265
- set: function set(statusCode) {
266
- this.res.statusCode = statusCode;
267
- }
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
- }
287
- ]);
288
- return ModernServerContext2;
289
- }();
290
- export {
291
- ModernServerContext
292
- };
@@ -1,8 +0,0 @@
1
- import { ModernServerContext } from "./context";
2
- var createContext = function(req, res, options) {
3
- return new ModernServerContext(req, res, options);
4
- };
5
- export {
6
- ModernServerContext,
7
- createContext
8
- };
@@ -1,33 +0,0 @@
1
- import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
2
- import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
3
- import { Transform } from "stream";
4
- var afterRenderInjectableStream = function(fn) {
5
- return new Transform({
6
- write: function write(chunk, _, callback) {
7
- return _async_to_generator(function() {
8
- var _2, _1;
9
- return _ts_generator(this, function(_state) {
10
- switch (_state.label) {
11
- case 0:
12
- _1 = (_2 = this).push;
13
- return [
14
- 4,
15
- fn(chunk.toString())
16
- ];
17
- case 1:
18
- _1.apply(_2, [
19
- _state.sent()
20
- ]);
21
- callback();
22
- return [
23
- 2
24
- ];
25
- }
26
- });
27
- }).apply(this);
28
- }
29
- });
30
- };
31
- export {
32
- afterRenderInjectableStream
33
- };
@@ -1,108 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
3
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
4
- import { _ as _sliced_to_array } from "@swc/helpers/_/_sliced_to_array";
5
- import cookie from "cookie";
6
- var BaseResponse = /* @__PURE__ */ function() {
7
- "use strict";
8
- function BaseResponse2(res) {
9
- _class_call_check(this, BaseResponse2);
10
- _define_property(this, "cookies", void 0);
11
- _define_property(this, "res", void 0);
12
- this.res = res;
13
- this.cookies = {
14
- set: this.setCookie.bind(this),
15
- clear: this.clearCookie.bind(this)
16
- };
17
- }
18
- _create_class(BaseResponse2, [
19
- {
20
- key: "get",
21
- value: function get(key) {
22
- return this.res.getHeader(key);
23
- }
24
- },
25
- {
26
- key: "set",
27
- value: function set(key, value) {
28
- return this.res.setHeader(key, value);
29
- }
30
- },
31
- {
32
- key: "status",
33
- value: function status(code) {
34
- this.res.statusCode = code;
35
- }
36
- },
37
- {
38
- key: "setCookie",
39
- value: function setCookie(key, value, options) {
40
- var cookieValue = this.res.getHeader("set-cookie") || "";
41
- var fmt = Array.isArray(cookieValue) ? cookieValue : [
42
- cookieValue
43
- ].filter(Boolean);
44
- fmt.push(cookie.serialize(key, value, options));
45
- this.res.setHeader("set-cookie", fmt.length === 1 ? fmt[0] : fmt);
46
- }
47
- },
48
- {
49
- key: "clearCookie",
50
- value: function clearCookie() {
51
- this.res.removeHeader("set-cookie");
52
- }
53
- },
54
- {
55
- key: "raw",
56
- value: function raw(body, options) {
57
- var _this = this;
58
- var _ref = options || {}, status = _ref.status, _ref_headers = _ref.headers, headers = _ref_headers === void 0 ? {} : _ref_headers;
59
- Object.entries(headers).forEach(function(param) {
60
- var _param = _sliced_to_array(param, 2), key = _param[0], value = _param[1];
61
- _this.res.setHeader(key, value);
62
- });
63
- if (status) {
64
- this.res.statusCode = status;
65
- }
66
- this.res.end(body);
67
- }
68
- }
69
- ]);
70
- return BaseResponse2;
71
- }();
72
- var BaseRequest = /* @__PURE__ */ function() {
73
- "use strict";
74
- function BaseRequest2(request) {
75
- _class_call_check(this, BaseRequest2);
76
- _define_property(this, "url", void 0);
77
- _define_property(this, "host", void 0);
78
- _define_property(this, "pathname", void 0);
79
- _define_property(this, "query", void 0);
80
- _define_property(this, "headers", void 0);
81
- _define_property(this, "cookie", void 0);
82
- _define_property(this, "cookies", void 0);
83
- _define_property(this, "_cookie", void 0);
84
- this.url = request.url;
85
- this.host = request.host;
86
- this.pathname = request.path;
87
- this.query = request.query;
88
- this.headers = request.headers;
89
- this.cookie = request.headers.cookie || "";
90
- this._cookie = cookie.parse(this.cookie);
91
- this.cookies = {
92
- get: this.getCookie.bind(this)
93
- };
94
- }
95
- _create_class(BaseRequest2, [
96
- {
97
- key: "getCookie",
98
- value: function getCookie(key) {
99
- return this._cookie[key];
100
- }
101
- }
102
- ]);
103
- return BaseRequest2;
104
- }();
105
- export {
106
- BaseRequest,
107
- BaseResponse
108
- };
@@ -1,55 +0,0 @@
1
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
2
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
3
- import { RouteAPI } from "./route";
4
- import { TemplateAPI } from "./template";
5
- import { BaseRequest, BaseResponse } from "./base";
6
- var base = function(context) {
7
- var res = context.res;
8
- return {
9
- response: new BaseResponse(res),
10
- request: new BaseRequest(context),
11
- logger: context.logger,
12
- metrics: context.metrics
13
- };
14
- };
15
- var createAfterMatchContext = function(context, entryName) {
16
- var baseContext = base(context);
17
- return _object_spread_props(_object_spread({}, baseContext), {
18
- router: new RouteAPI(entryName)
19
- });
20
- };
21
- var createAfterRenderContext = function(context, route, content) {
22
- var baseContext = base(context);
23
- return _object_spread_props(_object_spread({}, baseContext), {
24
- route,
25
- template: new TemplateAPI(content)
26
- });
27
- };
28
- var createAfterStreamingRenderContext = function(context, route) {
29
- var baseContext = base(context);
30
- return function(chunk) {
31
- return _object_spread_props(_object_spread({}, baseContext), {
32
- route,
33
- chunk
34
- });
35
- };
36
- };
37
- var createMiddlewareContext = function(context) {
38
- var baseContext = base(context);
39
- baseContext.response.locals = context.res.locals || {};
40
- return _object_spread_props(_object_spread({}, baseContext), {
41
- response: baseContext.response,
42
- reporter: context.reporter,
43
- source: {
44
- req: context.req,
45
- res: context.res
46
- }
47
- });
48
- };
49
- export {
50
- base,
51
- createAfterMatchContext,
52
- createAfterRenderContext,
53
- createAfterStreamingRenderContext,
54
- createMiddlewareContext
55
- };
@@ -1,113 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
3
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
4
- import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
5
- import { _ as _object_spread_props } from "@swc/helpers/_/_object_spread_props";
6
- import { BaseRequest, BaseResponse } from "./base";
7
- import { RouteAPI } from "./route";
8
- import { TemplateAPI } from "./template";
9
- var ServerResponse = /* @__PURE__ */ function() {
10
- "use strict";
11
- function ServerResponse2(res) {
12
- _class_call_check(this, ServerResponse2);
13
- _define_property(this, "locals", void 0);
14
- _define_property(this, "res", void 0);
15
- this.res = res;
16
- this.locals = res.locals;
17
- }
18
- _create_class(ServerResponse2, [
19
- {
20
- key: "statusCode",
21
- get: function get() {
22
- return this.res.status;
23
- },
24
- set: function set(code) {
25
- this.res.status = code;
26
- }
27
- },
28
- {
29
- key: "getHeader",
30
- value: function getHeader(key) {
31
- var _this_res_headers_get;
32
- return (_this_res_headers_get = this.res.headers.get(key)) !== null && _this_res_headers_get !== void 0 ? _this_res_headers_get : void 0;
33
- }
34
- },
35
- {
36
- key: "setHeader",
37
- value: function setHeader(key, value) {
38
- this.res.headers.set(key, value);
39
- }
40
- },
41
- {
42
- key: "removeHeader",
43
- value: function removeHeader(key) {
44
- this.res.headers.delete(key);
45
- }
46
- },
47
- {
48
- key: "end",
49
- value: function end(body) {
50
- this.res.body = body;
51
- this.res.isSent = true;
52
- }
53
- }
54
- ]);
55
- return ServerResponse2;
56
- }();
57
- var base = function(context) {
58
- var req = context.req, res = context.res, logger = context.logger, metrics = context.metrics;
59
- var serverResponse = new ServerResponse(res);
60
- var _ref = new URL(req.url), host = _ref.host, pathname = _ref.pathname, searchParams = _ref.searchParams;
61
- var headers = {};
62
- req.headers.forEach(function(value, key) {
63
- headers[key] = value;
64
- });
65
- return {
66
- response: new BaseResponse(serverResponse),
67
- request: new BaseRequest({
68
- url: req.url,
69
- host,
70
- path: pathname,
71
- headers,
72
- // eslint-disable-next-line node/no-unsupported-features/es-builtins
73
- query: Object.fromEntries(searchParams)
74
- }),
75
- logger,
76
- metrics
77
- };
78
- };
79
- var createAfterMatchContext = function(context, entryName) {
80
- var baseContext = base(context);
81
- return _object_spread_props(_object_spread({}, baseContext), {
82
- router: new RouteAPI(entryName)
83
- });
84
- };
85
- var createAfterRenderContext = function(context, route, content) {
86
- var baseContext = base(context);
87
- return _object_spread_props(_object_spread({}, baseContext), {
88
- route,
89
- template: new TemplateAPI(content)
90
- });
91
- };
92
- var createMiddlewareContext = function(context) {
93
- var baseContext = base(context);
94
- baseContext.response.locals = context.res.locals;
95
- var _context_req = context.req, url = _context_req.url, headers = _context_req.headers;
96
- var rawRequest = new Request(url, {
97
- headers
98
- });
99
- return _object_spread_props(_object_spread({}, baseContext), {
100
- reporter: context.reporter,
101
- response: baseContext.response,
102
- source: {
103
- req: rawRequest,
104
- res: baseContext.response
105
- }
106
- });
107
- };
108
- export {
109
- base,
110
- createAfterMatchContext,
111
- createAfterRenderContext,
112
- createMiddlewareContext
113
- };
@@ -1,41 +0,0 @@
1
- import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
2
- import { _ as _create_class } from "@swc/helpers/_/_create_class";
3
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
4
- var RouteAPI = /* @__PURE__ */ function() {
5
- "use strict";
6
- function RouteAPI2(entryName) {
7
- _class_call_check(this, RouteAPI2);
8
- _define_property(this, "current", void 0);
9
- _define_property(this, "status", void 0);
10
- _define_property(this, "url", void 0);
11
- this.current = entryName;
12
- this.status = 200;
13
- this.url = "";
14
- }
15
- _create_class(RouteAPI2, [
16
- {
17
- key: "redirect",
18
- value: function redirect(url) {
19
- var status = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 302;
20
- this.url = url;
21
- this.status = status;
22
- }
23
- },
24
- {
25
- key: "rewrite",
26
- value: function rewrite(entryName) {
27
- this.current = entryName;
28
- }
29
- },
30
- {
31
- key: "use",
32
- value: function use(entryName) {
33
- this.rewrite(entryName);
34
- }
35
- }
36
- ]);
37
- return RouteAPI2;
38
- }();
39
- export {
40
- RouteAPI
41
- };