egg 4.0.10 → 4.1.0-beta.11

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 (291) hide show
  1. package/README.md +4 -22
  2. package/dist/agent.d.ts +8 -0
  3. package/dist/agent.js +11 -0
  4. package/dist/app/extend/context.d.ts +207 -0
  5. package/dist/app/extend/context.js +244 -0
  6. package/{src/app/extend/helper.ts → dist/app/extend/helper.d.ts} +8 -10
  7. package/dist/app/extend/helper.js +47 -0
  8. package/dist/app/extend/request.d.ts +145 -0
  9. package/dist/app/extend/request.js +226 -0
  10. package/{src/app/extend/response.ts → dist/app/extend/response.d.ts} +7 -16
  11. package/dist/app/extend/response.js +36 -0
  12. package/dist/app/middleware/body_parser.d.ts +2 -0
  13. package/dist/app/middleware/body_parser.js +7 -0
  14. package/dist/app/middleware/meta.d.ts +11 -0
  15. package/dist/app/middleware/meta.js +14 -0
  16. package/dist/app/middleware/notfound.d.ts +11 -0
  17. package/dist/app/middleware/notfound.js +26 -0
  18. package/dist/app/middleware/override_method.d.ts +2 -0
  19. package/dist/app/middleware/override_method.js +7 -0
  20. package/dist/app/middleware/site_file.d.ts +13 -0
  21. package/dist/app/middleware/site_file.js +38 -0
  22. package/dist/config/config.default.d.ts +12 -0
  23. package/dist/config/config.default.js +260 -0
  24. package/dist/config/config.local.d.ts +10 -0
  25. package/dist/config/config.local.js +7 -0
  26. package/dist/config/config.unittest.d.ts +9 -0
  27. package/dist/config/config.unittest.js +10 -0
  28. package/{src/config/plugin.ts → dist/config/plugin.d.ts} +41 -49
  29. package/dist/config/plugin.js +54 -0
  30. package/dist/index.d.ts +19 -0
  31. package/dist/index.js +21 -0
  32. package/dist/lib/agent.d.ts +22 -0
  33. package/dist/lib/agent.js +56 -0
  34. package/dist/lib/application.d.ts +71 -0
  35. package/dist/lib/application.js +209 -0
  36. package/dist/lib/core/base_context_class.d.ts +23 -0
  37. package/dist/lib/core/base_context_class.js +19 -0
  38. package/dist/lib/core/base_context_logger.d.ts +40 -0
  39. package/dist/lib/core/base_context_logger.js +58 -0
  40. package/dist/lib/core/base_hook_class.d.ts +18 -0
  41. package/dist/lib/core/base_hook_class.js +26 -0
  42. package/dist/lib/core/context_httpclient.d.ts +22 -0
  43. package/dist/lib/core/context_httpclient.js +29 -0
  44. package/dist/lib/core/httpclient.d.ts +17 -0
  45. package/dist/lib/core/httpclient.js +36 -0
  46. package/dist/lib/core/logger.d.ts +7 -0
  47. package/dist/lib/core/logger.js +31 -0
  48. package/{src/lib/core/messenger/IMessenger.ts → dist/lib/core/messenger/IMessenger.d.ts} +6 -10
  49. package/dist/lib/core/messenger/IMessenger.js +1 -0
  50. package/dist/lib/core/messenger/base.d.ts +12 -0
  51. package/dist/lib/core/messenger/base.js +29 -0
  52. package/dist/lib/core/messenger/index.d.ts +11 -0
  53. package/dist/lib/core/messenger/index.js +13 -0
  54. package/dist/lib/core/messenger/ipc.d.ts +63 -0
  55. package/dist/lib/core/messenger/ipc.js +122 -0
  56. package/dist/lib/core/messenger/local.d.ts +65 -0
  57. package/dist/lib/core/messenger/local.js +126 -0
  58. package/dist/lib/core/utils.d.ts +5 -0
  59. package/dist/lib/core/utils.js +48 -0
  60. package/dist/lib/egg.d.ts +306 -0
  61. package/dist/lib/egg.js +512 -0
  62. package/dist/lib/error/CookieLimitExceedError.d.ts +8 -0
  63. package/dist/lib/error/CookieLimitExceedError.js +15 -0
  64. package/dist/lib/error/MessageUnhandledRejectionError.d.ts +8 -0
  65. package/dist/lib/error/MessageUnhandledRejectionError.js +15 -0
  66. package/dist/lib/error/index.d.ts +3 -0
  67. package/dist/lib/error/index.js +4 -0
  68. package/dist/lib/loader/AgentWorkerLoader.d.ts +17 -0
  69. package/dist/lib/loader/AgentWorkerLoader.js +24 -0
  70. package/dist/lib/loader/AppWorkerLoader.d.ts +22 -0
  71. package/dist/lib/loader/AppWorkerLoader.js +37 -0
  72. package/dist/lib/loader/EggApplicationLoader.d.ts +8 -0
  73. package/dist/lib/loader/EggApplicationLoader.js +7 -0
  74. package/dist/lib/loader/index.d.ts +4 -0
  75. package/dist/lib/loader/index.js +5 -0
  76. package/dist/lib/start.d.ts +28 -0
  77. package/dist/lib/start.js +36 -0
  78. package/{src/lib/types.ts → dist/lib/types.d.ts} +73 -94
  79. package/dist/lib/types.js +36 -0
  80. package/dist/lib/utils.d.ts +5 -0
  81. package/dist/lib/utils.js +14 -0
  82. package/dist/urllib.d.ts +1 -0
  83. package/dist/urllib.js +3 -0
  84. package/package.json +81 -99
  85. package/README.zh-CN.md +0 -61
  86. package/dist/commonjs/agent.d.ts +0 -4
  87. package/dist/commonjs/agent.js +0 -10
  88. package/dist/commonjs/app/extend/context.d.ts +0 -204
  89. package/dist/commonjs/app/extend/context.js +0 -262
  90. package/dist/commonjs/app/extend/helper.d.ts +0 -37
  91. package/dist/commonjs/app/extend/helper.js +0 -49
  92. package/dist/commonjs/app/extend/request.d.ts +0 -141
  93. package/dist/commonjs/app/extend/request.js +0 -270
  94. package/dist/commonjs/app/extend/response.d.ts +0 -31
  95. package/dist/commonjs/app/extend/response.js +0 -37
  96. package/dist/commonjs/app/middleware/body_parser.d.ts +0 -2
  97. package/dist/commonjs/app/middleware/body_parser.js +0 -8
  98. package/dist/commonjs/app/middleware/meta.d.ts +0 -10
  99. package/dist/commonjs/app/middleware/meta.js +0 -22
  100. package/dist/commonjs/app/middleware/notfound.d.ts +0 -7
  101. package/dist/commonjs/app/middleware/notfound.js +0 -31
  102. package/dist/commonjs/app/middleware/override_method.d.ts +0 -2
  103. package/dist/commonjs/app/middleware/override_method.js +0 -8
  104. package/dist/commonjs/app/middleware/site_file.d.ts +0 -9
  105. package/dist/commonjs/app/middleware/site_file.js +0 -58
  106. package/dist/commonjs/config/config.default.d.ts +0 -9
  107. package/dist/commonjs/config/config.default.js +0 -379
  108. package/dist/commonjs/config/config.local.d.ts +0 -8
  109. package/dist/commonjs/config/config.local.js +0 -12
  110. package/dist/commonjs/config/config.unittest.d.ts +0 -7
  111. package/dist/commonjs/config/config.unittest.js +0 -11
  112. package/dist/commonjs/config/plugin.d.ts +0 -122
  113. package/dist/commonjs/config/plugin.js +0 -124
  114. package/dist/commonjs/index.d.ts +0 -69
  115. package/dist/commonjs/index.js +0 -83
  116. package/dist/commonjs/lib/agent.d.ts +0 -19
  117. package/dist/commonjs/lib/agent.js +0 -58
  118. package/dist/commonjs/lib/application.d.ts +0 -67
  119. package/dist/commonjs/lib/application.js +0 -266
  120. package/dist/commonjs/lib/core/base_context_class.d.ts +0 -17
  121. package/dist/commonjs/lib/core/base_context_class.js +0 -21
  122. package/dist/commonjs/lib/core/base_context_logger.d.ts +0 -36
  123. package/dist/commonjs/lib/core/base_context_logger.js +0 -64
  124. package/dist/commonjs/lib/core/base_hook_class.d.ts +0 -11
  125. package/dist/commonjs/lib/core/base_hook_class.js +0 -29
  126. package/dist/commonjs/lib/core/context_httpclient.d.ts +0 -16
  127. package/dist/commonjs/lib/core/context_httpclient.js +0 -30
  128. package/dist/commonjs/lib/core/httpclient.d.ts +0 -14
  129. package/dist/commonjs/lib/core/httpclient.js +0 -42
  130. package/dist/commonjs/lib/core/logger.d.ts +0 -3
  131. package/dist/commonjs/lib/core/logger.js +0 -40
  132. package/dist/commonjs/lib/core/messenger/IMessenger.d.ts +0 -50
  133. package/dist/commonjs/lib/core/messenger/IMessenger.js +0 -3
  134. package/dist/commonjs/lib/core/messenger/base.d.ts +0 -8
  135. package/dist/commonjs/lib/core/messenger/base.js +0 -31
  136. package/dist/commonjs/lib/core/messenger/index.d.ts +0 -7
  137. package/dist/commonjs/lib/core/messenger/index.js +0 -15
  138. package/dist/commonjs/lib/core/messenger/ipc.d.ts +0 -58
  139. package/dist/commonjs/lib/core/messenger/ipc.js +0 -135
  140. package/dist/commonjs/lib/core/messenger/local.d.ts +0 -60
  141. package/dist/commonjs/lib/core/messenger/local.js +0 -132
  142. package/dist/commonjs/lib/core/utils.d.ts +0 -2
  143. package/dist/commonjs/lib/core/utils.js +0 -77
  144. package/dist/commonjs/lib/egg.d.ts +0 -305
  145. package/dist/commonjs/lib/egg.js +0 -628
  146. package/dist/commonjs/lib/error/CookieLimitExceedError.d.ts +0 -5
  147. package/dist/commonjs/lib/error/CookieLimitExceedError.js +0 -16
  148. package/dist/commonjs/lib/error/MessageUnhandledRejectionError.d.ts +0 -5
  149. package/dist/commonjs/lib/error/MessageUnhandledRejectionError.js +0 -16
  150. package/dist/commonjs/lib/error/index.d.ts +0 -2
  151. package/dist/commonjs/lib/error/index.js +0 -19
  152. package/dist/commonjs/lib/loader/AgentWorkerLoader.d.ts +0 -12
  153. package/dist/commonjs/lib/loader/AgentWorkerLoader.js +0 -24
  154. package/dist/commonjs/lib/loader/AppWorkerLoader.d.ts +0 -17
  155. package/dist/commonjs/lib/loader/AppWorkerLoader.js +0 -43
  156. package/dist/commonjs/lib/loader/EggApplicationLoader.d.ts +0 -4
  157. package/dist/commonjs/lib/loader/EggApplicationLoader.js +0 -8
  158. package/dist/commonjs/lib/loader/index.d.ts +0 -3
  159. package/dist/commonjs/lib/loader/index.js +0 -22
  160. package/dist/commonjs/lib/start.d.ts +0 -24
  161. package/dist/commonjs/lib/start.js +0 -49
  162. package/dist/commonjs/lib/types.d.ts +0 -257
  163. package/dist/commonjs/lib/types.js +0 -16
  164. package/dist/commonjs/lib/utils.d.ts +0 -2
  165. package/dist/commonjs/lib/utils.js +0 -21
  166. package/dist/commonjs/package.json +0 -3
  167. package/dist/commonjs/urllib.d.ts +0 -1
  168. package/dist/commonjs/urllib.js +0 -18
  169. package/dist/esm/agent.d.ts +0 -4
  170. package/dist/esm/agent.js +0 -7
  171. package/dist/esm/app/extend/context.d.ts +0 -204
  172. package/dist/esm/app/extend/context.js +0 -259
  173. package/dist/esm/app/extend/helper.d.ts +0 -37
  174. package/dist/esm/app/extend/helper.js +0 -43
  175. package/dist/esm/app/extend/request.d.ts +0 -141
  176. package/dist/esm/app/extend/request.js +0 -264
  177. package/dist/esm/app/extend/response.d.ts +0 -31
  178. package/dist/esm/app/extend/response.js +0 -34
  179. package/dist/esm/app/middleware/body_parser.d.ts +0 -2
  180. package/dist/esm/app/middleware/body_parser.js +0 -3
  181. package/dist/esm/app/middleware/meta.d.ts +0 -10
  182. package/dist/esm/app/middleware/meta.js +0 -20
  183. package/dist/esm/app/middleware/notfound.d.ts +0 -7
  184. package/dist/esm/app/middleware/notfound.js +0 -29
  185. package/dist/esm/app/middleware/override_method.d.ts +0 -2
  186. package/dist/esm/app/middleware/override_method.js +0 -3
  187. package/dist/esm/app/middleware/site_file.d.ts +0 -9
  188. package/dist/esm/app/middleware/site_file.js +0 -53
  189. package/dist/esm/config/config.default.d.ts +0 -9
  190. package/dist/esm/config/config.default.js +0 -374
  191. package/dist/esm/config/config.local.d.ts +0 -8
  192. package/dist/esm/config/config.local.js +0 -10
  193. package/dist/esm/config/config.unittest.d.ts +0 -7
  194. package/dist/esm/config/config.unittest.js +0 -9
  195. package/dist/esm/config/favicon.png +0 -0
  196. package/dist/esm/config/plugin.d.ts +0 -122
  197. package/dist/esm/config/plugin.js +0 -122
  198. package/dist/esm/index.d.ts +0 -69
  199. package/dist/esm/index.js +0 -73
  200. package/dist/esm/lib/agent.d.ts +0 -19
  201. package/dist/esm/lib/agent.js +0 -54
  202. package/dist/esm/lib/application.d.ts +0 -67
  203. package/dist/esm/lib/application.js +0 -259
  204. package/dist/esm/lib/core/base_context_class.d.ts +0 -17
  205. package/dist/esm/lib/core/base_context_class.js +0 -17
  206. package/dist/esm/lib/core/base_context_logger.d.ts +0 -36
  207. package/dist/esm/lib/core/base_context_logger.js +0 -60
  208. package/dist/esm/lib/core/base_hook_class.d.ts +0 -11
  209. package/dist/esm/lib/core/base_hook_class.js +0 -22
  210. package/dist/esm/lib/core/context_httpclient.d.ts +0 -16
  211. package/dist/esm/lib/core/context_httpclient.js +0 -26
  212. package/dist/esm/lib/core/httpclient.d.ts +0 -14
  213. package/dist/esm/lib/core/httpclient.js +0 -38
  214. package/dist/esm/lib/core/logger.d.ts +0 -3
  215. package/dist/esm/lib/core/logger.js +0 -37
  216. package/dist/esm/lib/core/messenger/IMessenger.d.ts +0 -50
  217. package/dist/esm/lib/core/messenger/IMessenger.js +0 -2
  218. package/dist/esm/lib/core/messenger/base.d.ts +0 -8
  219. package/dist/esm/lib/core/messenger/base.js +0 -27
  220. package/dist/esm/lib/core/messenger/index.d.ts +0 -7
  221. package/dist/esm/lib/core/messenger/index.js +0 -12
  222. package/dist/esm/lib/core/messenger/ipc.d.ts +0 -58
  223. package/dist/esm/lib/core/messenger/ipc.js +0 -128
  224. package/dist/esm/lib/core/messenger/local.d.ts +0 -60
  225. package/dist/esm/lib/core/messenger/local.js +0 -128
  226. package/dist/esm/lib/core/utils.d.ts +0 -2
  227. package/dist/esm/lib/core/utils.js +0 -70
  228. package/dist/esm/lib/egg.d.ts +0 -305
  229. package/dist/esm/lib/egg.js +0 -586
  230. package/dist/esm/lib/error/CookieLimitExceedError.d.ts +0 -5
  231. package/dist/esm/lib/error/CookieLimitExceedError.js +0 -12
  232. package/dist/esm/lib/error/MessageUnhandledRejectionError.d.ts +0 -5
  233. package/dist/esm/lib/error/MessageUnhandledRejectionError.js +0 -12
  234. package/dist/esm/lib/error/index.d.ts +0 -2
  235. package/dist/esm/lib/error/index.js +0 -3
  236. package/dist/esm/lib/loader/AgentWorkerLoader.d.ts +0 -12
  237. package/dist/esm/lib/loader/AgentWorkerLoader.js +0 -20
  238. package/dist/esm/lib/loader/AppWorkerLoader.d.ts +0 -17
  239. package/dist/esm/lib/loader/AppWorkerLoader.js +0 -39
  240. package/dist/esm/lib/loader/EggApplicationLoader.d.ts +0 -4
  241. package/dist/esm/lib/loader/EggApplicationLoader.js +0 -4
  242. package/dist/esm/lib/loader/index.d.ts +0 -3
  243. package/dist/esm/lib/loader/index.js +0 -4
  244. package/dist/esm/lib/start.d.ts +0 -24
  245. package/dist/esm/lib/start.js +0 -43
  246. package/dist/esm/lib/types.d.ts +0 -257
  247. package/dist/esm/lib/types.js +0 -14
  248. package/dist/esm/lib/utils.d.ts +0 -2
  249. package/dist/esm/lib/utils.js +0 -14
  250. package/dist/esm/package.json +0 -3
  251. package/dist/esm/urllib.d.ts +0 -1
  252. package/dist/esm/urllib.js +0 -2
  253. package/dist/package.json +0 -4
  254. package/src/agent.ts +0 -7
  255. package/src/app/extend/context.ts +0 -332
  256. package/src/app/extend/request.ts +0 -300
  257. package/src/app/middleware/body_parser.ts +0 -3
  258. package/src/app/middleware/meta.ts +0 -27
  259. package/src/app/middleware/notfound.ts +0 -41
  260. package/src/app/middleware/override_method.ts +0 -3
  261. package/src/app/middleware/site_file.ts +0 -68
  262. package/src/config/config.default.ts +0 -404
  263. package/src/config/config.local.ts +0 -11
  264. package/src/config/config.unittest.ts +0 -10
  265. package/src/config/favicon.png +0 -0
  266. package/src/index.ts +0 -120
  267. package/src/lib/agent.ts +0 -66
  268. package/src/lib/application.ts +0 -308
  269. package/src/lib/core/base_context_class.ts +0 -24
  270. package/src/lib/core/base_context_logger.ts +0 -67
  271. package/src/lib/core/base_hook_class.ts +0 -30
  272. package/src/lib/core/context_httpclient.ts +0 -33
  273. package/src/lib/core/httpclient.ts +0 -64
  274. package/src/lib/core/logger.ts +0 -42
  275. package/src/lib/core/messenger/base.ts +0 -30
  276. package/src/lib/core/messenger/index.ts +0 -16
  277. package/src/lib/core/messenger/ipc.ts +0 -146
  278. package/src/lib/core/messenger/local.ts +0 -147
  279. package/src/lib/core/utils.ts +0 -77
  280. package/src/lib/egg.ts +0 -705
  281. package/src/lib/error/CookieLimitExceedError.ts +0 -12
  282. package/src/lib/error/MessageUnhandledRejectionError.ts +0 -12
  283. package/src/lib/error/index.ts +0 -2
  284. package/src/lib/loader/AgentWorkerLoader.ts +0 -21
  285. package/src/lib/loader/AppWorkerLoader.ts +0 -42
  286. package/src/lib/loader/EggApplicationLoader.ts +0 -5
  287. package/src/lib/loader/index.ts +0 -3
  288. package/src/lib/start.ts +0 -66
  289. package/src/lib/utils.ts +0 -15
  290. package/src/urllib.ts +0 -1
  291. /package/dist/{commonjs/config → config}/favicon.png +0 -0
