egg 4.0.0-beta.0 → 4.0.0-beta.10

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 (112) hide show
  1. package/README.md +1 -0
  2. package/README.zh-CN.md +1 -0
  3. package/dist/commonjs/app/extend/context.d.ts +154 -0
  4. package/dist/commonjs/app/extend/context.js +261 -0
  5. package/dist/commonjs/app/extend/context.types.d.ts +16 -0
  6. package/dist/commonjs/app/extend/context.types.js +3 -0
  7. package/dist/commonjs/app/extend/helper.d.ts +37 -0
  8. package/dist/commonjs/app/extend/helper.js +49 -0
  9. package/dist/commonjs/app/extend/request.d.ts +128 -0
  10. package/dist/commonjs/app/extend/request.js +270 -0
  11. package/dist/commonjs/app/extend/response.d.ts +25 -0
  12. package/dist/commonjs/app/extend/response.js +37 -0
  13. package/dist/commonjs/app/middleware/meta.d.ts +2 -3
  14. package/dist/commonjs/app/middleware/meta.js +1 -1
  15. package/dist/commonjs/app/middleware/notfound.d.ts +2 -3
  16. package/dist/commonjs/app/middleware/notfound.js +1 -1
  17. package/dist/commonjs/app/middleware/site_file.d.ts +5 -3
  18. package/dist/commonjs/app/middleware/site_file.js +21 -3
  19. package/dist/commonjs/config/config.default.js +5 -4
  20. package/dist/commonjs/config/plugin.js +3 -3
  21. package/dist/commonjs/index.d.ts +3 -1
  22. package/dist/commonjs/index.js +8 -6
  23. package/dist/commonjs/lib/application.d.ts +5 -12
  24. package/dist/commonjs/lib/application.js +9 -20
  25. package/dist/commonjs/lib/core/base_context_class.d.ts +2 -2
  26. package/dist/commonjs/lib/core/base_hook_class.d.ts +1 -1
  27. package/dist/commonjs/lib/core/context_httpclient.d.ts +3 -3
  28. package/dist/commonjs/lib/core/context_httpclient.js +1 -1
  29. package/dist/commonjs/lib/core/httpclient.d.ts +2 -3
  30. package/dist/commonjs/lib/core/httpclient.js +3 -6
  31. package/dist/commonjs/lib/core/messenger/IMessenger.d.ts +3 -3
  32. package/dist/commonjs/lib/core/messenger/index.js +2 -2
  33. package/dist/commonjs/lib/core/messenger/ipc.d.ts +6 -4
  34. package/dist/commonjs/lib/core/messenger/ipc.js +31 -20
  35. package/dist/commonjs/lib/core/messenger/local.d.ts +3 -3
  36. package/dist/commonjs/lib/core/messenger/local.js +14 -11
  37. package/dist/commonjs/lib/egg.d.ts +25 -16
  38. package/dist/commonjs/lib/egg.js +44 -22
  39. package/dist/commonjs/lib/egg.types.d.ts +6 -0
  40. package/dist/commonjs/lib/egg.types.js +3 -0
  41. package/dist/commonjs/lib/type.d.ts +3 -5
  42. package/dist/commonjs/lib/utils.d.ts +2 -0
  43. package/dist/commonjs/lib/utils.js +21 -0
  44. package/dist/esm/app/extend/context.d.ts +154 -0
  45. package/dist/esm/app/extend/context.js +255 -0
  46. package/dist/esm/app/extend/context.types.d.ts +16 -0
  47. package/dist/esm/app/extend/context.types.js +2 -0
  48. package/dist/esm/app/extend/helper.d.ts +37 -0
  49. package/dist/esm/app/extend/helper.js +43 -0
  50. package/dist/esm/app/extend/request.d.ts +128 -0
  51. package/dist/esm/app/extend/request.js +264 -0
  52. package/dist/esm/app/extend/response.d.ts +25 -0
  53. package/dist/esm/app/extend/response.js +34 -0
  54. package/dist/esm/app/middleware/meta.d.ts +2 -3
  55. package/dist/esm/app/middleware/meta.js +1 -1
  56. package/dist/esm/app/middleware/notfound.d.ts +2 -3
  57. package/dist/esm/app/middleware/notfound.js +1 -1
  58. package/dist/esm/app/middleware/site_file.d.ts +5 -3
  59. package/dist/esm/app/middleware/site_file.js +21 -3
  60. package/dist/esm/config/config.default.js +5 -4
  61. package/dist/esm/config/plugin.js +3 -3
  62. package/dist/esm/index.d.ts +3 -1
  63. package/dist/esm/index.js +5 -4
  64. package/dist/esm/lib/application.d.ts +5 -12
  65. package/dist/esm/lib/application.js +9 -20
  66. package/dist/esm/lib/core/base_context_class.d.ts +2 -2
  67. package/dist/esm/lib/core/base_hook_class.d.ts +1 -1
  68. package/dist/esm/lib/core/context_httpclient.d.ts +3 -3
  69. package/dist/esm/lib/core/context_httpclient.js +1 -1
  70. package/dist/esm/lib/core/httpclient.d.ts +2 -3
  71. package/dist/esm/lib/core/httpclient.js +2 -2
  72. package/dist/esm/lib/core/messenger/IMessenger.d.ts +3 -3
  73. package/dist/esm/lib/core/messenger/index.js +2 -2
  74. package/dist/esm/lib/core/messenger/ipc.d.ts +6 -4
  75. package/dist/esm/lib/core/messenger/ipc.js +29 -18
  76. package/dist/esm/lib/core/messenger/local.d.ts +3 -3
  77. package/dist/esm/lib/core/messenger/local.js +14 -11
  78. package/dist/esm/lib/egg.d.ts +25 -16
  79. package/dist/esm/lib/egg.js +24 -15
  80. package/dist/esm/lib/egg.types.d.ts +6 -0
  81. package/dist/esm/lib/egg.types.js +2 -0
  82. package/dist/esm/lib/type.d.ts +3 -5
  83. package/dist/esm/lib/utils.d.ts +2 -0
  84. package/dist/esm/lib/utils.js +14 -0
  85. package/dist/package.json +1 -1
  86. package/package.json +32 -28
  87. package/src/app/extend/context.ts +303 -0
  88. package/src/app/extend/context.types.ts +24 -0
  89. package/src/app/extend/{helper.js → helper.ts} +14 -13
  90. package/src/app/extend/{request.js → request.ts} +81 -79
  91. package/src/app/extend/response.ts +36 -0
  92. package/src/app/middleware/meta.ts +2 -3
  93. package/src/app/middleware/notfound.ts +2 -3
  94. package/src/app/middleware/site_file.ts +26 -7
  95. package/src/config/config.default.ts +4 -3
  96. package/src/config/plugin.ts +2 -2
  97. package/src/index.ts +5 -3
  98. package/src/lib/application.ts +14 -21
  99. package/src/lib/core/base_context_class.ts +2 -2
  100. package/src/lib/core/base_hook_class.ts +1 -1
  101. package/src/lib/core/context_httpclient.ts +3 -3
  102. package/src/lib/core/httpclient.ts +4 -5
  103. package/src/lib/core/messenger/IMessenger.ts +3 -3
  104. package/src/lib/core/messenger/index.ts +1 -1
  105. package/src/lib/core/messenger/ipc.ts +31 -20
  106. package/src/lib/core/messenger/local.ts +13 -11
  107. package/src/lib/egg.ts +60 -28
  108. package/src/lib/egg.types.ts +6 -0
  109. package/src/lib/type.ts +6 -6
  110. package/src/lib/utils.ts +16 -0
  111. package/src/app/extend/context.js +0 -285
  112. package/src/app/extend/response.js +0 -101
