@modern-js/prod-server 2.46.1 → 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 +19 -93
  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 -97
  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 -81
  33. package/dist/cjs/libs/render/ssrCache/manager.js +0 -104
  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 -142
  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 -146
  73. package/dist/esm/libs/render/ssrCache/manager.js +0 -159
  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 -63
  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 -57
  113. package/dist/esm-node/libs/render/ssrCache/manager.js +0 -80
  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,240 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var context_exports = {};
30
- __export(context_exports, {
31
- ModernServerContext: () => ModernServerContext
32
- });
33
- module.exports = __toCommonJS(context_exports);
34
- var import_class_private_field_get = require("@swc/helpers/_/_class_private_field_get");
35
- var import_class_private_field_init = require("@swc/helpers/_/_class_private_field_init");
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
- var import_url = require("url");
39
- var import_querystring = __toESM(require("querystring"));
40
- var import_buffer = require("buffer");
41
- var import_etag = __toESM(require("etag"));
42
- var import_fresh = __toESM(require("fresh"));
43
- var import_utils = require("@modern-js/utils");
44
- var import_serverTiming = require("../serverTiming");
45
- var import_reporter = require("../reporter");
46
- var import_utils2 = require("../../utils");
47
- const MOCK_URL_BASE = "https://modernjs.dev/";
48
- var _urls = /* @__PURE__ */ new WeakMap(), _queries = /* @__PURE__ */ new WeakMap();
49
- class ModernServerContext {
50
- get logger() {
51
- return this.req.logger;
52
- }
53
- get metrics() {
54
- return this.req.metrics;
55
- }
56
- get parsedURL() {
57
- try {
58
- let url = (0, import_class_private_field_get._)(this, _urls).get(this.req.url);
59
- if (!url) {
60
- url = new import_url.URL(this.req.url, MOCK_URL_BASE);
61
- (0, import_class_private_field_get._)(this, _urls).set(this.req.url, url);
62
- }
63
- return url;
64
- } catch (e) {
65
- this.logger.error("Parse URL error", e.stack || e.message);
66
- return new import_url.URL("/_modern_mock_path", MOCK_URL_BASE);
67
- }
68
- }
69
- bind() {
70
- const { req, res } = this;
71
- req.get = (key) => this.getReqHeader(key);
72
- res.set = (key, value) => {
73
- if (!res.headersSent) {
74
- res.setHeader(key, value);
75
- }
76
- return res;
77
- };
78
- res.send = (body) => {
79
- this.send(body);
80
- };
81
- }
82
- // compat express res.send, only support etag now
83
- send(body) {
84
- try {
85
- const generateETag = !this.res.getHeader("ETag") && this.options.etag;
86
- if (body !== void 0 && generateETag) {
87
- const encoding = typeof body === "string" ? "utf-8" : void 0;
88
- const buf = !import_buffer.Buffer.isBuffer(body) ? import_buffer.Buffer.from(body, encoding) : body;
89
- const etag = (0, import_etag.default)(buf, {
90
- weak: true
91
- });
92
- if (etag) {
93
- this.res.setHeader("ETag", etag);
94
- }
95
- }
96
- if (this.fresh) {
97
- this.status = 304;
98
- }
99
- } catch (e) {
100
- this.logger.error(e.message);
101
- }
102
- this.res.end(body);
103
- }
104
- setParams(params) {
105
- this.params = params;
106
- }
107
- setServerData(key, value) {
108
- this.serverData[key] = value;
109
- }
110
- getReqHeader(key) {
111
- const { req } = this;
112
- const field = key.toLowerCase();
113
- switch (field) {
114
- case "referer":
115
- case "referrer":
116
- return req.headers.referrer || req.headers.referer || "";
117
- default:
118
- return req.headers[field] || "";
119
- }
120
- }
121
- get fresh() {
122
- const { status, res, method } = this;
123
- if ("GET" !== method && "HEAD" !== method) {
124
- return false;
125
- }
126
- if (status >= 200 && status < 300 || 304 === status) {
127
- return (0, import_fresh.default)(this.headers, {
128
- etag: res.getHeader("ETag"),
129
- "last-modified": res.getHeader("Last-Modified")
130
- });
131
- }
132
- return false;
133
- }
134
- /* request property */
135
- get headers() {
136
- return this.req.headers;
137
- }
138
- get method() {
139
- return this.req.method;
140
- }
141
- get url() {
142
- return this.req.url || "";
143
- }
144
- set url(val) {
145
- this.req.url = val;
146
- }
147
- get host() {
148
- let host = this.getReqHeader("X-Forwarded-Host");
149
- if (!host) {
150
- host = this.getReqHeader("Host");
151
- }
152
- host = host.split(/\s*,\s*/, 1)[0] || "undefined";
153
- return host;
154
- }
155
- get protocol() {
156
- if (this.req.socket.encrypted) {
157
- return "https";
158
- }
159
- const proto = this.getReqHeader("X-Forwarded-Proto");
160
- return proto ? proto.split(/\s*,\s*/, 1)[0] : "http";
161
- }
162
- get origin() {
163
- return `${this.protocol}://${this.host}`;
164
- }
165
- get href() {
166
- return this.origin + this.url;
167
- }
168
- get path() {
169
- return this.parsedURL.pathname;
170
- }
171
- set path(p) {
172
- if (!p) {
173
- return;
174
- }
175
- if (this.path === p) {
176
- return;
177
- }
178
- this.url = p + this.parsedURL.search;
179
- }
180
- get querystring() {
181
- if (!this.req) {
182
- return "";
183
- }
184
- return this.parsedURL.search.replace(/^\?/, "") || "";
185
- }
186
- get query() {
187
- const str = this.querystring;
188
- let query = (0, import_class_private_field_get._)(this, _queries).get(str);
189
- if (!query) {
190
- query = import_querystring.default.parse(str);
191
- (0, import_class_private_field_get._)(this, _queries).set(str, query);
192
- }
193
- return query;
194
- }
195
- /* response property */
196
- get status() {
197
- return this.res.statusCode;
198
- }
199
- set status(statusCode) {
200
- this.res.statusCode = statusCode;
201
- }
202
- /**
203
- * 判断链接是否已经关闭
204
- */
205
- resHasHandled() {
206
- return this.res.writableEnded;
207
- }
208
- error(dig, e = "") {
209
- 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
- }
211
- 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
- (0, import_class_private_field_init._)(this, _urls, {
220
- writable: true,
221
- value: void 0
222
- });
223
- (0, import_class_private_field_init._)(this, _queries, {
224
- writable: true,
225
- value: void 0
226
- });
227
- this.req = req;
228
- this.res = res;
229
- this.options = options || {};
230
- this.bind();
231
- (0, import_class_private_field_set._)(this, _urls, /* @__PURE__ */ new Map());
232
- (0, import_class_private_field_set._)(this, _queries, /* @__PURE__ */ new Map());
233
- this.serverTiming = new import_serverTiming.ServerTiming(this.res, (0, import_utils.cutNameByHyphen)((options === null || options === void 0 ? void 0 : options.metaName) || "modern-js"));
234
- req.reporter && (this.reporter = req.reporter);
235
- }
236
- }
237
- // Annotate the CommonJS export names for ESM import in node:
238
- 0 && (module.exports = {
239
- ModernServerContext
240
- });
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var context_exports = {};
20
- __export(context_exports, {
21
- ModernServerContext: () => import_context.ModernServerContext,
22
- createContext: () => createContext
23
- });
24
- module.exports = __toCommonJS(context_exports);
25
- var import_context = require("./context");
26
- const createContext = (req, res, options) => new import_context.ModernServerContext(req, res, options);
27
- // Annotate the CommonJS export names for ESM import in node:
28
- 0 && (module.exports = {
29
- ModernServerContext,
30
- createContext
31
- });
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var afterRenderForStream_exports = {};
20
- __export(afterRenderForStream_exports, {
21
- afterRenderInjectableStream: () => afterRenderInjectableStream
22
- });
23
- module.exports = __toCommonJS(afterRenderForStream_exports);
24
- var import_stream = require("stream");
25
- const afterRenderInjectableStream = (fn) => new import_stream.Transform({
26
- async write(chunk, _, callback) {
27
- this.push(await fn(chunk.toString()));
28
- callback();
29
- }
30
- });
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
33
- afterRenderInjectableStream
34
- });
@@ -1,107 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var base_exports = {};
30
- __export(base_exports, {
31
- BaseRequest: () => BaseRequest,
32
- BaseResponse: () => BaseResponse
33
- });
34
- module.exports = __toCommonJS(base_exports);
35
- var import_define_property = require("@swc/helpers/_/_define_property");
36
- var import_cookie = __toESM(require("cookie"));
37
- class BaseResponse {
38
- get(key) {
39
- return this.res.getHeader(key);
40
- }
41
- set(key, value) {
42
- return this.res.setHeader(key, value);
43
- }
44
- status(code) {
45
- this.res.statusCode = code;
46
- }
47
- setCookie(key, value, options) {
48
- const cookieValue = this.res.getHeader("set-cookie") || "";
49
- const fmt = Array.isArray(cookieValue) ? cookieValue : [
50
- cookieValue
51
- ].filter(Boolean);
52
- fmt.push(import_cookie.default.serialize(key, value, options));
53
- this.res.setHeader("set-cookie", fmt.length === 1 ? fmt[0] : fmt);
54
- }
55
- clearCookie() {
56
- this.res.removeHeader("set-cookie");
57
- }
58
- raw(body, options) {
59
- const { status, headers = {} } = options || {};
60
- Object.entries(headers).forEach(([key, value]) => {
61
- this.res.setHeader(key, value);
62
- });
63
- if (status) {
64
- this.res.statusCode = status;
65
- }
66
- this.res.end(body);
67
- }
68
- constructor(res) {
69
- (0, import_define_property._)(this, "cookies", void 0);
70
- (0, import_define_property._)(this, "res", void 0);
71
- this.res = res;
72
- this.cookies = {
73
- set: this.setCookie.bind(this),
74
- clear: this.clearCookie.bind(this)
75
- };
76
- }
77
- }
78
- class BaseRequest {
79
- getCookie(key) {
80
- return this._cookie[key];
81
- }
82
- 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
- this.url = request.url;
92
- this.host = request.host;
93
- this.pathname = request.path;
94
- this.query = request.query;
95
- this.headers = request.headers;
96
- this.cookie = request.headers.cookie || "";
97
- this._cookie = import_cookie.default.parse(this.cookie);
98
- this.cookies = {
99
- get: this.getCookie.bind(this)
100
- };
101
- }
102
- }
103
- // Annotate the CommonJS export names for ESM import in node:
104
- 0 && (module.exports = {
105
- BaseRequest,
106
- BaseResponse
107
- });
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var hook_api_exports = {};
20
- __export(hook_api_exports, {
21
- base: () => base,
22
- createAfterMatchContext: () => createAfterMatchContext,
23
- createAfterRenderContext: () => createAfterRenderContext,
24
- createAfterStreamingRenderContext: () => createAfterStreamingRenderContext,
25
- createMiddlewareContext: () => createMiddlewareContext
26
- });
27
- module.exports = __toCommonJS(hook_api_exports);
28
- var import_route = require("./route");
29
- var import_template = require("./template");
30
- var import_base = require("./base");
31
- const base = (context) => {
32
- const { res } = context;
33
- return {
34
- response: new import_base.BaseResponse(res),
35
- request: new import_base.BaseRequest(context),
36
- logger: context.logger,
37
- metrics: context.metrics
38
- };
39
- };
40
- const createAfterMatchContext = (context, entryName) => {
41
- const baseContext = base(context);
42
- return {
43
- ...baseContext,
44
- router: new import_route.RouteAPI(entryName)
45
- };
46
- };
47
- const createAfterRenderContext = (context, route, content) => {
48
- const baseContext = base(context);
49
- return {
50
- ...baseContext,
51
- route,
52
- template: new import_template.TemplateAPI(content)
53
- };
54
- };
55
- const createAfterStreamingRenderContext = (context, route) => {
56
- const baseContext = base(context);
57
- return (chunk) => {
58
- return {
59
- ...baseContext,
60
- route,
61
- chunk
62
- };
63
- };
64
- };
65
- const createMiddlewareContext = (context) => {
66
- const baseContext = base(context);
67
- baseContext.response.locals = context.res.locals || {};
68
- return {
69
- ...baseContext,
70
- response: baseContext.response,
71
- reporter: context.reporter,
72
- source: {
73
- req: context.req,
74
- res: context.res
75
- }
76
- };
77
- };
78
- // Annotate the CommonJS export names for ESM import in node:
79
- 0 && (module.exports = {
80
- base,
81
- createAfterMatchContext,
82
- createAfterRenderContext,
83
- createAfterStreamingRenderContext,
84
- createMiddlewareContext
85
- });
@@ -1,119 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var index_worker_exports = {};
20
- __export(index_worker_exports, {
21
- base: () => base,
22
- createAfterMatchContext: () => createAfterMatchContext,
23
- createAfterRenderContext: () => createAfterRenderContext,
24
- createMiddlewareContext: () => createMiddlewareContext
25
- });
26
- module.exports = __toCommonJS(index_worker_exports);
27
- var import_define_property = require("@swc/helpers/_/_define_property");
28
- var import_base = require("./base");
29
- var import_route = require("./route");
30
- var import_template = require("./template");
31
- class ServerResponse {
32
- set statusCode(code) {
33
- this.res.status = code;
34
- }
35
- get statusCode() {
36
- return this.res.status;
37
- }
38
- getHeader(key) {
39
- var _this_res_headers_get;
40
- return (_this_res_headers_get = this.res.headers.get(key)) !== null && _this_res_headers_get !== void 0 ? _this_res_headers_get : void 0;
41
- }
42
- setHeader(key, value) {
43
- this.res.headers.set(key, value);
44
- }
45
- removeHeader(key) {
46
- this.res.headers.delete(key);
47
- }
48
- end(body) {
49
- this.res.body = body;
50
- this.res.isSent = true;
51
- }
52
- constructor(res) {
53
- (0, import_define_property._)(this, "locals", void 0);
54
- (0, import_define_property._)(this, "res", void 0);
55
- this.res = res;
56
- this.locals = res.locals;
57
- }
58
- }
59
- const base = (context) => {
60
- const { req, res, logger, metrics } = context;
61
- const serverResponse = new ServerResponse(res);
62
- const { host, pathname, searchParams } = new URL(req.url);
63
- const headers = {};
64
- req.headers.forEach((value, key) => {
65
- headers[key] = value;
66
- });
67
- return {
68
- response: new import_base.BaseResponse(serverResponse),
69
- request: new import_base.BaseRequest({
70
- url: req.url,
71
- host,
72
- path: pathname,
73
- headers,
74
- // eslint-disable-next-line node/no-unsupported-features/es-builtins
75
- query: Object.fromEntries(searchParams)
76
- }),
77
- logger,
78
- metrics
79
- };
80
- };
81
- const createAfterMatchContext = (context, entryName) => {
82
- const baseContext = base(context);
83
- return {
84
- ...baseContext,
85
- router: new import_route.RouteAPI(entryName)
86
- };
87
- };
88
- const createAfterRenderContext = (context, route, content) => {
89
- const baseContext = base(context);
90
- return {
91
- ...baseContext,
92
- route,
93
- template: new import_template.TemplateAPI(content)
94
- };
95
- };
96
- const createMiddlewareContext = (context) => {
97
- const baseContext = base(context);
98
- baseContext.response.locals = context.res.locals;
99
- const { url, headers } = context.req;
100
- const rawRequest = new Request(url, {
101
- headers
102
- });
103
- return {
104
- ...baseContext,
105
- reporter: context.reporter,
106
- response: baseContext.response,
107
- source: {
108
- req: rawRequest,
109
- res: baseContext.response
110
- }
111
- };
112
- };
113
- // Annotate the CommonJS export names for ESM import in node:
114
- 0 && (module.exports = {
115
- base,
116
- createAfterMatchContext,
117
- createAfterRenderContext,
118
- createMiddlewareContext
119
- });
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var template_exports = {};
20
- __export(template_exports, {
21
- RegList: () => RegList,
22
- TemplateAPI: () => TemplateAPI
23
- });
24
- module.exports = __toCommonJS(template_exports);
25
- var import_define_property = require("@swc/helpers/_/_define_property");
26
- const RegList = {
27
- before: {
28
- head: "<head[^>]*>",
29
- body: "<body[^>]*>"
30
- },
31
- after: {
32
- head: "</head>",
33
- body: "</body>"
34
- }
35
- };
36
- class TemplateAPI {
37
- get() {
38
- return this.content;
39
- }
40
- set(content) {
41
- this.content = content;
42
- }
43
- prependHead(fragment) {
44
- const { head } = RegList.before;
45
- return this.replaceByFunction(new RegExp(head), (beforeHead) => `${beforeHead}${fragment}`);
46
- }
47
- appendHead(fragment) {
48
- const { head } = RegList.after;
49
- return this.replace(head, `${fragment}${head}`);
50
- }
51
- prependBody(fragment) {
52
- const { body } = RegList.before;
53
- return this.replaceByFunction(new RegExp(body), (beforeBody) => `${beforeBody}${fragment}`);
54
- }
55
- appendBody(fragment) {
56
- const { body } = RegList.after;
57
- return this.replace(body, `${fragment}${body}`);
58
- }
59
- replaceByFunction(reg, replacer) {
60
- this.content = this.content.replace(reg, replacer);
61
- }
62
- replace(reg, text) {
63
- this.content = this.content.replace(reg, text);
64
- }
65
- constructor(content) {
66
- (0, import_define_property._)(this, "content", void 0);
67
- this.content = content;
68
- }
69
- }
70
- // Annotate the CommonJS export names for ESM import in node:
71
- 0 && (module.exports = {
72
- RegList,
73
- TemplateAPI
74
- });