@@ -1,262 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const utility_1 = require("utility");
4
- const performance_ms_1 = require("performance-ms");
5
- const core_1 = require("@eggjs/core");
6
- const HELPER = Symbol('ctx helper');
7
- const LOCALS = Symbol('ctx locals');
8
- const LOCALS_LIST = Symbol('ctx localsList');
9
- const COOKIES = Symbol('ctx cookies');
10
- const CONTEXT_HTTPCLIENT = Symbol('ctx httpclient');
11
- const CONTEXT_ROUTER = Symbol('ctx router');
12
- class Context extends core_1.Context {
13
- /**
14
- * Request start time
15
- * @member {Number} Context#starttime
16
- */
17
- starttime;
18
- /**
19
- * Request start timer using `performance.now()`
20
- * @member {Number} Context#performanceStarttime
21
- */
22
- performanceStarttime;
23
- /**
24
- * Get the current visitor's cookies.
25
- */
26
- get cookies() {
27
- let cookies = this[COOKIES];
28
- if (!cookies) {
29
- this[COOKIES] = cookies = new this.app.ContextCookies(this, this.app.keys, this.app.config.cookies);
30
- }
31
- return cookies;
32
- }
33
- /**
34
- * Get a wrapper httpclient instance contain ctx in the hold request process
35
- *
36
- * @return {HttpClient} the wrapper httpclient instance
37
- */
38
- get httpclient() {
39
- if (!this[CONTEXT_HTTPCLIENT]) {
40
- this[CONTEXT_HTTPCLIENT] = new this.app.ContextHttpClient(this);
41
- }
42
- return this[CONTEXT_HTTPCLIENT];
43
- }
44
- /**
45
- * Alias to {@link Context#httpclient}
46
- */
47
- get httpClient() {
48
- return this.httpclient;
49
- }
50
- /**
51
- * Shortcut for httpclient.curl
52
- *
53
- * @function Context#curl
54
- * @param {String|Object} url - request url address.
55
- * @param {Object} [options] - options for request.
56
- * @return {Object} see {@link ContextHttpClient#curl}
57
- */
58
- async curl(url, options) {
59
- return await this.httpclient.curl(url, options);
60
- }
61
- /**
62
- * Alias to {@link Application#router}
63
- *
64
- * @member {Router} Context#router
65
- * @since 1.0.0
66
- * @example
67
- * ```js
68
- * this.router.pathFor('post', { id: 12 });
69
- * ```
70
- */
71
- get router() {
72
- if (this[CONTEXT_ROUTER]) {
73
- return this[CONTEXT_ROUTER];
74
- }
75
- return this.app.router;
76
- }
77
- /**
78
- * Set router to Context, only use on EggRouter
79
- * @param {Router} val router instance
80
- */
81
- set router(val) {
82
- this[CONTEXT_ROUTER] = val;
83
- }
84
- /**
85
- * Get helper instance from {@link Application#Helper}
86
- *
87
- * @member {Helper} Context#helper
88
- * @since 1.0.0
89
- */
90
- get helper() {
91
- if (!this[HELPER]) {
92
- this[HELPER] = new this.app.Helper(this);
93
- }
94
- return this[HELPER];
95
- }
96
- /**
97
- * Wrap app.loggers with context information,
98
- * if a custom logger is defined by naming aLogger, then you can `ctx.getLogger('aLogger')`
99
- *
100
- * @param {String} name - logger name
101
- */
102
- getLogger(name) {
103
- return this.app.getLogger(name);
104
- }
105
- /**
106
- * Logger for Application
107
- *
108
- * @member {Logger} Context#logger
109
- * @since 1.0.0
110
- * @example
111
- * ```js
112
- * this.logger.info('some request data: %j', this.request.body);
113
- * this.logger.warn('WARNING!!!!');
114
- * ```
115
- */
116
- get logger() {
117
- return this.getLogger('logger');
118
- }
119
- /**
120
- * Logger for frameworks and plugins
121
- *
122
- * @member {Logger} Context#coreLogger
123
- * @since 1.0.0
124
- */
125
- get coreLogger() {
126
- return this.getLogger('coreLogger');
127
- }
128
- /**
129
- * locals is an object for view, you can use `app.locals` and `ctx.locals` to set variables,
130
- * which will be used as data when view is rendering.
131
- * The difference between `app.locals` and `ctx.locals` is the context level, `app.locals` is global level, and `ctx.locals` is request level. when you get `ctx.locals`, it will merge `app.locals`.
132
- *
133
- * when you set locals, only object is available
134
- *
135
- * ```js
136
- * this.locals = {
137
- * a: 1
138
- * };
139
- * this.locals = {
140
- * b: 1
141
- * };
142
- * this.locals.c = 1;
143
- * console.log(this.locals);
144
- * {
145
- * a: 1,
146
- * b: 1,
147
- * c: 1,
148
- * };
149
- * ```
150
- *
151
- * `ctx.locals` has cache, it only merges `app.locals` once in one request.
152
- *
153
- * @member {Object} Context#locals
154
- */
155
- get locals() {
156
- if (!this[LOCALS]) {
157
- this[LOCALS] = (0, utility_1.assign)({}, this.app.locals);
158
- }
159
- if (Array.isArray(this[LOCALS_LIST]) && this[LOCALS_LIST].length > 0) {
160
- (0, utility_1.assign)(this[LOCALS], this[LOCALS_LIST]);
161
- this[LOCALS_LIST] = null;
162
- }
163
- return this[LOCALS];
164
- }
165
- set locals(val) {
166
- const localsList = this[LOCALS_LIST] ?? [];
167
- localsList.push(val);
168
- this[LOCALS_LIST] = localsList;
169
- }
170
- /**
171
- * alias to {@link Context#locals}, compatible with koa that use this variable
172
- * @member {Object} state
173
- * @see Context#locals
174
- */
175
- get state() {
176
- return this.locals;
177
- }
178
- set state(val) {
179
- this.locals = val;
180
- }
181
- /**
182
- * Run async function in the background
183
- * @param {Function} scope - the first args is ctx
184
- * ```js
185
- * this.body = 'hi';
186
- *
187
- * this.runInBackground(async ctx => {
188
- * await ctx.mysql.query(sql);
189
- * await ctx.curl(url);
190
- * });
191
- * ```
192
- */
193
- runInBackground(scope, taskName) {
194
- // try to use custom function name first
195
- if (!taskName) {
196
- taskName = Reflect.get(scope, '_name') || scope.name || core_1.utils.getCalleeFromStack(true);
197
- }
198
- // use setImmediate to ensure all sync logic will run async
199
- setImmediate(() => {
200
- this._runInBackground(scope, taskName);
201
- });
202
- }
203
- // let plugins or frameworks to reuse _runInBackground in some cases.
204
- // e.g.: https://github.com/eggjs/egg-mock/pull/78
205
- async _runInBackground(scope, taskName) {
206
- const startTime = (0, performance_ms_1.now)();
207
- try {
208
- await scope(this);
209
- this.coreLogger.info('[egg:background] task:%s success (%dms)', taskName, (0, performance_ms_1.diff)(startTime));
210
- }
211
- catch (err) {
212
- // background task process log
213
- this.coreLogger.info('[egg:background] task:%s fail (%dms)', taskName, (0, performance_ms_1.diff)(startTime));
214
- // emit error when promise catch, and set err.runInBackground flag
215
- err.runInBackground = true;
216
- this.app.emit('error', err, this);
217
- }
218
- }
219
- /**
220
- * @member {Boolean} Context#acceptJSON
221
- * @see Request#acceptJSON
222
- * @since 1.0.0
223
- */
224
- get acceptJSON() {
225
- return this.request.acceptJSON;
226
- }
227
- get query() {
228
- return this.request.query;
229
- }
230
- /**
231
- * @member {Array} Context#queries
232
- * @see Request#queries
233
- * @since 1.0.0
234
- */
235
- get queries() {
236
- return this.request.queries;
237
- }
238
- /**
239
- * @member {string} Context#ip
240
- * @see Request#ip
241
- * @since 1.0.0
242
- */
243
- get ip() {
244
- return this.request.ip;
245
- }
246
- set ip(val) {
247
- this.request.ip = val;
248
- }
249
- /**
250
- * @member {Number} Context#realStatus
251
- * @see Response#realStatus
252
- * @since 1.0.0
253
- */
254
- get realStatus() {
255
- return this.response.realStatus;
256
- }
257
- set realStatus(val) {
258
- this.response.realStatus = val;
259
- }
260
- }
261
- exports.default = Context;
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvZXh0ZW5kL2NvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxxQ0FBaUM7QUFDakMsbURBQTJDO0FBQzNDLHNDQUVxQjtBQVlyQixNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7QUFDcEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3BDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzdDLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN0QyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3BELE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQU81QyxNQUFxQixPQUFRLFNBQVEsY0FBYztJQU9qRDs7O09BR0c7SUFDSCxTQUFTLENBQVM7SUFDbEI7OztPQUdHO0lBQ0gsb0JBQW9CLENBQVM7SUFFN0I7O09BRUc7SUFDSCxJQUFJLE9BQU87UUFDVCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RyxDQUFDO1FBQ0QsT0FBTyxPQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxVQUFVO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FB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
@@ -1,37 +0,0 @@
1
- import { BaseContextClass } from '../../lib/core/base_context_class.js';
2
- /**
3
- * The Helper class which can be used as utility function.
4
- * We support developers to extend Helper through ${baseDir}/app/extend/helper.js ,
5
- * then you can use all method on `ctx.helper` that is a instance of Helper.
6
- */
7
- export default class Helper extends BaseContextClass {
8
- /**
9
- * Generate URL path(without host) for route. Takes the route name and a map of named params.
10
- * @function Helper#pathFor
11
- * @param {String} name - Router Name
12
- * @param {Object} params - Other params
13
- *
14
- * @example
15
- * ```js
16
- * app.get('home', '/index.htm', 'home.index');
17
- * ctx.helper.pathFor('home', { by: 'recent', limit: 20 })
18
- * => /index.htm?by=recent&limit=20
19
- * ```
20
- * @return {String} url path(without host)
21
- */
22
- pathFor(name: string, params: Record<string, any>): string;
23
- /**
24
- * Generate full URL(with host) for route. Takes the route name and a map of named params.
25
- * @function Helper#urlFor
26
- * @param {String} name - Router name
27
- * @param {Object} params - Other params
28
- * @example
29
- * ```js
30
- * app.get('home', '/index.htm', 'home.index');
31
- * ctx.helper.urlFor('home', { by: 'recent', limit: 20 })
32
- * => http://127.0.0.1:7001/index.htm?by=recent&limit=20
33
- * ```
34
- * @return {String} full url(with host)
35
- */
36
- urlFor(name: string, params: Record<string, any>): string;
37
- }
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const node_url_1 = __importDefault(require("node:url"));
7
- const base_context_class_js_1 = require("../../lib/core/base_context_class.js");
8
- /**
9
- * The Helper class which can be used as utility function.
10
- * We support developers to extend Helper through ${baseDir}/app/extend/helper.js ,
11
- * then you can use all method on `ctx.helper` that is a instance of Helper.
12
- */
13
- class Helper extends base_context_class_js_1.BaseContextClass {
14
- /**
15
- * Generate URL path(without host) for route. Takes the route name and a map of named params.
16
- * @function Helper#pathFor
17
- * @param {String} name - Router Name
18
- * @param {Object} params - Other params
19
- *
20
- * @example
21
- * ```js
22
- * app.get('home', '/index.htm', 'home.index');
23
- * ctx.helper.pathFor('home', { by: 'recent', limit: 20 })
24
- * => /index.htm?by=recent&limit=20
25
- * ```
26
- * @return {String} url path(without host)
27
- */
28
- pathFor(name, params) {
29
- return this.app.router.url(name, params);
30
- }
31
- /**
32
- * Generate full URL(with host) for route. Takes the route name and a map of named params.
33
- * @function Helper#urlFor
34
- * @param {String} name - Router name
35
- * @param {Object} params - Other params
36
- * @example
37
- * ```js
38
- * app.get('home', '/index.htm', 'home.index');
39
- * ctx.helper.urlFor('home', { by: 'recent', limit: 20 })
40
- * => http://127.0.0.1:7001/index.htm?by=recent&limit=20
41
- * ```
42
- * @return {String} full url(with host)
43
- */
44
- urlFor(name, params) {
45
- return this.ctx.protocol + '://' + this.ctx.host + node_url_1.default.resolve('/', this.pathFor(name, params));
46
- }
47
- }
48
- exports.default = Helper;
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9leHRlbmQvaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsd0RBQTJCO0FBQzNCLGdGQUF3RTtBQUV4RTs7OztHQUlHO0FBQ0gsTUFBcUIsTUFBTyxTQUFRLHdDQUFnQjtJQUNsRDs7Ozs7Ozs7Ozs7OztPQWFHO0lBQ0gsT0FBTyxDQUFDLElBQVksRUFBRSxNQUEyQjtRQUMvQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILE1BQU0sQ0FBQyxJQUFZLEVBQUUsTUFBMkI7UUFDOUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsa0JBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztDQUNGO0FBbkNELHlCQW1DQyJ9
@@ -1,141 +0,0 @@
1
- import { Request as EggCoreRequest } from '@eggjs/core';
2
- import type { Application } from '../../lib/application.js';
3
- import type Context from './context.js';
4
- import Response from './response.js';
5
- export default class Request extends EggCoreRequest {
6
- app: Application;
7
- ctx: Context;
8
- response: Response;
9
- /**
10
- * Request body, parsed from koa-bodyparser or @eggjs/multipart
11
- */
12
- body: any;
13
- /**
14
- * Parse the "Host" header field host
15
- * and support X-Forwarded-Host when a
16
- * proxy is enabled.
17
- * @member {String} Request#host
18
- * @example
19
- * ip + port
20
- * ```js
21
- * this.request.host
22
- * => '127.0.0.1:7001'
23
- * ```
24
- * or domain
25
- * ```js
26
- * this.request.host
27
- * => 'demo.eggjs.org'
28
- * ```
29
- */
30
- get host(): string;
31
- /**
32
- * @member {String} Request#protocol
33
- * @example
34
- * ```js
35
- * this.request.protocol
36
- * => 'https'
37
- * ```
38
- */
39
- get protocol(): string;
40
- /**
41
- * Get all pass through ip addresses from the request.
42
- * Enable only on `app.config.proxy = true`
43
- *
44
- * @member {Array} Request#ips
45
- * @example
46
- * ```js
47
- * this.request.ips
48
- * => ['100.23.1.2', '201.10.10.2']
49
- * ```
50
- */
51
- get ips(): string[];
52
- /**
53
- * Get the request remote IPv4 address
54
- * @member {String} Request#ip
55
- * @return {String} IPv4 address
56
- * @example
57
- * ```js
58
- * this.request.ip
59
- * => '127.0.0.1'
60
- * => '111.10.2.1'
61
- * ```
62
- */
63
- get ip(): string;
64
- /**
65
- * Set the request remote IPv4 address
66
- * @member {String} Request#ip
67
- * @param {String} ip - IPv4 address
68
- * @example
69
- * ```js
70
- * this.request.ip
71
- * => '127.0.0.1'
72
- * => '111.10.2.1'
73
- * ```
74
- */
75
- set ip(ip: string);
76
- /**
77
- * detect if response should be json
78
- * 1. url path ends with `.json`
79
- * 2. response type is set to json
80
- * 3. detect by request accept header
81
- *
82
- * @member {Boolean} Request#acceptJSON
83
- * @since 1.0.0
84
- */
85
- get acceptJSON(): boolean;
86
- _customQuery(cacheName: symbol, filter: (value: string | string[]) => string | string[]): Record<string, string | string[]>;
87
- /**
88
- * get params pass by querystring, all values are of string type.
89
- * @member {Object} Request#query
90
- * @example
91
- * ```js
92
- * GET http://127.0.0.1:7001?name=Foo&age=20&age=21
93
- * this.query
94
- * => { 'name': 'Foo', 'age': '20' }
95
- *
96
- * GET http://127.0.0.1:7001?a=b&a=c&o[foo]=bar&b[]=1&b[]=2&e=val
97
- * this.query
98
- * =>
99
- * {
100
- * "a": "b",
101
- * "o[foo]": "bar",
102
- * "b[]": "1",
103
- * "e": "val"
104
- * }
105
- * ```
106
- */
107
- get query(): Record<string, string>;
108
- /**
109
- * get params pass by querystring, all value are Array type. {@link Request#query}
110
- * @member {Array} Request#queries
111
- * @example
112
- * ```js
113
- * GET http://127.0.0.1:7001?a=b&a=c&o[foo]=bar&b[]=1&b[]=2&e=val
114
- * this.queries
115
- * =>
116
- * {
117
- * "a": ["b", "c"],
118
- * "o[foo]": ["bar"],
119
- * "b[]": ["1", "2"],
120
- * "e": ["val"]
121
- * }
122
- * ```
123
- */
124
- get queries(): Record<string, string[]>;
125
- /**
126
- * Set query-string as an object.
127
- *
128
- * @function Request#query
129
- * @param {Object} obj set querystring and query object for request.
130
- */
131
- set query(obj: Record<string, string>);
132
- }
133
- declare module '@eggjs/core' {
134
- interface Request {
135
- body: any;
136
- get acceptJSON(): boolean;
137
- get query(): Record<string, string>;
138
- set query(obj: Record<string, string>);
139
- get queries(): Record<string, string[]>;
140
- }
141
- }