@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.
- package/README.md +20 -16
- package/dist/cjs/{libs/hook-api/route.js → error.js} +16 -25
- package/dist/cjs/index.js +46 -24
- package/dist/esm/error.js +15 -0
- package/dist/esm/index.js +105 -19
- package/dist/esm-node/error.js +14 -0
- package/dist/esm-node/index.js +44 -17
- package/dist/types/error.d.ts +6 -0
- package/dist/types/index.d.ts +21 -11
- package/package.json +18 -92
- package/dist/cjs/constants.js +0 -72
- package/dist/cjs/libs/context/context.js +0 -240
- package/dist/cjs/libs/context/index.js +0 -31
- package/dist/cjs/libs/hook-api/afterRenderForStream.js +0 -34
- package/dist/cjs/libs/hook-api/base.js +0 -107
- package/dist/cjs/libs/hook-api/index.js +0 -85
- package/dist/cjs/libs/hook-api/index.worker.js +0 -119
- package/dist/cjs/libs/hook-api/template.js +0 -74
- package/dist/cjs/libs/hook-api/templateForStream.js +0 -52
- package/dist/cjs/libs/loadConfig.js +0 -70
- package/dist/cjs/libs/metrics.js +0 -33
- package/dist/cjs/libs/preload/flushServerHeader.js +0 -49
- package/dist/cjs/libs/preload/index.js +0 -24
- package/dist/cjs/libs/preload/parseLinks.js +0 -124
- package/dist/cjs/libs/preload/shouldFlushServerHeader.js +0 -52
- package/dist/cjs/libs/preload/transformLinks2String.js +0 -150
- package/dist/cjs/libs/proxy.js +0 -99
- package/dist/cjs/libs/render/index.js +0 -109
- package/dist/cjs/libs/render/measure.js +0 -74
- package/dist/cjs/libs/render/ssr.js +0 -126
- package/dist/cjs/libs/render/ssrCache/cacheMod.js +0 -56
- package/dist/cjs/libs/render/ssrCache/index.js +0 -83
- package/dist/cjs/libs/render/ssrCache/manager.js +0 -106
- package/dist/cjs/libs/render/static.js +0 -72
- package/dist/cjs/libs/render/type.js +0 -33
- package/dist/cjs/libs/render/utils.js +0 -41
- package/dist/cjs/libs/reporter.js +0 -39
- package/dist/cjs/libs/route/index.js +0 -85
- package/dist/cjs/libs/route/matcher.js +0 -117
- package/dist/cjs/libs/route/route.js +0 -49
- package/dist/cjs/libs/serveFile.js +0 -84
- package/dist/cjs/libs/serverTiming.js +0 -44
- package/dist/cjs/renderHtml.js +0 -72
- package/dist/cjs/server/index.js +0 -229
- package/dist/cjs/server/modernServer.js +0 -532
- package/dist/cjs/server/modernServerSplit.js +0 -67
- package/dist/cjs/type.js +0 -16
- package/dist/cjs/utils.js +0 -164
- package/dist/cjs/workerServer.js +0 -264
- package/dist/esm/constants.js +0 -43
- package/dist/esm/libs/context/context.js +0 -292
- package/dist/esm/libs/context/index.js +0 -8
- package/dist/esm/libs/hook-api/afterRenderForStream.js +0 -33
- package/dist/esm/libs/hook-api/base.js +0 -108
- package/dist/esm/libs/hook-api/index.js +0 -55
- package/dist/esm/libs/hook-api/index.worker.js +0 -113
- package/dist/esm/libs/hook-api/route.js +0 -41
- package/dist/esm/libs/hook-api/template.js +0 -84
- package/dist/esm/libs/hook-api/templateForStream.js +0 -35
- package/dist/esm/libs/loadConfig.js +0 -36
- package/dist/esm/libs/metrics.js +0 -9
- package/dist/esm/libs/preload/flushServerHeader.js +0 -50
- package/dist/esm/libs/preload/index.js +0 -2
- package/dist/esm/libs/preload/parseLinks.js +0 -172
- package/dist/esm/libs/preload/shouldFlushServerHeader.js +0 -27
- package/dist/esm/libs/preload/transformLinks2String.js +0 -140
- package/dist/esm/libs/proxy.js +0 -160
- package/dist/esm/libs/render/index.js +0 -175
- package/dist/esm/libs/render/measure.js +0 -69
- package/dist/esm/libs/render/ssr.js +0 -129
- package/dist/esm/libs/render/ssrCache/cacheMod.js +0 -33
- package/dist/esm/libs/render/ssrCache/index.js +0 -151
- package/dist/esm/libs/render/ssrCache/manager.js +0 -170
- package/dist/esm/libs/render/static.js +0 -100
- package/dist/esm/libs/render/type.js +0 -9
- package/dist/esm/libs/render/utils.js +0 -16
- package/dist/esm/libs/reporter.js +0 -15
- package/dist/esm/libs/route/index.js +0 -116
- package/dist/esm/libs/route/matcher.js +0 -128
- package/dist/esm/libs/route/route.js +0 -26
- package/dist/esm/libs/serveFile.js +0 -68
- package/dist/esm/libs/serverTiming.js +0 -30
- package/dist/esm/renderHtml.js +0 -150
- package/dist/esm/server/index.js +0 -426
- package/dist/esm/server/modernServer.js +0 -1018
- package/dist/esm/server/modernServerSplit.js +0 -138
- package/dist/esm/type.js +0 -0
- package/dist/esm/utils.js +0 -103
- package/dist/esm/workerServer.js +0 -347
- package/dist/esm-node/constants.js +0 -43
- package/dist/esm-node/libs/context/context.js +0 -206
- package/dist/esm-node/libs/context/index.js +0 -6
- package/dist/esm-node/libs/hook-api/afterRenderForStream.js +0 -10
- package/dist/esm-node/libs/hook-api/base.js +0 -72
- package/dist/esm-node/libs/hook-api/index.js +0 -57
- package/dist/esm-node/libs/hook-api/index.worker.js +0 -92
- package/dist/esm-node/libs/hook-api/route.js +0 -24
- package/dist/esm-node/libs/hook-api/template.js +0 -49
- package/dist/esm-node/libs/hook-api/templateForStream.js +0 -28
- package/dist/esm-node/libs/loadConfig.js +0 -34
- package/dist/esm-node/libs/metrics.js +0 -9
- package/dist/esm-node/libs/preload/flushServerHeader.js +0 -25
- package/dist/esm-node/libs/preload/index.js +0 -2
- package/dist/esm-node/libs/preload/parseLinks.js +0 -90
- package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +0 -27
- package/dist/esm-node/libs/preload/transformLinks2String.js +0 -126
- package/dist/esm-node/libs/proxy.js +0 -74
- package/dist/esm-node/libs/render/index.js +0 -75
- package/dist/esm-node/libs/render/measure.js +0 -49
- package/dist/esm-node/libs/render/ssr.js +0 -92
- package/dist/esm-node/libs/render/ssrCache/cacheMod.js +0 -22
- package/dist/esm-node/libs/render/ssrCache/index.js +0 -59
- package/dist/esm-node/libs/render/ssrCache/manager.js +0 -82
- package/dist/esm-node/libs/render/static.js +0 -38
- package/dist/esm-node/libs/render/type.js +0 -9
- package/dist/esm-node/libs/render/utils.js +0 -16
- package/dist/esm-node/libs/reporter.js +0 -15
- package/dist/esm-node/libs/route/index.js +0 -60
- package/dist/esm-node/libs/route/matcher.js +0 -93
- package/dist/esm-node/libs/route/route.js +0 -25
- package/dist/esm-node/libs/serveFile.js +0 -49
- package/dist/esm-node/libs/serverTiming.js +0 -20
- package/dist/esm-node/renderHtml.js +0 -80
- package/dist/esm-node/server/index.js +0 -195
- package/dist/esm-node/server/modernServer.js +0 -498
- package/dist/esm-node/server/modernServerSplit.js +0 -43
- package/dist/esm-node/type.js +0 -0
- package/dist/esm-node/utils.js +0 -132
- package/dist/esm-node/workerServer.js +0 -239
- package/dist/types/constants.d.ts +0 -30
- package/dist/types/libs/context/context.d.ts +0 -62
- package/dist/types/libs/context/index.d.ts +0 -7
- package/dist/types/libs/hook-api/afterRenderForStream.d.ts +0 -4
- package/dist/types/libs/hook-api/base.d.ts +0 -53
- package/dist/types/libs/hook-api/index.d.ts +0 -6
- package/dist/types/libs/hook-api/index.worker.d.ts +0 -19
- package/dist/types/libs/hook-api/route.d.ts +0 -9
- package/dist/types/libs/hook-api/template.d.ts +0 -22
- package/dist/types/libs/hook-api/templateForStream.d.ts +0 -8
- package/dist/types/libs/loadConfig.d.ts +0 -13
- package/dist/types/libs/metrics.d.ts +0 -3
- package/dist/types/libs/preload/flushServerHeader.d.ts +0 -14
- package/dist/types/libs/preload/index.d.ts +0 -2
- package/dist/types/libs/preload/parseLinks.d.ts +0 -13
- package/dist/types/libs/preload/shouldFlushServerHeader.d.ts +0 -3
- package/dist/types/libs/preload/transformLinks2String.d.ts +0 -3
- package/dist/types/libs/proxy.d.ts +0 -13
- package/dist/types/libs/render/index.d.ts +0 -21
- package/dist/types/libs/render/measure.d.ts +0 -10
- package/dist/types/libs/render/ssr.d.ts +0 -12
- package/dist/types/libs/render/ssrCache/cacheMod.d.ts +0 -8
- package/dist/types/libs/render/ssrCache/index.d.ts +0 -7
- package/dist/types/libs/render/ssrCache/manager.d.ts +0 -14
- package/dist/types/libs/render/static.d.ts +0 -3
- package/dist/types/libs/render/type.d.ts +0 -36
- package/dist/types/libs/render/utils.d.ts +0 -5
- package/dist/types/libs/reporter.d.ts +0 -2
- package/dist/types/libs/route/index.d.ts +0 -15
- package/dist/types/libs/route/matcher.d.ts +0 -15
- package/dist/types/libs/route/route.d.ts +0 -14
- package/dist/types/libs/serveFile.d.ts +0 -9
- package/dist/types/libs/serverTiming.d.ts +0 -13
- package/dist/types/renderHtml.d.ts +0 -23
- package/dist/types/server/index.d.ts +0 -55
- package/dist/types/server/modernServer.d.ts +0 -71
- package/dist/types/server/modernServerSplit.d.ts +0 -2
- package/dist/types/type.d.ts +0 -77
- package/dist/types/utils.d.ts +0 -24
- 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
|
-
});
|