@@ -7,14 +7,12 @@ exports.Application = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
8
  const node_fs_1 = __importDefault(require("node:fs"));
9
9
  const node_http_1 = __importDefault(require("node:http"));
10
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
11
- // @ts-ignore
12
- const graceful_1 = __importDefault(require("graceful"));
10
+ const graceful_1 = require("graceful");
13
11
  const utility_1 = require("utility");
14
12
  const core_1 = require("@eggjs/core");
15
13
  const egg_js_1 = require("./egg.js");
16
14
  const index_js_1 = require("./loader/index.js");
17
- const base_context_class_js_1 = require("./core/base_context_class.js");
15
+ const helper_js_1 = __importDefault(require("../app/extend/helper.js"));
18
16
  const EGG_LOADER = Symbol.for('egg#loader');
19
17
  // client error => 400 Bad Request
20
18
  // Refs: https://nodejs.org/dist/latest-v8.x/docs/api/http.html#http_event_clienterror
@@ -34,13 +32,6 @@ function escapeHeaderValue(value) {
34
32
  // minimize the performance impact in the common case.
35
33
  return /[\r\n]/.test(value) ? value.replace(/[\r\n]+[ \t]*/g, '') : value;
36
34
  }
37
- /**
38
- * The Helper class which can be used as utility function.
39
- * We support developers to extend Helper through ${baseDir}/app/extend/helper.js ,
40
- * then you can use all method on `ctx.helper` that is a instance of Helper.
41
- */
42
- class HelperClass extends base_context_class_js_1.BaseContextClass {
43
- }
44
35
  /**
45
36
  * Singleton instance in App Worker, extend {@link EggApplicationCore}
46
37
  * @augments EggApplicationCore
@@ -53,7 +44,7 @@ class Application extends egg_js_1.EggApplicationCore {
53
44
  * reference to {@link Helper}
54
45
  * @member {Helper} Application#Helper
55
46
  */
56
- Helper = HelperClass;
47
+ Helper = helper_js_1.default;
57
48
  /**
58
49
  * @class
59
50
  * @param {Object} options - see {@link EggApplicationCore}
@@ -73,8 +64,7 @@ class Application extends egg_js_1.EggApplicationCore {
73
64
  return index_js_1.AppWorkerLoader;
74
65
  }
75
66
  #responseRaw(socket, raw) {
76
- /* istanbul ignore next */
77
- if (!socket.writable)
67
+ if (!socket?.writable)
78
68
  return;
79
69
  if (!raw) {
80
70
  return socket.end(DEFAULT_BAD_REQUEST_RESPONSE);
@@ -136,8 +126,7 @@ class Application extends egg_js_1.EggApplicationCore {
136
126
  this.server = server;
137
127
  // set ignore code
138
128
  const serverGracefulIgnoreCode = this.config.serverGracefulIgnoreCode || [];
139
- /* istanbul ignore next */
140
- (0, graceful_1.default)({
129
+ (0, graceful_1.graceful)({
141
130
  server: [server],
142
131
  error: (err, throwErrorCount) => {
143
132
  const originMessage = err.message;
@@ -206,13 +195,13 @@ class Application extends egg_js_1.EggApplicationCore {
206
195
  * @see Context#runInBackground
207
196
  * @param {Function} scope - the first args is an anonymous ctx
208
197
  */
209
- runInBackground(scope) {
210
- const ctx = this.createAnonymousContext();
198
+ runInBackground(scope, req) {
199
+ const ctx = this.createAnonymousContext(req);
211
200
  if (!scope.name) {
212
201
  Reflect.set(scope, '_name', core_1.utils.getCalleeFromStack(true));
213
202
  }
214
203
  this.ctxStorage.run(ctx, () => {
215
- ctx.runInBackground(scope);
204
+ return ctx.runInBackground(scope);
216
205
  });
217
206
  }
218
207
  /**
@@ -278,4 +267,4 @@ class Application extends egg_js_1.EggApplicationCore {
278
267
  }
279
268
  }
280
269
  exports.Application = Application;
281
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixzREFBeUI7QUFDekIsMERBQTZCO0FBRTdCLDZEQUE2RDtBQUM3RCxhQUFhO0FBQ2Isd0RBQWdDO0FBQ2hDLHFDQUFpQztBQUNqQyxzQ0FBZ0Q7QUFDaEQscUNBQXFGO0FBQ3JGLGdEQUFvRDtBQUNwRCx3RUFBZ0U7QUFFaEUsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUU1QyxrQ0FBa0M7QUFDbEMsc0ZBQXNGO0FBQ3RGLE1BQU0sd0JBQXdCLEdBQUc7Ozs7OztVQU12QixDQUFDO0FBQ1gsTUFBTSwrQkFBK0IsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLHdCQUF3QixDQUFDLENBQUM7QUFDcEYsTUFBTSw0QkFBNEIsR0FDaEMsK0NBQStDLCtCQUErQixFQUFFO0lBQ2hGLFdBQVcsd0JBQXdCLEVBQUUsQ0FBQztBQUV4QyxtRkFBbUY7QUFDbkYsU0FBUyxpQkFBaUIsQ0FBQyxLQUFhO0lBQ3RDLGlFQUFpRTtJQUNqRSxzREFBc0Q7SUFDdEQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDNUUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVksU0FBUSx3Q0FBZ0I7Q0FBRztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFhLFdBQVksU0FBUSwyQkFBa0I7SUFDakQsMENBQTBDO0lBQzFDLE1BQU0sQ0FBZTtJQUNyQixPQUFPLEdBQXdCLEVBQUUsQ0FBQztJQUNsQzs7O09BR0c7SUFDSCxNQUFNLEdBQUcsV0FBVyxDQUFDO0lB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
270
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2FwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUE2QjtBQUM3QixzREFBeUI7QUFDekIsMERBQTZCO0FBRTdCLHVDQUFvQztBQUNwQyxxQ0FBaUM7QUFDakMsc0NBQWdEO0FBQ2hELHFDQUlrQjtBQUNsQixnREFBb0Q7QUFDcEQsd0VBQTZDO0FBRTdDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFNUMsa0NBQWtDO0FBQ2xDLHNGQUFzRjtBQUN0RixNQUFNLHdCQUF3QixHQUFHOzs7Ozs7VUFNdkIsQ0FBQztBQUNYLE1BQU0sK0JBQStCLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ3BGLE1BQU0sNEJBQTRCLEdBQ2hDLCtDQUErQywrQkFBK0IsRUFBRTtJQUNoRixXQUFXLHdCQUF3QixFQUFFLENBQUM7QUFFeEMsbUZBQW1GO0FBQ25GLFNBQVMsaUJBQWlCLENBQUMsS0FBYTtJQUN0QyxpRUFBaUU7SUFDakUsc0RBQXNEO0lBQ3RELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzVFLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFhLFdBQVksU0FBUSwyQkFBa0I7SUFDakQsMENBQTBDO0lBQzFDLE1BQU0sQ0FBZTtJQUNyQixPQUFPLEdBQXdCLEVBQUUsQ0FBQztJQUNsQzs7O09BR0c7SUFDSCxNQUFNLEdBQUcsbUJBQU0sQ0FBQztJQUVoQjs7O09BR0c7SUFDSCxZQUFZLE9BQWlEO1FBQzNELEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLElBQUks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
@@ -1,5 +1,5 @@
1
1
  import { BaseContextClass as EggCoreBaseContextClass } from '@eggjs/core';
2
- import type { EggContext } from '../egg.js';
2
+ import type { ContextDelegation } from '../egg.js';
3
3
  import { BaseContextLogger } from './base_context_logger.js';
4
4
  /**
5
5
  * BaseContextClass is a base class that can be extended,
@@ -8,7 +8,7 @@ import { BaseContextLogger } from './base_context_logger.js';
8
8
  */
9
9
  export declare class BaseContextClass extends EggCoreBaseContextClass {
10
10
  #private;
11
- ctx: EggContext;
11
+ ctx: ContextDelegation;
12
12
  protected pathName?: string;
13
13
  get logger(): BaseContextLogger;
14
14
  }
@@ -4,7 +4,7 @@ export declare class BaseHookClass implements ILifecycleBoot {
4
4
  #private;
5
5
  fullPath?: string;
6
6
  constructor(instance: Application | Agent);
7
- get logger(): import("egg-logger").EggLogger;
7
+ get logger(): any;
8
8
  get config(): import("../type.js").EggAppConfig;
9
9
  get app(): Application;
10
10
  get agent(): Agent;
@@ -1,9 +1,9 @@
1
- import type { EggContext, EggApplicationCore } from '../egg.js';
1
+ import type { ContextDelegation, EggApplicationCore } from '../egg.js';
2
2
  import type { HttpClientRequestURL, HttpClientRequestOptions } from './httpclient.js';
3
3
  export declare class ContextHttpClient {
4
- ctx: EggContext;
4
+ ctx: ContextDelegation;
5
5
  app: EggApplicationCore;
6
- constructor(ctx: EggContext);
6
+ constructor(ctx: ContextDelegation);
7
7
  /**
8
8
  * http request helper base on {@link HttpClient}, it will auto save httpclient log.
9
9
  * Keep the same api with {@link Application#curl}.
@@ -27,4 +27,4 @@ class ContextHttpClient {
27
27
  }
28
28
  }
29
29
  exports.ContextHttpClient = ContextHttpClient;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dF9odHRwY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL2NvbnRleHRfaHR0cGNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxNQUFhLGlCQUFpQjtJQUM1QixHQUFHLENBQWE7SUFDaEIsR0FBRyxDQUFxQjtJQUV4QixZQUFZLEdBQWU7UUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQVUsR0FBeUIsRUFBRSxPQUFrQztRQUMvRSxPQUFPLEdBQUc7WUFDUixHQUFHLE9BQU87WUFDVixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7U0FDZCxDQUFDO1FBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBVSxHQUF5QixFQUFFLE9BQWtDO1FBQ2xGLE9BQU8sTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFJLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUEzQkQsOENBMkJDIn0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dF9odHRwY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL2NvbnRleHRfaHR0cGNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFLQSxNQUFhLGlCQUFpQjtJQUM1QixHQUFHLENBQW9CO0lBQ3ZCLEdBQUcsQ0FBcUI7SUFFeEIsWUFBWSxHQUFzQjtRQUNoQyxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBVSxHQUF5QixFQUFFLE9BQWtDO1FBQy9FLE9BQU8sR0FBRztZQUNSLEdBQUcsT0FBTztZQUNWLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNkLENBQUM7UUFDRixPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFVLEdBQXlCLEVBQUUsT0FBa0M7UUFDbEYsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDRjtBQTNCRCw4Q0EyQkMifQ==
@@ -1,9 +1,8 @@
1
- import { EggCoreContext } from '@eggjs/core';
2
1
  import { HttpClient as RawHttpClient, RequestURL as HttpClientRequestURL, RequestOptions } from 'urllib';
3
- import type { EggApplicationCore } from '../egg.js';
2
+ import type { EggApplicationCore, ContextDelegation } from '../egg.js';
4
3
  export type { HttpClientResponse, RequestURL as HttpClientRequestURL, } from 'urllib';
5
4
  export interface HttpClientRequestOptions extends RequestOptions {
6
- ctx?: EggCoreContext;
5
+ ctx?: ContextDelegation;
7
6
  tracer?: unknown;
8
7
  }
9
8
  export declare class HttpClient extends RawHttpClient {
@@ -1,11 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.HttpClient = void 0;
7
4
  const urllib_1 = require("urllib");
8
- const ms_1 = __importDefault(require("ms"));
5
+ const humanize_ms_1 = require("humanize-ms");
9
6
  class HttpClient extends urllib_1.HttpClient {
10
7
  #app;
11
8
  constructor(app) {
@@ -34,7 +31,7 @@ exports.HttpClient = HttpClient;
34
31
  function normalizeConfig(app) {
35
32
  const config = app.config.httpclient;
36
33
  if (typeof config.request?.timeout === 'string') {
37
- config.request.timeout = (0, ms_1.default)(config.request.timeout);
34
+ config.request.timeout = (0, humanize_ms_1.ms)(config.request.timeout);
38
35
  }
39
36
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9odHRwY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLG1DQUlnQjtBQUNoQiw0Q0FBb0I7QUFhcEIsTUFBYSxVQUFXLFNBQVEsbUJBQWE7SUFDbEMsSUFBSSxDQUE0QztJQUV6RCxZQUFZLEdBQXVCO1FBQ2pDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNyQyxLQUFLLENBQUM7WUFDSixXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQVUsR0FBeUIsRUFBRSxPQUFrQztRQUNsRixPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFVLEdBQXlCLEVBQUUsT0FBa0M7UUFDL0UsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQXpCRCxnQ0F5QkM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxHQUF1QjtJQUM5QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxJQUFJLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBQSxZQUFFLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFpQixDQUFDLENBQUM7SUFDaEUsQ0FBQztBQUNILENBQUMifQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cGNsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9odHRwY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUlnQjtBQUNoQiw2Q0FBaUM7QUFhakMsTUFBYSxVQUFXLFNBQVEsbUJBQWE7SUFDbEMsSUFBSSxDQUE0QztJQUV6RCxZQUFZLEdBQXVCO1FBQ2pDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUNyQyxLQUFLLENBQUM7WUFDSixXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU87U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDbEIsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFPLENBQVUsR0FBeUIsRUFBRSxPQUFrQztRQUNsRixPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDeEIsT0FBTyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUN0QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxNQUFNLEtBQUssQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFVLEdBQXlCLEVBQUUsT0FBa0M7UUFDL0UsT0FBTyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRjtBQXpCRCxnQ0F5QkM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxHQUF1QjtJQUM5QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxJQUFJLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBQSxnQkFBRSxFQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztBQUNILENBQUMifQ==
@@ -9,12 +9,12 @@ export interface IMessenger extends EventEmitter {
9
9
  broadcast(action: string, data?: unknown): IMessenger;
10
10
  /**
11
11
  * send message to the specified process
12
- * @param {String} pid - the process id of the receiver
12
+ * @param {String} workerId - the workerId of the receiver
13
13
  * @param {String} action - message key
14
14
  * @param {Object} data - message value
15
15
  * @return {Messenger} this
16
16
  */
17
- sendTo(pid: string, action: string, data?: unknown): IMessenger;
17
+ sendTo(workerId: string, action: string, data?: unknown): IMessenger;
18
18
  /**
19
19
  * send message to one app worker by random
20
20
  * - if it's running in agent, it will send to one of app workers
@@ -44,7 +44,7 @@ export interface IMessenger extends EventEmitter {
44
44
  * @param {String} to - let master know how to send message
45
45
  * @return {Messenger} this
46
46
  */
47
- send(action: string, data: unknown | undefined, to: string): IMessenger;
47
+ send(action: string, data: unknown | undefined, to?: string): IMessenger;
48
48
  close(): void;
49
49
  onMessage(message: any): void;
50
50
  }
@@ -9,6 +9,6 @@ const ipc_js_1 = require("./ipc.js");
9
9
  function create(egg) {
10
10
  return egg.options.mode === 'single'
11
11
  ? new local_js_1.Messenger(egg)
12
- : new ipc_js_1.Messenger();
12
+ : new ipc_js_1.Messenger(egg);
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvbWVzc2VuZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsd0JBSUM7QUFkRCx5Q0FBeUQ7QUFDekQscUNBQXFEO0FBTXJEOztHQUVHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLEdBQXVCO0lBQzVDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUTtRQUNsQyxDQUFDLENBQUMsSUFBSSxvQkFBYyxDQUFDLEdBQUcsQ0FBQztRQUN6QixDQUFDLENBQUMsSUFBSSxrQkFBWSxFQUFFLENBQUM7QUFDekIsQ0FBQyJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvbWVzc2VuZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVUEsd0JBSUM7QUFkRCx5Q0FBeUQ7QUFDekQscUNBQXFEO0FBTXJEOztHQUVHO0FBQ0gsU0FBZ0IsTUFBTSxDQUFDLEdBQXVCO0lBQzVDLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssUUFBUTtRQUNsQyxDQUFDLENBQUMsSUFBSSxvQkFBYyxDQUFDLEdBQUcsQ0FBQztRQUN6QixDQUFDLENBQUMsSUFBSSxrQkFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLENBQUMifQ==
@@ -1,12 +1,14 @@
1
1
  import { EventEmitter } from 'node:events';
2
2
  import type { IMessenger } from './IMessenger.js';
3
+ import type { EggApplicationCore } from '../../egg.js';
3
4
  /**
4
5
  * Communication between app worker and agent worker by IPC channel
5
6
  */
6
7
  export declare class Messenger extends EventEmitter implements IMessenger {
7
8
  readonly pid: string;
9
+ readonly egg: EggApplicationCore;
8
10
  opids: string[];
9
- constructor();
11
+ constructor(egg: EggApplicationCore);
10
12
  /**
11
13
  * Send message to all agent and app
12
14
  * @param {String} action - message key
@@ -16,12 +18,12 @@ export declare class Messenger extends EventEmitter implements IMessenger {
16
18
  broadcast(action: string, data?: unknown): Messenger;
17
19
  /**
18
20
  * send message to the specified process
19
- * @param {String} pid - the process id of the receiver
21
+ * @param {String} workerId - the workerId of the receiver
20
22
  * @param {String} action - message key
21
23
  * @param {Object} data - message value
22
24
  * @return {Messenger} this
23
25
  */
24
- sendTo(pid: string, action: string, data?: unknown): Messenger;
26
+ sendTo(workerId: string, action: string, data?: unknown): Messenger;
25
27
  /**
26
28
  * send message to one app worker by random
27
29
  * - if it's running in agent, it will send to one of app workers
@@ -51,7 +53,7 @@ export declare class Messenger extends EventEmitter implements IMessenger {
51
53
  * @param {String} to - let master know how to send message
52
54
  * @return {Messenger} this
53
55
  */
54
- send(action: string, data: unknown | undefined, to: string): Messenger;
56
+ send(action: string, data: unknown | undefined, to?: string): Messenger;
55
57
  onMessage(message: any): void;
56
58
  close(): void;
57
59
  }
@@ -7,22 +7,25 @@ exports.Messenger = void 0;
7
7
  const node_events_1 = require("node:events");
8
8
  const node_util_1 = require("node:util");
9
9
  const node_worker_threads_1 = __importDefault(require("node:worker_threads"));
10
- const sendmessage_1 = __importDefault(require("sendmessage"));
11
- const debug = (0, node_util_1.debuglog)('egg:lib:core:messenger:ipc');
10
+ const sendmessage_1 = require("sendmessage");
11
+ const debug = (0, node_util_1.debuglog)('egg/lib/core/messenger/ipc');
12
12
  /**
13
13
  * Communication between app worker and agent worker by IPC channel
14
14
  */
15
15
  class Messenger extends node_events_1.EventEmitter {
16
16
  pid;
17
+ egg;
17
18
  opids = [];
18
- constructor() {
19
+ constructor(egg) {
19
20
  super();
20
21
  this.pid = String(process.pid);
22
+ this.egg = egg;
21
23
  // pids of agent or app managed by master
22
24
  // - retrieve app worker pids when it's an agent worker
23
25
  // - retrieve agent worker pids when it's an app worker
24
- this.on('egg-pids', pids => {
25
- this.opids = pids;
26
+ this.on('egg-pids', workerIds => {
27
+ debug('[%s:%s] got egg-pids %j', this.egg.type, this.pid, workerIds);
28
+ this.opids = workerIds.map((workerId) => String(workerId));
26
29
  });
27
30
  this.onMessage = this.onMessage.bind(this);
28
31
  process.on('message', this.onMessage);
@@ -37,24 +40,28 @@ class Messenger extends node_events_1.EventEmitter {
37
40
  * @return {Messenger} this
38
41
  */
39
42
  broadcast(action, data) {
40
- debug('[%s] broadcast %s with %j', this.pid, action, data);
43
+ debug('[%s:%s] broadcast %s with %j', this.egg.type, this.pid, action, data);
41
44
  this.send(action, data, 'app');
42
45
  this.send(action, data, 'agent');
43
46
  return this;
44
47
  }
45
48
  /**
46
49
  * send message to the specified process
47
- * @param {String} pid - the process id of the receiver
50
+ * @param {String} workerId - the workerId of the receiver
48
51
  * @param {String} action - message key
49
52
  * @param {Object} data - message value
50
53
  * @return {Messenger} this
51
54
  */
52
- sendTo(pid, action, data) {
53
- debug('[%s] send %s with %j to %s', this.pid, action, data, pid);
54
- (0, sendmessage_1.default)(process, {
55
+ sendTo(workerId, action, data) {
56
+ debug('[%s:%s] send %s with %j to workerId:%s', this.egg.type, this.pid, action, data, workerId);
57
+ (0, sendmessage_1.sendmessage)(process, {
55
58
  action,
56
59
  data,
57
- receiverPid: String(pid),
60
+ /**
61
+ * @deprecated Keep compatible, please use receiverWorkerId instead
62
+ */
63
+ receiverPid: String(workerId),
64
+ receiverWorkerId: String(workerId),
58
65
  });
59
66
  return this;
60
67
  }
@@ -67,12 +74,13 @@ class Messenger extends node_events_1.EventEmitter {
67
74
  * @return {Messenger} this
68
75
  */
69
76
  sendRandom(action, data) {
70
- /* istanbul ignore if */
71
- if (this.opids.length === 0)
77
+ if (this.opids.length === 0) {
78
+ debug('[%s:%s] no pids, ignore sendRandom %s with %j', this.egg.type, this.pid, action, data);
72
79
  return this;
80
+ }
73
81
  const index = Math.floor(Math.random() * this.opids.length);
74
- const pid = this.opids[index];
75
- this.sendTo(String(pid), action, data);
82
+ const workerId = this.opids[index];
83
+ this.sendTo(workerId, action, data);
76
84
  return this;
77
85
  }
78
86
  /**
@@ -82,7 +90,7 @@ class Messenger extends node_events_1.EventEmitter {
82
90
  * @return {Messenger} this
83
91
  */
84
92
  sendToApp(action, data) {
85
- debug('[%s] send %s with %j to all app', this.pid, action, data);
93
+ debug('[%s:%s] send %s with %j to all app', this.egg.type, this.pid, action, data);
86
94
  this.send(action, data, 'app');
87
95
  return this;
88
96
  }
@@ -93,7 +101,7 @@ class Messenger extends node_events_1.EventEmitter {
93
101
  * @return {Messenger} this
94
102
  */
95
103
  sendToAgent(action, data) {
96
- debug('[%s] send %s with %j to all agent', this.pid, action, data);
104
+ debug('[%s:%s] send %s with %j to all agent', this.egg.type, this.pid, action, data);
97
105
  this.send(action, data, 'agent');
98
106
  return this;
99
107
  }
@@ -104,7 +112,7 @@ class Messenger extends node_events_1.EventEmitter {
104
112
  * @return {Messenger} this
105
113
  */
106
114
  send(action, data, to) {
107
- (0, sendmessage_1.default)(process, {
115
+ (0, sendmessage_1.sendmessage)(process, {
108
116
  action,
109
117
  data,
110
118
  to,
@@ -113,9 +121,12 @@ class Messenger extends node_events_1.EventEmitter {
113
121
  }
114
122
  onMessage(message) {
115
123
  if (typeof message?.action === 'string') {
116
- debug('[%s] got message %s with %j, receiverPid: %s', this.pid, message.action, message.data, message.receiverPid);
124
+ debug('[%s:%s] got message %s with %j, receiverWorkerId: %s', this.egg.type, this.pid, message.action, message.data, message.receiverWorkerId ?? message.receiverPid);
117
125
  this.emit(message.action, message.data);
118
126
  }
127
+ else {
128
+ debug('[%s:%s] got an invalid message %j', this.egg.type, this.pid, message);
129
+ }
119
130
  }
120
131
  close() {
121
132
  process.removeListener('message', this.onMessage);
@@ -123,4 +134,4 @@ class Messenger extends node_events_1.EventEmitter {
123
134
  }
124
135
  }
125
136
  exports.Messenger = Messenger;
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL21lc3Nlbmdlci9pcGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsNkNBQTJDO0FBQzNDLHlDQUFxQztBQUNyQyw4RUFBZ0Q7QUFDaEQsOERBQXNDO0FBR3RDLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsMEJBQVk7SUFDaEMsR0FBRyxDQUFTO0lBQ3JCLEtBQUssR0FBYSxFQUFFLENBQUM7SUFFckI7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQix5Q0FBeUM7UUFDekMsdURBQXVEO1FBQ3ZELHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyw2QkFBYSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2hDLDZCQUFhLENBQUMsVUFBVyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsTUFBYyxFQUFFLElBQWM7UUFDdEMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxH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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXBjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL21lc3Nlbmdlci9pcGMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNkNBQTJDO0FBQzNDLHlDQUFxQztBQUNyQyw4RUFBZ0Q7QUFDaEQsNkNBQTBDO0FBSTFDLE1BQU0sS0FBSyxHQUFHLElBQUEsb0JBQVEsRUFBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBRXJEOztHQUVHO0FBQ0gsTUFBYSxTQUFVLFNBQVEsMEJBQVk7SUFDaEMsR0FBRyxDQUFTO0lBQ1osR0FBRyxDQUFxQjtJQUNqQyxLQUFLLEdBQWEsRUFBRSxDQUFDO0lBRXJCLFlBQVksR0FBdUI7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZix5Q0FBeUM7UUFDekMsdURBQXVEO1FBQ3ZELHVEQUF1RDtRQUN2RCxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUMsRUFBRTtZQUM5QixLQUFLLENBQUMseUJBQXlCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFnQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsT0FBTyxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxD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
@@ -19,12 +19,12 @@ export declare class Messenger extends EventEmitter implements IMessenger {
19
19
  * send message to the specified process
20
20
  * Notice: in single process mode, it only can send to self process,
21
21
  * and it will send to both agent and app's messengers.
22
- * @param {String} pid - the process id of the receiver
22
+ * @param {String} workerId - the workerId of the receiver
23
23
  * @param {String} action - message key
24
24
  * @param {Object} data - message value
25
25
  * @return {Messenger} this
26
26
  */
27
- sendTo(pid: string, action: string, data?: unknown): Messenger;
27
+ sendTo(workerId: string, action: string, data?: unknown): Messenger;
28
28
  /**
29
29
  * send message to one worker by random
30
30
  * Notice: in single process mode, we only start one agent worker and one app worker
@@ -55,7 +55,7 @@ export declare class Messenger extends EventEmitter implements IMessenger {
55
55
  * @param {String} to - let master know how to send message
56
56
  * @return {Messenger} this
57
57
  */
58
- send(action: string, data: unknown | undefined, to: string): Messenger;
58
+ send(action: string, data: unknown | undefined, to?: string): Messenger;
59
59
  onMessage(message: any): void;
60
60
  close(): void;
61
61
  }
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Messenger = void 0;
7
7
  const node_util_1 = require("node:util");
8
8
  const node_events_1 = __importDefault(require("node:events"));
9
- const debug = (0, node_util_1.debuglog)('egg:lib:core:messenger:local');
9
+ const debug = (0, node_util_1.debuglog)('egg/lib/core/messenger/local');
10
10
  /**
11
11
  * Communication between app worker and agent worker with EventEmitter
12
12
  */
@@ -25,7 +25,7 @@ class Messenger extends node_events_1.default {
25
25
  * @return {Messenger} this
26
26
  */
27
27
  broadcast(action, data) {
28
- debug('[%s] broadcast %s with %j', this.pid, action, data);
28
+ debug('[%s:%s] broadcast %s with %j', this.egg.type, this.pid, action, data);
29
29
  this.send(action, data, 'both');
30
30
  return this;
31
31
  }
@@ -33,14 +33,14 @@ class Messenger extends node_events_1.default {
33
33
  * send message to the specified process
34
34
  * Notice: in single process mode, it only can send to self process,
35
35
  * and it will send to both agent and app's messengers.
36
- * @param {String} pid - the process id of the receiver
36
+ * @param {String} workerId - the workerId of the receiver
37
37
  * @param {String} action - message key
38
38
  * @param {Object} data - message value
39
39
  * @return {Messenger} this
40
40
  */
41
- sendTo(pid, action, data) {
42
- debug('[%s] send %s with %j to %s', this.pid, action, data, pid);
43
- if (String(pid) !== this.pid) {
41
+ sendTo(workerId, action, data) {
42
+ debug('[%s:%s] send %s with %j to %s', this.egg.type, this.pid, action, data, workerId);
43
+ if (String(workerId) !== this.pid) {
44
44
  return this;
45
45
  }
46
46
  this.send(action, data, 'both');
@@ -56,7 +56,7 @@ class Messenger extends node_events_1.default {
56
56
  * @return {Messenger} this
57
57
  */
58
58
  sendRandom(action, data) {
59
- debug('[%s] send %s with %j to opposite', this.pid, action, data);
59
+ debug('[%s:%s] send %s with %j to opposite', this.egg.type, this.pid, action, data);
60
60
  this.send(action, data, 'opposite');
61
61
  return this;
62
62
  }
@@ -67,7 +67,7 @@ class Messenger extends node_events_1.default {
67
67
  * @return {Messenger} this
68
68
  */
69
69
  sendToApp(action, data) {
70
- debug('[%s] send %s with %j to all app', this.pid, action, data);
70
+ debug('[%s:%s] send %s with %j to all app', this.egg.type, this.pid, action, data);
71
71
  this.send(action, data, 'application');
72
72
  return this;
73
73
  }
@@ -78,7 +78,7 @@ class Messenger extends node_events_1.default {
78
78
  * @return {Messenger} this
79
79
  */
80
80
  sendToAgent(action, data) {
81
- debug('[%s] send %s with %j to all agent', this.pid, action, data);
81
+ debug('[%s:%s] send %s with %j to all agent', this.egg.type, this.pid, action, data);
82
82
  this.send(action, data, 'agent');
83
83
  return this;
84
84
  }
@@ -122,13 +122,16 @@ class Messenger extends node_events_1.default {
122
122
  }
123
123
  onMessage(message) {
124
124
  if (typeof message?.action === 'string') {
125
- debug('[%s] got message %s with %j', this.pid, message.action, message.data);
125
+ debug('[%s:%s] got message %s with %j', this.egg.type, this.pid, message.action, message.data);
126
126
  this.emit(message.action, message.data);
127
127
  }
128
+ else {
129
+ debug('[%s:%s] got an invalid message %j', this.egg.type, this.pid, message);
130
+ }
128
131
  }
129
132
  close() {
130
133
  this.removeAllListeners();
131
134
  }
132
135
  }
133
136
  exports.Messenger = Messenger;
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvbWVzc2VuZ2VyL2xvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUFxQztBQUNyQyw4REFBdUM7QUFJdkMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLDhCQUE4QixDQUFDLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxxQkFBWTtJQUNoQyxHQUFHLENBQVM7SUFDWixHQUFHLENBQXFCO0lBRWpDLFlBQVksR0FBdUI7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsTUFBYyxFQUFFLElBQWM7UUFDdEMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxHQUFXLEVBQUUsTUFBYyxFQUFFLElBQWM7UUFDaEQsS0FBSyxDQUFDLDRCQUE0QixFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFN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
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvbWVzc2VuZ2VyL2xvY2FsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUFxQztBQUNyQyw4REFBdUM7QUFJdkMsTUFBTSxLQUFLLEdBQUcsSUFBQSxvQkFBUSxFQUFDLDhCQUE4QixDQUFDLENBQUM7QUFFdkQ7O0dBRUc7QUFDSCxNQUFhLFNBQVUsU0FBUSxxQkFBWTtJQUNoQyxHQUFHLENBQVM7SUFDWixHQUFHLENBQXFCO0lBRWpDLFlBQVksR0FBdUI7UUFDakMsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxTQUFTLENBQUMsTUFBYyxFQUFFLElBQWM7UUFDdEMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxRQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFjO1FBQ3JELEtBQUssQ0FBQywrQkFBK0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEYsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFD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