egg 4.1.0-beta.34 → 4.1.0-beta.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent.d.ts +7 -3
- package/dist/agent.js +10 -6
- package/dist/ajv.d.ts +1 -1
- package/dist/ajv.js +3 -2
- package/dist/aop.d.ts +1 -1
- package/dist/aop.js +3 -2
- package/dist/app/extend/context.d.ts +181 -178
- package/dist/app/extend/context.js +244 -259
- package/dist/app/extend/helper.d.ts +40 -35
- package/dist/app/extend/helper.js +45 -41
- package/dist/app/extend/request.d.ts +135 -131
- package/dist/app/extend/request.js +219 -258
- package/dist/app/extend/response.d.ts +28 -24
- package/dist/app/extend/response.js +36 -34
- package/dist/app/middleware/body_parser.d.ts +2 -2
- package/dist/app/middleware/body_parser.js +7 -3
- package/dist/app/middleware/meta.d.ts +8 -8
- package/dist/app/middleware/meta.js +15 -18
- package/dist/app/middleware/notfound.d.ts +8 -5
- package/dist/app/middleware/notfound.js +25 -28
- package/dist/app/middleware/override_method.d.ts +2 -2
- package/dist/app/middleware/override_method.js +7 -3
- package/dist/app/middleware/site_file.d.ts +11 -7
- package/dist/app/middleware/site_file.js +37 -52
- package/dist/config/config.default.d.ts +11 -6
- package/dist/config/config.default.js +258 -375
- package/dist/config/config.local.d.ts +6 -3
- package/dist/config/config.local.js +7 -8
- package/dist/config/config.unittest.d.ts +6 -3
- package/dist/config/config.unittest.js +10 -8
- package/dist/config/plugin.d.ts +6 -2
- package/dist/config/plugin.js +67 -131
- package/dist/dal.d.ts +1 -1
- package/dist/dal.js +3 -2
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +3 -2
- package/dist/helper.d.ts +1 -1
- package/dist/helper.js +3 -2
- package/dist/index.d.ts +24 -106
- package/dist/index.js +23 -89
- package/dist/lib/agent.d.ts +21 -15
- package/dist/lib/agent.js +53 -45
- package/dist/lib/application.d.ts +60 -54
- package/dist/lib/application.js +200 -250
- package/dist/lib/core/base_context_class.d.ts +23 -17
- package/dist/lib/core/base_context_class.js +17 -15
- package/dist/lib/core/base_context_logger.d.ts +39 -35
- package/dist/lib/core/base_context_logger.js +58 -60
- package/dist/lib/core/base_hook_class.d.ts +18 -11
- package/dist/lib/core/base_hook_class.js +26 -22
- package/dist/lib/core/context_httpclient.d.ts +21 -16
- package/dist/lib/core/context_httpclient.js +29 -26
- package/dist/lib/core/httpclient.d.ts +14 -12
- package/dist/lib/core/httpclient.js +34 -37
- package/dist/lib/core/logger.d.ts +7 -3
- package/dist/lib/core/logger.js +30 -36
- package/dist/lib/core/messenger/IMessenger.d.ts +53 -49
- package/dist/lib/core/messenger/IMessenger.js +1 -2
- package/dist/lib/core/messenger/base.d.ts +11 -7
- package/dist/lib/core/messenger/base.js +30 -29
- package/dist/lib/core/messenger/index.d.ts +10 -6
- package/dist/lib/core/messenger/index.js +11 -8
- package/dist/lib/core/messenger/ipc.d.ts +62 -57
- package/dist/lib/core/messenger/ipc.js +126 -138
- package/dist/lib/core/messenger/local.d.ts +63 -58
- package/dist/lib/core/messenger/local.js +126 -131
- package/dist/lib/core/utils.d.ts +5 -2
- package/dist/lib/core/utils.js +44 -66
- package/dist/lib/define.d.ts +72 -67
- package/dist/lib/define.js +54 -53
- package/dist/lib/egg.d.ts +283 -281
- package/dist/lib/egg.js +512 -573
- package/dist/lib/error/CookieLimitExceedError.d.ts +7 -4
- package/dist/lib/error/CookieLimitExceedError.js +15 -12
- package/dist/lib/error/MessageUnhandledRejectionError.d.ts +7 -4
- package/dist/lib/error/MessageUnhandledRejectionError.js +15 -12
- package/dist/lib/error/index.d.ts +3 -2
- package/dist/lib/error/index.js +4 -3
- package/dist/lib/loader/AgentWorkerLoader.d.ts +15 -10
- package/dist/lib/loader/AgentWorkerLoader.js +22 -18
- package/dist/lib/loader/AppWorkerLoader.d.ts +20 -15
- package/dist/lib/loader/AppWorkerLoader.js +35 -37
- package/dist/lib/loader/EggApplicationLoader.d.ts +7 -3
- package/dist/lib/loader/EggApplicationLoader.js +7 -4
- package/dist/lib/loader/index.d.ts +4 -3
- package/dist/lib/loader/index.js +5 -4
- package/dist/lib/start.d.ts +24 -20
- package/dist/lib/start.js +32 -42
- package/dist/lib/types.d.ts +288 -286
- package/dist/lib/types.js +2 -2
- package/dist/lib/types.plugin.d.ts +21 -21
- package/dist/lib/types.plugin.js +23 -24
- package/dist/orm.d.ts +1 -1
- package/dist/orm.js +3 -2
- package/dist/schedule.d.ts +2 -2
- package/dist/schedule.js +5 -5
- package/dist/transaction.d.ts +1 -1
- package/dist/transaction.js +3 -2
- package/dist/urllib.d.ts +1 -1
- package/dist/urllib.js +3 -2
- package/package.json +60 -64
package/dist/lib/application.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
|
-
import fs from 'node:fs';
|
|
3
|
-
import http from 'node:http';
|
|
4
|
-
import { Socket } from 'node:net';
|
|
5
|
-
import { graceful } from 'graceful';
|
|
6
|
-
import { assign } from 'utility';
|
|
7
|
-
import { utils as eggUtils } from '@eggjs/core';
|
|
8
|
-
import { isGeneratorFunction } from 'is-type-of';
|
|
9
|
-
import { EggApplicationCore } from "./egg.js";
|
|
10
|
-
import { AppWorkerLoader } from "./loader/index.js";
|
|
11
1
|
import Helper from "../app/extend/helper.js";
|
|
12
|
-
import { CookieLimitExceedError } from "./error/
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
import { CookieLimitExceedError } from "./error/CookieLimitExceedError.js";
|
|
3
|
+
import { EggApplicationCore } from "./egg.js";
|
|
4
|
+
import { AppWorkerLoader } from "./loader/AppWorkerLoader.js";
|
|
5
|
+
import "./loader/index.js";
|
|
6
|
+
import { utils } from "@eggjs/core";
|
|
7
|
+
import path from "node:path";
|
|
8
|
+
import { assign } from "utility";
|
|
9
|
+
import fs from "node:fs";
|
|
10
|
+
import http from "node:http";
|
|
11
|
+
import { isGeneratorFunction } from "is-type-of";
|
|
12
|
+
import { Socket } from "node:net";
|
|
13
|
+
import { graceful } from "graceful";
|
|
14
|
+
|
|
15
|
+
//#region src/lib/application.ts
|
|
15
16
|
const DEFAULT_BAD_REQUEST_HTML = `<html>
|
|
16
17
|
<head><title>400 Bad Request</title></head>
|
|
17
18
|
<body bgcolor="white">
|
|
@@ -19,243 +20,192 @@ const DEFAULT_BAD_REQUEST_HTML = `<html>
|
|
|
19
20
|
<hr><center>❤</center>
|
|
20
21
|
</body>
|
|
21
22
|
</html>`;
|
|
22
|
-
const
|
|
23
|
-
const DEFAULT_BAD_REQUEST_RESPONSE = `HTTP/1.1 400 Bad Request\r\nContent-Length: ${DEFAULT_BAD_REQUEST_HTML_LENGTH}` +
|
|
24
|
-
`\r\n\r\n${DEFAULT_BAD_REQUEST_HTML}`;
|
|
25
|
-
// Refs: https://github.com/nodejs/node/blob/b38c81/lib/_http_outgoing.js#L706-L710
|
|
23
|
+
const DEFAULT_BAD_REQUEST_RESPONSE = `HTTP/1.1 400 Bad Request\r\nContent-Length: ${Buffer.byteLength(DEFAULT_BAD_REQUEST_HTML)}\r\n\r\n${DEFAULT_BAD_REQUEST_HTML}`;
|
|
26
24
|
function escapeHeaderValue(value) {
|
|
27
|
-
|
|
28
|
-
// minimize the performance impact in the common case.
|
|
29
|
-
return /[\r\n]/.test(value) ? value.replace(/[\r\n]+[ \t]*/g, '') : value;
|
|
25
|
+
return /[\r\n]/.test(value) ? value.replace(/[\r\n]+[ \t]*/g, "") : value;
|
|
30
26
|
}
|
|
31
27
|
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
}
|
|
217
|
-
throw new Error('Please set config.keys first');
|
|
218
|
-
}
|
|
219
|
-
this._keys = this.config.keys.split(',').map((s) => s.trim());
|
|
220
|
-
}
|
|
221
|
-
return this._keys;
|
|
222
|
-
}
|
|
223
|
-
/**
|
|
224
|
-
* @deprecated keep compatible with egg 3.x
|
|
225
|
-
*/
|
|
226
|
-
toAsyncFunction(fn) {
|
|
227
|
-
if (isGeneratorFunction(fn)) {
|
|
228
|
-
throw new Error('Generator function is not supported');
|
|
229
|
-
}
|
|
230
|
-
return fn;
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* bind app's events
|
|
234
|
-
*
|
|
235
|
-
* @private
|
|
236
|
-
*/
|
|
237
|
-
#bindEvents() {
|
|
238
|
-
// Browser Cookie Limits: http://browsercookielimits.iain.guru/
|
|
239
|
-
// https://github.com/eggjs/egg-cookies/blob/58ef4ea497a0eb4dd711d7e9751e56bc5fcee004/src/cookies.ts#L145
|
|
240
|
-
this.on('cookieLimitExceed', ({ name, value, ctx }) => {
|
|
241
|
-
const err = new CookieLimitExceedError(name, value);
|
|
242
|
-
ctx.coreLogger.error(err);
|
|
243
|
-
});
|
|
244
|
-
// expose server to support websocket
|
|
245
|
-
this.once('server', (server) => this.onServer(server));
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* warn when confused configurations are present
|
|
249
|
-
*
|
|
250
|
-
* @private
|
|
251
|
-
*/
|
|
252
|
-
#warnConfusedConfig() {
|
|
253
|
-
const confusedConfigurations = this.config.confusedConfigurations;
|
|
254
|
-
Object.keys(confusedConfigurations).forEach((key) => {
|
|
255
|
-
if (this.config[key] !== undefined) {
|
|
256
|
-
this.logger.warn('[egg:application] Unexpected config key `%o` exists, Please use `%o` instead.', key, confusedConfigurations[key]);
|
|
257
|
-
}
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2FwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxLQUFLLElBQUksUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdELE1BQU0sVUFBVSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLE1BQU0sTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUcxRCxrQ0FBa0M7QUFDbEMsc0ZBQXNGO0FBQ3RGLE1BQU0sd0JBQXdCLEdBQUc7Ozs7OztVQU12QixDQUFDO0FBQ1gsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDcEYsTUFBTSw0QkFBNEIsR0FDaEMsK0NBQStDLCtCQUErQixFQUFFO0lBQ2hGLFdBQVcsd0JBQXdCLEVBQUUsQ0FBQztBQUV4QyxtRkFBbUY7QUFDbkYsU0FBUyxpQkFBaUIsQ0FBQyxLQUFhO0lBQ3RDLGlFQUFpRTtJQUNqRSxzREFBc0Q7SUFDdEQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFD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
|
|
28
|
+
* Singleton instance in App Worker, extend {@link EggApplicationCore}
|
|
29
|
+
* @augments EggApplicationCore
|
|
30
|
+
*/
|
|
31
|
+
var Application = class extends EggApplicationCore {
|
|
32
|
+
server;
|
|
33
|
+
#locals = {};
|
|
34
|
+
/**
|
|
35
|
+
* reference to {@link Helper}
|
|
36
|
+
* @member {Helper} Application#Helper
|
|
37
|
+
*/
|
|
38
|
+
Helper = Helper;
|
|
39
|
+
/**
|
|
40
|
+
* @class
|
|
41
|
+
* @param {Object} options - see {@link EggApplicationCore}
|
|
42
|
+
*/
|
|
43
|
+
constructor(options) {
|
|
44
|
+
super({
|
|
45
|
+
...options,
|
|
46
|
+
type: "application"
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
customEggLoader() {
|
|
50
|
+
return AppWorkerLoader;
|
|
51
|
+
}
|
|
52
|
+
async load() {
|
|
53
|
+
await super.load();
|
|
54
|
+
this.#warnConfusedConfig();
|
|
55
|
+
this.#bindEvents();
|
|
56
|
+
}
|
|
57
|
+
#responseRaw(socket, raw) {
|
|
58
|
+
if (!socket?.writable) return;
|
|
59
|
+
if (!raw) {
|
|
60
|
+
socket.end(DEFAULT_BAD_REQUEST_RESPONSE);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const body = raw.body == null ? DEFAULT_BAD_REQUEST_HTML : raw.body;
|
|
64
|
+
const headers = raw.headers || {};
|
|
65
|
+
const status = raw.status || 400;
|
|
66
|
+
let responseHeaderLines = "";
|
|
67
|
+
const firstLine = `HTTP/1.1 ${status} ${http.STATUS_CODES[status] || "Unknown"}`;
|
|
68
|
+
for (const key of Object.keys(headers)) {
|
|
69
|
+
if (key.toLowerCase() === "content-length") {
|
|
70
|
+
delete headers[key];
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
responseHeaderLines += `${key}: ${escapeHeaderValue(headers[key])}\r\n`;
|
|
74
|
+
}
|
|
75
|
+
responseHeaderLines += `Content-Length: ${Buffer.byteLength(body)}\r\n`;
|
|
76
|
+
socket.end(`${firstLine}\r\n${responseHeaderLines}\r\n${body.toString()}`);
|
|
77
|
+
}
|
|
78
|
+
onClientError(err, socket) {
|
|
79
|
+
if (err.rawPacket) this.logger.warn("[egg:application] A client (%s:%d) error [%s] occurred: %s", socket.remoteAddress, socket.remotePort, err.code, err.message);
|
|
80
|
+
if (typeof this.config.onClientError === "function") utils.callFn(this.config.onClientError, [
|
|
81
|
+
err,
|
|
82
|
+
socket,
|
|
83
|
+
this
|
|
84
|
+
]).then((ret) => {
|
|
85
|
+
this.#responseRaw(socket, ret || {});
|
|
86
|
+
}).catch((err$1) => {
|
|
87
|
+
this.logger.error(err$1);
|
|
88
|
+
this.#responseRaw(socket);
|
|
89
|
+
});
|
|
90
|
+
else this.#responseRaw(socket);
|
|
91
|
+
}
|
|
92
|
+
onServer(server) {
|
|
93
|
+
this.server = server;
|
|
94
|
+
const serverGracefulIgnoreCode = this.config.serverGracefulIgnoreCode || [];
|
|
95
|
+
graceful({
|
|
96
|
+
server: [server],
|
|
97
|
+
error: (err, throwErrorCount) => {
|
|
98
|
+
const originMessage = err.message;
|
|
99
|
+
if (originMessage) Object.defineProperty(err, "message", {
|
|
100
|
+
get() {
|
|
101
|
+
return `${originMessage} (uncaughtException throw ${throwErrorCount} times on pid: ${process.pid})`;
|
|
102
|
+
},
|
|
103
|
+
configurable: true,
|
|
104
|
+
enumerable: false
|
|
105
|
+
});
|
|
106
|
+
this.coreLogger.error(err);
|
|
107
|
+
},
|
|
108
|
+
ignoreCode: serverGracefulIgnoreCode
|
|
109
|
+
});
|
|
110
|
+
server.on("clientError", (err, socket) => this.onClientError(err, socket));
|
|
111
|
+
if (typeof this.config.serverTimeout === "number") server.setTimeout(this.config.serverTimeout);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* global locals for view
|
|
115
|
+
* @member {Object} Application#locals
|
|
116
|
+
* @see Context#locals
|
|
117
|
+
*/
|
|
118
|
+
get locals() {
|
|
119
|
+
return this.#locals;
|
|
120
|
+
}
|
|
121
|
+
set locals(val) {
|
|
122
|
+
assign(this.#locals, val);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* save routers to `run/router.json`
|
|
126
|
+
* @private
|
|
127
|
+
*/
|
|
128
|
+
dumpConfig() {
|
|
129
|
+
super.dumpConfig();
|
|
130
|
+
const rundir = this.config.rundir;
|
|
131
|
+
const FULLPATH = this.loader.FileLoader.FULLPATH;
|
|
132
|
+
try {
|
|
133
|
+
const dumpRouterFile = path.join(rundir, "router.json");
|
|
134
|
+
const routers = [];
|
|
135
|
+
for (const layer of this.router.stack) routers.push({
|
|
136
|
+
name: layer.name,
|
|
137
|
+
methods: layer.methods,
|
|
138
|
+
paramNames: layer.paramNames,
|
|
139
|
+
path: layer.path,
|
|
140
|
+
regexp: layer.regexp.toString(),
|
|
141
|
+
stack: layer.stack.map((stack) => stack[FULLPATH] || stack._name || stack.name || "anonymous")
|
|
142
|
+
});
|
|
143
|
+
fs.writeFileSync(dumpRouterFile, JSON.stringify(routers, null, 2));
|
|
144
|
+
} catch (err) {
|
|
145
|
+
this.coreLogger.warn(`dumpConfig router.json error: ${err.message}`);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Run async function in the background
|
|
150
|
+
* @see Context#runInBackground
|
|
151
|
+
* @param {Function} scope - the first args is an anonymous ctx
|
|
152
|
+
*/
|
|
153
|
+
runInBackground(scope, req) {
|
|
154
|
+
const ctx = this.createAnonymousContext(req);
|
|
155
|
+
if (!scope.name) Reflect.set(scope, "_name", utils.getCalleeFromStack(true));
|
|
156
|
+
this.ctxStorage.run(ctx, () => {
|
|
157
|
+
return ctx.runInBackground(scope);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* secret key for Application
|
|
162
|
+
* @member {String} Application#keys
|
|
163
|
+
*/
|
|
164
|
+
get keys() {
|
|
165
|
+
if (!this._keys) {
|
|
166
|
+
if (!this.config.keys) {
|
|
167
|
+
if (this.config.env === "local" || this.config.env === "unittest") {
|
|
168
|
+
const configPath = path.join(this.config.baseDir, "config/config.default.js");
|
|
169
|
+
console.error("Cookie need secret key to sign and encrypt.");
|
|
170
|
+
console.error("Please add `config.keys` in %s", configPath);
|
|
171
|
+
}
|
|
172
|
+
throw new Error("Please set config.keys first");
|
|
173
|
+
}
|
|
174
|
+
this._keys = this.config.keys.split(",").map((s) => s.trim());
|
|
175
|
+
}
|
|
176
|
+
return this._keys;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* @deprecated keep compatible with egg 3.x
|
|
180
|
+
*/
|
|
181
|
+
toAsyncFunction(fn) {
|
|
182
|
+
if (isGeneratorFunction(fn)) throw new Error("Generator function is not supported");
|
|
183
|
+
return fn;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* bind app's events
|
|
187
|
+
*
|
|
188
|
+
* @private
|
|
189
|
+
*/
|
|
190
|
+
#bindEvents() {
|
|
191
|
+
this.on("cookieLimitExceed", ({ name, value, ctx }) => {
|
|
192
|
+
const err = new CookieLimitExceedError(name, value);
|
|
193
|
+
ctx.coreLogger.error(err);
|
|
194
|
+
});
|
|
195
|
+
this.once("server", (server) => this.onServer(server));
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* warn when confused configurations are present
|
|
199
|
+
*
|
|
200
|
+
* @private
|
|
201
|
+
*/
|
|
202
|
+
#warnConfusedConfig() {
|
|
203
|
+
const confusedConfigurations = this.config.confusedConfigurations;
|
|
204
|
+
Object.keys(confusedConfigurations).forEach((key) => {
|
|
205
|
+
if (this.config[key] !== void 0) this.logger.warn("[egg:application] Unexpected config key `%o` exists, Please use `%o` instead.", key, confusedConfigurations[key]);
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
//#endregion
|
|
211
|
+
export { Application };
|
|
@@ -1,19 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
1
|
+
import { IService } from "../types.js";
|
|
2
|
+
import Context$1 from "../../app/extend/context.js";
|
|
3
|
+
import "../egg.js";
|
|
4
|
+
import { Application } from "../application.js";
|
|
5
|
+
import { BaseContextLogger } from "./base_context_logger.js";
|
|
6
|
+
import { BaseContextClass as BaseContextClass$1 } from "@eggjs/core";
|
|
7
|
+
|
|
8
|
+
//#region src/lib/core/base_context_class.d.ts
|
|
9
|
+
|
|
6
10
|
/**
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
* BaseContextClass is a base class that can be extended,
|
|
12
|
+
* it's instantiated in context level,
|
|
13
|
+
* {@link Helper}, {@link Service} is extending it.
|
|
14
|
+
*/
|
|
15
|
+
declare class BaseContextClass extends BaseContextClass$1 {
|
|
16
|
+
#private;
|
|
17
|
+
[key: string | symbol]: any;
|
|
18
|
+
ctx: Context$1;
|
|
19
|
+
pathName?: string;
|
|
20
|
+
app: Application;
|
|
21
|
+
service: IService;
|
|
22
|
+
get logger(): BaseContextLogger;
|
|
19
23
|
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { BaseContextClass };
|
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { BaseContextClass as EggCoreBaseContextClass } from '@eggjs/core';
|
|
2
1
|
import { BaseContextLogger } from "./base_context_logger.js";
|
|
2
|
+
import { BaseContextClass as BaseContextClass$1 } from "@eggjs/core";
|
|
3
|
+
|
|
4
|
+
//#region src/lib/core/base_context_class.ts
|
|
3
5
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
6
|
+
* BaseContextClass is a base class that can be extended,
|
|
7
|
+
* it's instantiated in context level,
|
|
8
|
+
* {@link Helper}, {@link Service} is extending it.
|
|
9
|
+
*/
|
|
10
|
+
var BaseContextClass = class extends BaseContextClass$1 {
|
|
11
|
+
#logger;
|
|
12
|
+
get logger() {
|
|
13
|
+
if (!this.#logger) this.#logger = new BaseContextLogger(this.ctx, this.pathName);
|
|
14
|
+
return this.#logger;
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { BaseContextClass };
|
|
@@ -1,36 +1,40 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
1
|
+
import { EggContext } from "../egg.js";
|
|
2
|
+
|
|
3
|
+
//#region src/lib/core/base_context_logger.d.ts
|
|
4
|
+
declare class BaseContextLogger {
|
|
5
|
+
#private;
|
|
6
|
+
/**
|
|
7
|
+
* @class
|
|
8
|
+
* @param {Context} ctx - context instance
|
|
9
|
+
* @param {String} pathName - class path name
|
|
10
|
+
* @since 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
constructor(ctx: EggContext, pathName?: string);
|
|
13
|
+
protected _log(method: "info" | "warn" | "error" | "debug", args: any[]): void;
|
|
14
|
+
/**
|
|
15
|
+
* @member {Function} BaseContextLogger#debug
|
|
16
|
+
* @param {...any} args - log msg
|
|
17
|
+
* @since 1.2.0
|
|
18
|
+
*/
|
|
19
|
+
debug(...args: any[]): void;
|
|
20
|
+
/**
|
|
21
|
+
* @member {Function} BaseContextLogger#info
|
|
22
|
+
* @param {...any} args - log msg
|
|
23
|
+
* @since 1.2.0
|
|
24
|
+
*/
|
|
25
|
+
info(...args: any[]): void;
|
|
26
|
+
/**
|
|
27
|
+
* @member {Function} BaseContextLogger#warn
|
|
28
|
+
* @param {...any} args - log msg
|
|
29
|
+
* @since 1.2.0
|
|
30
|
+
*/
|
|
31
|
+
warn(...args: any[]): void;
|
|
32
|
+
/**
|
|
33
|
+
* @member {Function} BaseContextLogger#error
|
|
34
|
+
* @param {...any} args - log msg
|
|
35
|
+
* @since 1.2.0
|
|
36
|
+
*/
|
|
37
|
+
error(...args: any[]): void;
|
|
36
38
|
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { BaseContextLogger };
|