egg 4.1.0-beta.20 → 4.1.0-beta.22

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 (123) hide show
  1. package/dist/agent.d.ts +3 -17
  2. package/dist/agent.js +7 -11
  3. package/dist/app/extend/context.d.ts +180 -12
  4. package/dist/app/extend/context.js +259 -3
  5. package/dist/app/extend/helper.d.ts +37 -12
  6. package/dist/app/extend/helper.js +43 -5
  7. package/dist/app/extend/request.d.ts +132 -12
  8. package/dist/app/extend/request.js +265 -4
  9. package/dist/app/extend/response.d.ts +25 -2
  10. package/dist/app/extend/response.js +34 -3
  11. package/dist/app/middleware/body_parser.d.ts +2 -2
  12. package/dist/app/middleware/body_parser.js +3 -7
  13. package/dist/app/middleware/meta.d.ts +10 -12
  14. package/dist/app/middleware/meta.js +19 -13
  15. package/dist/app/middleware/notfound.d.ts +7 -12
  16. package/dist/app/middleware/notfound.js +28 -25
  17. package/dist/app/middleware/override_method.d.ts +2 -2
  18. package/dist/app/middleware/override_method.js +3 -7
  19. package/dist/app/middleware/site_file.d.ts +9 -12
  20. package/dist/app/middleware/site_file.js +52 -37
  21. package/dist/config/config.default.d.ts +2 -16
  22. package/dist/config/config.default.js +375 -282
  23. package/dist/config/config.local.d.ts +5 -7
  24. package/dist/config/config.local.js +9 -6
  25. package/dist/config/config.unittest.d.ts +5 -7
  26. package/dist/config/config.unittest.js +8 -9
  27. package/dist/config/plugin.d.ts +120 -122
  28. package/dist/config/plugin.js +121 -53
  29. package/dist/index.d.ts +66 -13
  30. package/dist/index.js +70 -30
  31. package/dist/lib/agent.d.ts +19 -12
  32. package/dist/lib/agent.js +48 -22
  33. package/dist/lib/application.d.ts +56 -12
  34. package/dist/lib/application.js +261 -23
  35. package/dist/lib/core/base_context_class.d.ts +18 -12
  36. package/dist/lib/core/base_context_class.js +17 -4
  37. package/dist/lib/core/base_context_logger.d.ts +36 -12
  38. package/dist/lib/core/base_context_logger.js +60 -3
  39. package/dist/lib/core/base_hook_class.d.ts +11 -12
  40. package/dist/lib/core/base_hook_class.js +22 -3
  41. package/dist/lib/core/context_httpclient.d.ts +17 -12
  42. package/dist/lib/core/context_httpclient.js +26 -3
  43. package/dist/lib/core/httpclient.d.ts +14 -12
  44. package/dist/lib/core/httpclient.js +39 -3
  45. package/dist/lib/core/logger.d.ts +3 -17
  46. package/dist/lib/core/logger.js +37 -3
  47. package/dist/lib/core/messenger/IMessenger.d.ts +50 -2
  48. package/dist/lib/core/messenger/IMessenger.js +2 -1
  49. package/dist/lib/core/messenger/base.d.ts +8 -13
  50. package/dist/lib/core/messenger/base.js +28 -17
  51. package/dist/lib/core/messenger/index.d.ts +7 -12
  52. package/dist/lib/core/messenger/index.js +10 -17
  53. package/dist/lib/core/messenger/ipc.d.ts +55 -68
  54. package/dist/lib/core/messenger/ipc.js +151 -17
  55. package/dist/lib/core/messenger/local.d.ts +56 -69
  56. package/dist/lib/core/messenger/local.js +128 -17
  57. package/dist/lib/core/utils.d.ts +2 -5
  58. package/dist/lib/core/utils.js +70 -3
  59. package/dist/lib/egg.d.ts +285 -12
  60. package/dist/lib/egg.js +581 -17
  61. package/dist/lib/error/CookieLimitExceedError.d.ts +5 -2
  62. package/dist/lib/error/CookieLimitExceedError.js +12 -3
  63. package/dist/lib/error/MessageUnhandledRejectionError.d.ts +5 -2
  64. package/dist/lib/error/MessageUnhandledRejectionError.js +12 -3
  65. package/dist/lib/error/index.d.ts +2 -4
  66. package/dist/lib/error/index.js +3 -5
  67. package/dist/lib/loader/AgentWorkerLoader.d.ts +12 -3
  68. package/dist/lib/loader/AgentWorkerLoader.js +20 -4
  69. package/dist/lib/loader/AppWorkerLoader.d.ts +17 -3
  70. package/dist/lib/loader/AppWorkerLoader.js +39 -4
  71. package/dist/lib/loader/EggApplicationLoader.d.ts +4 -2
  72. package/dist/lib/loader/EggApplicationLoader.js +4 -3
  73. package/dist/lib/loader/index.d.ts +3 -5
  74. package/dist/lib/loader/index.js +4 -6
  75. package/dist/lib/start.d.ts +24 -12
  76. package/dist/lib/start.js +46 -27
  77. package/dist/lib/types.d.ts +281 -12
  78. package/dist/lib/types.js +31 -4
  79. package/dist/lib/types.plugin.d.ts +12 -1
  80. package/dist/lib/types.plugin.js +14 -3
  81. package/dist/lib/utils.d.ts +2 -5
  82. package/dist/lib/utils.js +14 -3
  83. package/dist/urllib.d.ts +1 -1
  84. package/dist/urllib.js +2 -3
  85. package/package.json +23 -23
  86. package/dist/AgentWorkerLoader-DG_hAClt.d.ts +0 -17
  87. package/dist/AgentWorkerLoader-D_hceBRW.js +0 -24
  88. package/dist/AppWorkerLoader-CAtxJvGl.js +0 -37
  89. package/dist/AppWorkerLoader-CT875rYM.d.ts +0 -22
  90. package/dist/CookieLimitExceedError-CAW0HYJw.d.ts +0 -8
  91. package/dist/CookieLimitExceedError-DLGakbeu.js +0 -15
  92. package/dist/EggApplicationLoader-CMe1VQt1.js +0 -7
  93. package/dist/EggApplicationLoader-PnIvd5oV.d.ts +0 -8
  94. package/dist/IMessenger-C9g6ypSI.d.ts +0 -54
  95. package/dist/MessageUnhandledRejectionError-Lq5fWw24.d.ts +0 -8
  96. package/dist/MessageUnhandledRejectionError-oD_E1Ewl.js +0 -15
  97. package/dist/agent-BfFWeJj4.js +0 -55
  98. package/dist/application-DVwFQSa9.js +0 -208
  99. package/dist/base-KLVtlzUD.d.ts +0 -12
  100. package/dist/base_context_class-Xc1OZql9.js +0 -19
  101. package/dist/base_context_logger-CZU59PGA.js +0 -58
  102. package/dist/base_hook_class-D0Gu2p8r.js +0 -26
  103. package/dist/base_hook_class-R8A8gm1s.d.ts +0 -1109
  104. package/dist/context-D1Wg7CXs.js +0 -244
  105. package/dist/context_httpclient-BpRMdJhf.js +0 -29
  106. package/dist/egg-DVo5e_lr.js +0 -800
  107. package/dist/error-BYo_LRnd.js +0 -1
  108. package/dist/helper-B3PKMPXq.js +0 -47
  109. package/dist/httpclient-C1QPc_R7.js +0 -36
  110. package/dist/index-CUPkUUOR.d.ts +0 -1
  111. package/dist/index-CkgLZdB4.d.ts +0 -1
  112. package/dist/loader-3myZ-rpm.js +0 -1
  113. package/dist/logger-C4tIcO3S.js +0 -31
  114. package/dist/request-Cy_1DlaX.js +0 -225
  115. package/dist/response-CDeQ9Sx2.js +0 -36
  116. package/dist/response-DlNYDj00.d.ts +0 -29
  117. package/dist/src-BuOjXSrB.js +0 -3
  118. package/dist/start-4E84z796.js +0 -35
  119. package/dist/types-dKSyDnVp.js +0 -32
  120. package/dist/types.plugin-B2v0K0I8.js +0 -14
  121. package/dist/types.plugin-C3D5I7VD.d.ts +0 -12
  122. package/dist/utils-B1Rjsoi9.js +0 -48
  123. package/dist/utils-BDoYg6z6.js +0 -14
package/dist/index.js CHANGED
@@ -1,30 +1,70 @@
1
- import { BaseHookClass } from "./base_hook_class-D0Gu2p8r.js";
2
- import "./base_context_logger-CZU59PGA.js";
3
- import { BaseContextClass } from "./base_context_class-Xc1OZql9.js";
4
- import { Context } from "./context-D1Wg7CXs.js";
5
- import { Response } from "./response-CDeQ9Sx2.js";
6
- import { Request } from "./request-Cy_1DlaX.js";
7
- import { CookieLimitExceedError } from "./CookieLimitExceedError-DLGakbeu.js";
8
- import { MessageUnhandledRejectionError } from "./MessageUnhandledRejectionError-oD_E1Ewl.js";
9
- import "./error-BYo_LRnd.js";
10
- import { EggApplicationCore, Router } from "./egg-DVo5e_lr.js";
11
- import { ContextHttpClient } from "./context_httpclient-BpRMdJhf.js";
12
- import { HttpClient } from "./httpclient-C1QPc_R7.js";
13
- import "./logger-C4tIcO3S.js";
14
- import "./utils-B1Rjsoi9.js";
15
- import "./utils-BDoYg6z6.js";
16
- import "./EggApplicationLoader-CMe1VQt1.js";
17
- import { AppWorkerLoader } from "./AppWorkerLoader-CAtxJvGl.js";
18
- import { AgentWorkerLoader } from "./AgentWorkerLoader-D_hceBRW.js";
19
- import "./loader-3myZ-rpm.js";
20
- import { Agent } from "./agent-BfFWeJj4.js";
21
- import { Helper } from "./helper-B3PKMPXq.js";
22
- import { Application } from "./application-DVwFQSa9.js";
23
- import "./types.plugin-B2v0K0I8.js";
24
- import { defineConfig, defineConfigFactory } from "./types-dKSyDnVp.js";
25
- import { startEgg } from "./start-4E84z796.js";
26
- import { Singleton } from "./src-BuOjXSrB.js";
27
-
28
- export * from "@eggjs/cluster"
29
-
30
- export { Agent, AgentWorkerLoader, AppWorkerLoader, Application, BaseContextClass, BaseHookClass as Boot, Context, ContextHttpClient, BaseContextClass as Controller, BaseContextClass as Service, BaseContextClass as Subscription, CookieLimitExceedError, EggApplicationCore, Helper, HttpClient, MessageUnhandledRejectionError, Request, Response, Router, Singleton, defineConfig, defineConfigFactory, startEgg as start, startEgg };
1
+ import { BaseContextClass } from "./lib/core/base_context_class.js";
2
+ import { startEgg } from "./lib/start.js";
3
+ import Helper from "./app/extend/helper.js";
4
+ // export extends
5
+ export { Helper };
6
+ // export types
7
+ export * from "./lib/egg.js";
8
+ export * from "./lib/types.js";
9
+ export * from "./lib/start.js";
10
+ // export singleton
11
+ export { Singleton } from '@eggjs/core';
12
+ // export errors
13
+ export * from "./lib/error/index.js";
14
+ // export httpClients
15
+ export * from "./lib/core/httpclient.js";
16
+ export * from "./lib/core/context_httpclient.js";
17
+ /**
18
+ * Start egg application with cluster mode
19
+ * @since 1.0.0
20
+ */
21
+ export * from '@eggjs/cluster';
22
+ /**
23
+ * Start egg application with single process mode
24
+ * @since 1.0.0
25
+ */
26
+ export { startEgg as start };
27
+ /**
28
+ * @member {Application} Egg#Application
29
+ * @since 1.0.0
30
+ */
31
+ export { Application } from "./lib/application.js";
32
+ /**
33
+ * @member {Agent} Egg#Agent
34
+ * @since 1.0.0
35
+ */
36
+ export { Agent } from "./lib/agent.js";
37
+ /**
38
+ * @member {AppWorkerLoader} Egg#AppWorkerLoader
39
+ * @since 1.0.0
40
+ */
41
+ /**
42
+ * @member {AgentWorkerLoader} Egg#AgentWorkerLoader
43
+ * @since 1.0.0
44
+ */
45
+ export { AppWorkerLoader, AgentWorkerLoader } from "./lib/loader/index.js";
46
+ /**
47
+ * @member {Controller} Egg#Controller
48
+ * @since 1.1.0
49
+ */
50
+ export { BaseContextClass as Controller };
51
+ /**
52
+ * @member {Service} Egg#Service
53
+ * @since 1.1.0
54
+ */
55
+ export { BaseContextClass as Service };
56
+ /**
57
+ * @member {Subscription} Egg#Subscription
58
+ * @since 1.10.0
59
+ */
60
+ export { BaseContextClass as Subscription };
61
+ /**
62
+ * @member {BaseContextClass} Egg#BaseContextClass
63
+ * @since 1.2.0
64
+ */
65
+ export { BaseContextClass } from "./lib/core/base_context_class.js";
66
+ /**
67
+ * @member {Boot} Egg#Boot
68
+ */
69
+ export { BaseHookClass as Boot } from "./lib/core/base_hook_class.js";
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLFFBQVEsRUFBb0QsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLE1BQU0sTUFBTSx3QkFBd0IsQ0FBQztBQUU1QyxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBTWxCLGVBQWU7QUFDZixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsbUJBQW1CO0FBQ25CLE9BQU8sRUFBRSxTQUFTLEVBQXFELE1BQU0sYUFBYSxDQUFDO0FBRTNGLGdCQUFnQjtBQUNoQixjQUFjLHNCQUFzQixDQUFDO0FBS3JDLHFCQUFxQjtBQUNyQixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0NBQWtDLENBQUM7QUFFakQ7OztHQUdHO0FBQ0gsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQjs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxJQUFJLEtBQUssRUFBb0QsQ0FBQztBQUUvRTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFbkQ7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZDOzs7R0FHRztBQUVIOzs7R0FHRztBQUVILE9BQU8sRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsZ0JBQWdCLElBQUksVUFBVSxFQUFFLENBQUM7QUFFMUM7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLGdCQUFnQixJQUFJLE9BQU8sRUFBRSxDQUFDO0FBRXZDOzs7R0FHRztBQUNILE9BQU8sRUFBRSxnQkFBZ0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVwRTs7R0FFRztBQUNILE9BQU8sRUFBRSxhQUFhLElBQUksSUFBSSxFQUFFLE1BQU0sK0JBQStCLENBQUMifQ==
@@ -1,12 +1,19 @@
1
- import "../EggApplicationLoader-PnIvd5oV.js";
2
- import "../AppWorkerLoader-CT875rYM.js";
3
- import "../AgentWorkerLoader-DG_hAClt.js";
4
- import "../index-CUPkUUOR.js";
5
- import { Agent } from "../base_hook_class-R8A8gm1s.js";
6
- import "../response-DlNYDj00.js";
7
- import "../types.plugin-C3D5I7VD.js";
8
- import "../IMessenger-C9g6ypSI.js";
9
- import "../CookieLimitExceedError-CAW0HYJw.js";
10
- import "../MessageUnhandledRejectionError-Lq5fWw24.js";
11
- import "../index-CkgLZdB4.js";
12
- export { Agent };
1
+ import { EggApplicationCore, type EggApplicationCoreOptions } from './egg.ts';
2
+ import { AgentWorkerLoader } from './loader/index.ts';
3
+ declare const EGG_LOADER: unique symbol;
4
+ /**
5
+ * Singleton instance in Agent Worker, extend {@link EggApplicationCore}
6
+ * @augments EggApplicationCore
7
+ */
8
+ export declare class Agent extends EggApplicationCore {
9
+ #private;
10
+ /**
11
+ * @class
12
+ * @param {Object} options - see {@link EggApplicationCore}
13
+ */
14
+ constructor(options?: Omit<EggApplicationCoreOptions, 'type'>);
15
+ get [EGG_LOADER](): typeof AgentWorkerLoader;
16
+ _wrapMessenger(): void;
17
+ close(): Promise<void>;
18
+ }
19
+ export {};
package/dist/lib/agent.js CHANGED
@@ -1,22 +1,48 @@
1
- import "../base_hook_class-D0Gu2p8r.js";
2
- import "../base_context_logger-CZU59PGA.js";
3
- import "../base_context_class-Xc1OZql9.js";
4
- import "../context-D1Wg7CXs.js";
5
- import "../response-CDeQ9Sx2.js";
6
- import "../request-Cy_1DlaX.js";
7
- import "../CookieLimitExceedError-DLGakbeu.js";
8
- import "../MessageUnhandledRejectionError-oD_E1Ewl.js";
9
- import "../error-BYo_LRnd.js";
10
- import "../egg-DVo5e_lr.js";
11
- import "../context_httpclient-BpRMdJhf.js";
12
- import "../httpclient-C1QPc_R7.js";
13
- import "../logger-C4tIcO3S.js";
14
- import "../utils-B1Rjsoi9.js";
15
- import "../utils-BDoYg6z6.js";
16
- import "../EggApplicationLoader-CMe1VQt1.js";
17
- import "../AppWorkerLoader-CAtxJvGl.js";
18
- import "../AgentWorkerLoader-D_hceBRW.js";
19
- import "../loader-3myZ-rpm.js";
20
- import { Agent } from "../agent-BfFWeJj4.js";
21
-
22
- export { Agent };
1
+ import { EggApplicationCore } from "./egg.js";
2
+ import { AgentWorkerLoader } from "./loader/index.js";
3
+ const EGG_LOADER = Symbol.for('egg#loader');
4
+ /**
5
+ * Singleton instance in Agent Worker, extend {@link EggApplicationCore}
6
+ * @augments EggApplicationCore
7
+ */
8
+ export class Agent extends EggApplicationCore {
9
+ #agentAliveHandler;
10
+ /**
11
+ * @class
12
+ * @param {Object} options - see {@link EggApplicationCore}
13
+ */
14
+ constructor(options) {
15
+ super({
16
+ ...options,
17
+ type: 'agent',
18
+ });
19
+ // keep agent alive even it doesn't have any io tasks
20
+ this.#agentAliveHandler = setInterval(() => {
21
+ this.coreLogger.info('[]');
22
+ }, 24 * 60 * 60 * 1000);
23
+ }
24
+ get [EGG_LOADER]() {
25
+ return AgentWorkerLoader;
26
+ }
27
+ _wrapMessenger() {
28
+ for (const methodName of ['broadcast', 'sendTo', 'sendToApp', 'sendToAgent', 'sendRandom']) {
29
+ wrapMethod(methodName, this.messenger, this.coreLogger);
30
+ }
31
+ function wrapMethod(methodName, messenger, logger) {
32
+ const originMethod = messenger[methodName];
33
+ messenger[methodName] = function (...args) {
34
+ const stack = new Error().stack.split('\n').slice(1).join('\n');
35
+ logger.warn("agent can't call %s before server started\n%s", methodName, stack);
36
+ originMethod.apply(this, args);
37
+ };
38
+ messenger.prependOnceListener('egg-ready', () => {
39
+ messenger[methodName] = originMethod;
40
+ });
41
+ }
42
+ }
43
+ async close() {
44
+ clearInterval(this.#agentAliveHandler);
45
+ await super.close();
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxrQkFBa0IsRUFBa0MsTUFBTSxVQUFVLENBQUM7QUFDOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdEQsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUU1Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sS0FBTSxTQUFRLGtCQUFrQjtJQUNsQyxrQkFBa0IsQ0FBaUI7SUFFNUM7OztPQUdHO0lBQ0gsWUFBWSxPQUFpRDtRQUMzRCxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsT0FBTztTQUNkLENBQUMsQ0FBQztRQUVILHFEQUFxRDtRQUNyRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUNuQyxHQUFHLEVBQUU7WUFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDLEVBQ0QsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUNwQixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxVQUFVLENBQUM7UUFDZCxPQUFPLGlCQUFpQixDQUFDO0lBQzNCLENBQUM7SUFFRCxjQUFjO1FBQ1osS0FBSyxNQUFNLFVBQVUsSUFBSSxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQzNGLFVBQVUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUVELFNBQVMsVUFBVSxDQUFDLFVBQWtCLEVBQUUsU0FBYyxFQUFFLE1BQWlCO1lBQ3ZFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMzQyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUcsVUFBVSxHQUFHLElBQVc7Z0JBQzlDLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUMsS0FBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDLCtDQUErQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDaEYsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDO1lBQ0YsU0FBUyxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUU7Z0JBQzlDLFNBQVMsQ0FBQyxVQUFVLENBQUMsR0FBRyxZQUFZLENBQUM7WUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3RCLENBQUM7Q0FDRiJ9
@@ -1,12 +1,56 @@
1
- import "../EggApplicationLoader-PnIvd5oV.js";
2
- import "../AppWorkerLoader-CT875rYM.js";
3
- import "../AgentWorkerLoader-DG_hAClt.js";
4
- import "../index-CUPkUUOR.js";
5
- import { Application } from "../base_hook_class-R8A8gm1s.js";
6
- import "../response-DlNYDj00.js";
7
- import "../types.plugin-C3D5I7VD.js";
8
- import "../IMessenger-C9g6ypSI.js";
9
- import "../CookieLimitExceedError-CAW0HYJw.js";
10
- import "../MessageUnhandledRejectionError-Lq5fWw24.js";
11
- import "../index-CkgLZdB4.js";
12
- export { Application };
1
+ import http from 'node:http';
2
+ import { Socket } from 'node:net';
3
+ import { EggApplicationCore, type EggApplicationCoreOptions, type Context } from './egg.ts';
4
+ import { AppWorkerLoader } from './loader/index.ts';
5
+ import Helper from '../app/extend/helper.ts';
6
+ declare const EGG_LOADER: unique symbol;
7
+ /**
8
+ * Singleton instance in App Worker, extend {@link EggApplicationCore}
9
+ * @augments EggApplicationCore
10
+ */
11
+ export declare class Application extends EggApplicationCore {
12
+ #private;
13
+ server?: http.Server;
14
+ /**
15
+ * reference to {@link Helper}
16
+ * @member {Helper} Application#Helper
17
+ */
18
+ Helper: typeof Helper;
19
+ /**
20
+ * @class
21
+ * @param {Object} options - see {@link EggApplicationCore}
22
+ */
23
+ constructor(options?: Omit<EggApplicationCoreOptions, 'type'>);
24
+ protected load(): Promise<void>;
25
+ get [EGG_LOADER](): typeof AppWorkerLoader;
26
+ onClientError(err: any, socket: Socket): void;
27
+ onServer(server: http.Server): void;
28
+ /**
29
+ * global locals for view
30
+ * @member {Object} Application#locals
31
+ * @see Context#locals
32
+ */
33
+ get locals(): Record<string, any>;
34
+ set locals(val: Record<string, any>);
35
+ /**
36
+ * save routers to `run/router.json`
37
+ * @private
38
+ */
39
+ dumpConfig(): void;
40
+ /**
41
+ * Run async function in the background
42
+ * @see Context#runInBackground
43
+ * @param {Function} scope - the first args is an anonymous ctx
44
+ */
45
+ runInBackground(scope: (ctx: Context) => Promise<void>, req?: unknown): void;
46
+ /**
47
+ * secret key for Application
48
+ * @member {String} Application#keys
49
+ */
50
+ get keys(): string[];
51
+ /**
52
+ * @deprecated keep compatible with egg 3.x
53
+ */
54
+ toAsyncFunction(fn: (...args: any[]) => any): (...args: any[]) => any;
55
+ }
56
+ export {};
@@ -1,23 +1,261 @@
1
- import "../base_hook_class-D0Gu2p8r.js";
2
- import "../base_context_logger-CZU59PGA.js";
3
- import "../base_context_class-Xc1OZql9.js";
4
- import "../context-D1Wg7CXs.js";
5
- import "../response-CDeQ9Sx2.js";
6
- import "../request-Cy_1DlaX.js";
7
- import "../CookieLimitExceedError-DLGakbeu.js";
8
- import "../MessageUnhandledRejectionError-oD_E1Ewl.js";
9
- import "../error-BYo_LRnd.js";
10
- import "../egg-DVo5e_lr.js";
11
- import "../context_httpclient-BpRMdJhf.js";
12
- import "../httpclient-C1QPc_R7.js";
13
- import "../logger-C4tIcO3S.js";
14
- import "../utils-B1Rjsoi9.js";
15
- import "../utils-BDoYg6z6.js";
16
- import "../EggApplicationLoader-CMe1VQt1.js";
17
- import "../AppWorkerLoader-CAtxJvGl.js";
18
- import "../AgentWorkerLoader-D_hceBRW.js";
19
- import "../loader-3myZ-rpm.js";
20
- import "../helper-B3PKMPXq.js";
21
- import { Application } from "../application-DVwFQSa9.js";
22
-
23
- export { Application };
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
+ import Helper from "../app/extend/helper.js";
12
+ import { CookieLimitExceedError } from "./error/index.js";
13
+ const EGG_LOADER = Symbol.for('egg#loader');
14
+ // client error => 400 Bad Request
15
+ // Refs: https://nodejs.org/dist/latest-v8.x/docs/api/http.html#http_event_clienterror
16
+ const DEFAULT_BAD_REQUEST_HTML = `<html>
17
+ <head><title>400 Bad Request</title></head>
18
+ <body bgcolor="white">
19
+ <center><h1>400 Bad Request</h1></center>
20
+ <hr><center>❤</center>
21
+ </body>
22
+ </html>`;
23
+ const DEFAULT_BAD_REQUEST_HTML_LENGTH = Buffer.byteLength(DEFAULT_BAD_REQUEST_HTML);
24
+ const DEFAULT_BAD_REQUEST_RESPONSE = `HTTP/1.1 400 Bad Request\r\nContent-Length: ${DEFAULT_BAD_REQUEST_HTML_LENGTH}` +
25
+ `\r\n\r\n${DEFAULT_BAD_REQUEST_HTML}`;
26
+ // Refs: https://github.com/nodejs/node/blob/b38c81/lib/_http_outgoing.js#L706-L710
27
+ function escapeHeaderValue(value) {
28
+ // Protect against response splitting. The regex test is there to
29
+ // minimize the performance impact in the common case.
30
+ return /[\r\n]/.test(value) ? value.replace(/[\r\n]+[ \t]*/g, '') : value;
31
+ }
32
+ /**
33
+ * Singleton instance in App Worker, extend {@link EggApplicationCore}
34
+ * @augments EggApplicationCore
35
+ */
36
+ export class Application extends EggApplicationCore {
37
+ // will auto set after 'server' event emit
38
+ server;
39
+ #locals = {};
40
+ /**
41
+ * reference to {@link Helper}
42
+ * @member {Helper} Application#Helper
43
+ */
44
+ Helper = Helper;
45
+ /**
46
+ * @class
47
+ * @param {Object} options - see {@link EggApplicationCore}
48
+ */
49
+ constructor(options) {
50
+ super({
51
+ ...options,
52
+ type: 'application',
53
+ });
54
+ }
55
+ async load() {
56
+ await super.load();
57
+ this.#warnConfusedConfig();
58
+ this.#bindEvents();
59
+ }
60
+ get [EGG_LOADER]() {
61
+ return AppWorkerLoader;
62
+ }
63
+ #responseRaw(socket, raw) {
64
+ if (!socket?.writable)
65
+ return;
66
+ if (!raw) {
67
+ return socket.end(DEFAULT_BAD_REQUEST_RESPONSE);
68
+ }
69
+ const body = raw.body == null ? DEFAULT_BAD_REQUEST_HTML : raw.body;
70
+ const headers = raw.headers || {};
71
+ const status = raw.status || 400;
72
+ let responseHeaderLines = '';
73
+ const firstLine = `HTTP/1.1 ${status} ${http.STATUS_CODES[status] || 'Unknown'}`;
74
+ // Not that safe because no validation for header keys.
75
+ // Refs: https://github.com/nodejs/node/blob/b38c81/lib/_http_outgoing.js#L451
76
+ for (const key of Object.keys(headers)) {
77
+ if (key.toLowerCase() === 'content-length') {
78
+ delete headers[key];
79
+ continue;
80
+ }
81
+ responseHeaderLines += `${key}: ${escapeHeaderValue(headers[key])}\r\n`;
82
+ }
83
+ responseHeaderLines += `Content-Length: ${Buffer.byteLength(body)}\r\n`;
84
+ socket.end(`${firstLine}\r\n${responseHeaderLines}\r\n${body.toString()}`);
85
+ }
86
+ onClientError(err, socket) {
87
+ // ignore when there is no http body, it almost like an ECONNRESET
88
+ if (err.rawPacket) {
89
+ this.logger.warn('[egg:application] A client (%s:%d) error [%s] occurred: %s', socket.remoteAddress, socket.remotePort, err.code, err.message);
90
+ }
91
+ if (typeof this.config.onClientError === 'function') {
92
+ // @ts-ignore onClientError is not typed
93
+ const p = eggUtils.callFn(this.config.onClientError, [err, socket, this]);
94
+ // the returned object should be something like:
95
+ //
96
+ // {
97
+ // body: '...',
98
+ // headers: {
99
+ // ...
100
+ // },
101
+ // status: 400
102
+ // }
103
+ //
104
+ // default values:
105
+ //
106
+ // + body: ''
107
+ // + headers: {}
108
+ // + status: 400
109
+ p.then(ret => {
110
+ this.#responseRaw(socket, ret || {});
111
+ }).catch(err => {
112
+ this.logger.error(err);
113
+ this.#responseRaw(socket);
114
+ });
115
+ }
116
+ else {
117
+ // because it's a raw socket object, we should return the raw HTTP response
118
+ // packet.
119
+ this.#responseRaw(socket);
120
+ }
121
+ }
122
+ onServer(server) {
123
+ // expose app.server
124
+ this.server = server;
125
+ // set ignore code
126
+ const serverGracefulIgnoreCode = this.config.serverGracefulIgnoreCode || [];
127
+ graceful({
128
+ server: [server],
129
+ error: (err, throwErrorCount) => {
130
+ const originMessage = err.message;
131
+ if (originMessage) {
132
+ // shouldjs will override error property but only getter
133
+ // https://github.com/shouldjs/should.js/blob/889e22ebf19a06bc2747d24cf34b25cc00b37464/lib/assertion-error.js#L26
134
+ Object.defineProperty(err, 'message', {
135
+ get() {
136
+ return `${originMessage} (uncaughtException throw ${throwErrorCount} times on pid: ${process.pid})`;
137
+ },
138
+ configurable: true,
139
+ enumerable: false,
140
+ });
141
+ }
142
+ this.coreLogger.error(err);
143
+ },
144
+ ignoreCode: serverGracefulIgnoreCode,
145
+ });
146
+ server.on('clientError', (err, socket) => this.onClientError(err, socket));
147
+ // server timeout
148
+ if (typeof this.config.serverTimeout === 'number') {
149
+ server.setTimeout(this.config.serverTimeout);
150
+ }
151
+ }
152
+ /**
153
+ * global locals for view
154
+ * @member {Object} Application#locals
155
+ * @see Context#locals
156
+ */
157
+ get locals() {
158
+ return this.#locals;
159
+ }
160
+ set locals(val) {
161
+ assign(this.#locals, val);
162
+ }
163
+ /**
164
+ * save routers to `run/router.json`
165
+ * @private
166
+ */
167
+ dumpConfig() {
168
+ super.dumpConfig();
169
+ // dump routers to router.json
170
+ const rundir = this.config.rundir;
171
+ const FULLPATH = this.loader.FileLoader.FULLPATH;
172
+ try {
173
+ const dumpRouterFile = path.join(rundir, 'router.json');
174
+ const routers = [];
175
+ for (const layer of this.router.stack) {
176
+ routers.push({
177
+ name: layer.name,
178
+ methods: layer.methods,
179
+ paramNames: layer.paramNames,
180
+ path: layer.path,
181
+ regexp: layer.regexp.toString(),
182
+ stack: layer.stack.map((stack) => stack[FULLPATH] || stack._name || stack.name || 'anonymous'),
183
+ });
184
+ }
185
+ fs.writeFileSync(dumpRouterFile, JSON.stringify(routers, null, 2));
186
+ }
187
+ catch (err) {
188
+ this.coreLogger.warn(`dumpConfig router.json error: ${err.message}`);
189
+ }
190
+ }
191
+ /**
192
+ * Run async function in the background
193
+ * @see Context#runInBackground
194
+ * @param {Function} scope - the first args is an anonymous ctx
195
+ */
196
+ runInBackground(scope, req) {
197
+ const ctx = this.createAnonymousContext(req);
198
+ if (!scope.name) {
199
+ Reflect.set(scope, '_name', eggUtils.getCalleeFromStack(true));
200
+ }
201
+ this.ctxStorage.run(ctx, () => {
202
+ return ctx.runInBackground(scope);
203
+ });
204
+ }
205
+ /**
206
+ * secret key for Application
207
+ * @member {String} Application#keys
208
+ */
209
+ get keys() {
210
+ if (!this._keys) {
211
+ if (!this.config.keys) {
212
+ if (this.config.env === 'local' || this.config.env === 'unittest') {
213
+ const configPath = path.join(this.config.baseDir, 'config/config.default.js');
214
+ console.error('Cookie need secret key to sign and encrypt.');
215
+ console.error('Please add `config.keys` in %s', configPath);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2FwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDekIsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFbEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxLQUFLLElBQUksUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUVqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQWdELE1BQU0sVUFBVSxDQUFDO0FBQzVGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLE1BQU0sTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRTVDLGtDQUFrQztBQUNsQyxzRkFBc0Y7QUFDdEYsTUFBTSx3QkFBd0IsR0FBRzs7Ozs7O1VBTXZCLENBQUM7QUFDWCxNQUFNLCtCQUErQixHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUNwRixNQUFNLDRCQUE0QixHQUNoQywrQ0FBK0MsK0JBQStCLEVBQUU7SUFDaEYsV0FBVyx3QkFBd0IsRUFBRSxDQUFDO0FBRXhDLG1GQUFtRjtBQUNuRixTQUFTLGlCQUFpQixDQUFDLEtBQWE7SUFDdEMsaUVBQWlFO0lB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
@@ -1,12 +1,18 @@
1
- import "../../EggApplicationLoader-PnIvd5oV.js";
2
- import "../../AppWorkerLoader-CT875rYM.js";
3
- import "../../AgentWorkerLoader-DG_hAClt.js";
4
- import "../../index-CUPkUUOR.js";
5
- import { BaseContextClass } from "../../base_hook_class-R8A8gm1s.js";
6
- import "../../response-DlNYDj00.js";
7
- import "../../types.plugin-C3D5I7VD.js";
8
- import "../../IMessenger-C9g6ypSI.js";
9
- import "../../CookieLimitExceedError-CAW0HYJw.js";
10
- import "../../MessageUnhandledRejectionError-Lq5fWw24.js";
11
- import "../../index-CkgLZdB4.js";
12
- export { BaseContextClass };
1
+ import { BaseContextClass as EggCoreBaseContextClass } from '@eggjs/core';
2
+ import type { Context } from '../egg.ts';
3
+ import type { Application } from '../application.ts';
4
+ import { BaseContextLogger } from './base_context_logger.ts';
5
+ /**
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
+ export declare class BaseContextClass extends EggCoreBaseContextClass {
11
+ #private;
12
+ [key: string | symbol]: any;
13
+ ctx: Context;
14
+ pathName?: string;
15
+ app: Application;
16
+ service: BaseContextClass;
17
+ get logger(): BaseContextLogger;
18
+ }
@@ -1,4 +1,17 @@
1
- import "../../base_context_logger-CZU59PGA.js";
2
- import { BaseContextClass } from "../../base_context_class-Xc1OZql9.js";
3
-
4
- export { BaseContextClass };
1
+ import { BaseContextClass as EggCoreBaseContextClass } from '@eggjs/core';
2
+ import { BaseContextLogger } from "./base_context_logger.js";
3
+ /**
4
+ * BaseContextClass is a base class that can be extended,
5
+ * it's instantiated in context level,
6
+ * {@link Helper}, {@link Service} is extending it.
7
+ */
8
+ export class BaseContextClass extends EggCoreBaseContextClass {
9
+ #logger;
10
+ get logger() {
11
+ if (!this.#logger) {
12
+ this.#logger = new BaseContextLogger(this.ctx, this.pathName);
13
+ }
14
+ return this.#logger;
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250ZXh0X2NsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb3JlL2Jhc2VfY29udGV4dF9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLElBQUksdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx1QkFBdUI7SUFNM0QsT0FBTyxDQUFxQjtJQUU1QixJQUFJLE1BQU07UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRiJ9