egg 4.1.0-beta.3 → 4.1.0-beta.31

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 (102) hide show
  1. package/dist/agent.d.ts +3 -7
  2. package/dist/agent.js +6 -10
  3. package/dist/ajv.d.ts +1 -0
  4. package/dist/ajv.js +2 -0
  5. package/dist/aop.d.ts +1 -0
  6. package/dist/aop.js +2 -0
  7. package/dist/app/extend/context.d.ts +166 -193
  8. package/dist/app/extend/context.js +259 -244
  9. package/dist/app/extend/helper.d.ts +31 -36
  10. package/dist/app/extend/helper.js +41 -45
  11. package/dist/app/extend/request.d.ts +127 -140
  12. package/dist/app/extend/request.js +258 -219
  13. package/dist/app/extend/response.d.ts +22 -32
  14. package/dist/app/extend/response.js +34 -36
  15. package/dist/app/middleware/body_parser.d.ts +2 -2
  16. package/dist/app/middleware/body_parser.js +3 -7
  17. package/dist/app/middleware/meta.d.ts +9 -10
  18. package/dist/app/middleware/meta.js +19 -13
  19. package/dist/app/middleware/notfound.d.ts +6 -10
  20. package/dist/app/middleware/notfound.js +28 -25
  21. package/dist/app/middleware/override_method.d.ts +2 -2
  22. package/dist/app/middleware/override_method.js +3 -7
  23. package/dist/app/middleware/site_file.d.ts +8 -12
  24. package/dist/app/middleware/site_file.js +52 -37
  25. package/dist/config/config.default.d.ts +3 -8
  26. package/dist/config/config.default.js +377 -256
  27. package/dist/config/config.local.d.ts +3 -10
  28. package/dist/config/config.local.js +9 -7
  29. package/dist/config/config.unittest.d.ts +3 -9
  30. package/dist/config/config.unittest.js +9 -10
  31. package/dist/config/favicon.png +0 -0
  32. package/dist/config/plugin.d.ts +3 -124
  33. package/dist/config/plugin.js +154 -53
  34. package/dist/dal.d.ts +1 -0
  35. package/dist/dal.js +2 -0
  36. package/dist/helper.d.ts +1 -0
  37. package/dist/helper.js +2 -0
  38. package/dist/index.d.ts +106 -19
  39. package/dist/index.js +89 -19
  40. package/dist/lib/agent.d.ts +12 -17
  41. package/dist/lib/agent.js +45 -54
  42. package/dist/lib/application.d.ts +47 -62
  43. package/dist/lib/application.js +249 -197
  44. package/dist/lib/core/base_context_class.d.ts +13 -17
  45. package/dist/lib/core/base_context_class.js +15 -17
  46. package/dist/lib/core/base_context_logger.d.ts +35 -39
  47. package/dist/lib/core/base_context_logger.js +60 -58
  48. package/dist/lib/core/base_hook_class.d.ts +11 -17
  49. package/dist/lib/core/base_hook_class.js +22 -26
  50. package/dist/lib/core/context_httpclient.d.ts +16 -20
  51. package/dist/lib/core/context_httpclient.js +26 -29
  52. package/dist/lib/core/httpclient.d.ts +12 -15
  53. package/dist/lib/core/httpclient.js +37 -34
  54. package/dist/lib/core/logger.d.ts +3 -7
  55. package/dist/lib/core/logger.js +36 -30
  56. package/dist/lib/core/messenger/IMessenger.d.ts +49 -53
  57. package/dist/lib/core/messenger/IMessenger.js +2 -1
  58. package/dist/lib/core/messenger/base.d.ts +7 -11
  59. package/dist/lib/core/messenger/base.js +29 -29
  60. package/dist/lib/core/messenger/index.d.ts +4 -8
  61. package/dist/lib/core/messenger/index.js +8 -11
  62. package/dist/lib/core/messenger/ipc.d.ts +55 -59
  63. package/dist/lib/core/messenger/ipc.js +138 -120
  64. package/dist/lib/core/messenger/local.d.ts +56 -61
  65. package/dist/lib/core/messenger/local.js +131 -124
  66. package/dist/lib/core/utils.d.ts +2 -5
  67. package/dist/lib/core/utils.js +66 -44
  68. package/dist/lib/define.d.ts +76 -0
  69. package/dist/lib/define.js +59 -0
  70. package/dist/lib/egg.d.ts +272 -294
  71. package/dist/lib/egg.js +574 -507
  72. package/dist/lib/error/CookieLimitExceedError.d.ts +4 -7
  73. package/dist/lib/error/CookieLimitExceedError.js +12 -15
  74. package/dist/lib/error/MessageUnhandledRejectionError.d.ts +4 -7
  75. package/dist/lib/error/MessageUnhandledRejectionError.js +12 -15
  76. package/dist/lib/error/index.d.ts +2 -3
  77. package/dist/lib/error/index.js +3 -4
  78. package/dist/lib/loader/AgentWorkerLoader.d.ts +7 -12
  79. package/dist/lib/loader/AgentWorkerLoader.js +18 -22
  80. package/dist/lib/loader/AppWorkerLoader.d.ts +12 -17
  81. package/dist/lib/loader/AppWorkerLoader.js +37 -35
  82. package/dist/lib/loader/EggApplicationLoader.d.ts +3 -7
  83. package/dist/lib/loader/EggApplicationLoader.js +4 -7
  84. package/dist/lib/loader/index.d.ts +3 -4
  85. package/dist/lib/loader/index.js +4 -5
  86. package/dist/lib/start.d.ts +18 -22
  87. package/dist/lib/start.js +42 -32
  88. package/dist/lib/types.d.ts +277 -230
  89. package/dist/lib/types.js +3 -14
  90. package/dist/lib/types.plugin.d.ts +20 -0
  91. package/dist/lib/types.plugin.js +24 -0
  92. package/dist/orm.d.ts +1 -0
  93. package/dist/orm.js +2 -0
  94. package/dist/schedule.d.ts +2 -0
  95. package/dist/schedule.js +5 -0
  96. package/dist/transaction.d.ts +1 -0
  97. package/dist/transaction.js +2 -0
  98. package/dist/urllib.d.ts +1 -1
  99. package/dist/urllib.js +2 -3
  100. package/package.json +49 -32
  101. package/dist/lib/utils.d.ts +0 -5
  102. package/dist/lib/utils.js +0 -14
@@ -1,226 +1,265 @@
1
- import "./response.js";
2
- import { Request as Request$1 } from "@eggjs/core";
3
- import querystring from "node:querystring";
4
-
5
- //#region src/app/extend/request.ts
6
- const QUERY_CACHE = Symbol("request query cache");
7
- const QUERIES_CACHE = Symbol("request queries cache");
8
- const PROTOCOL = Symbol("request protocol");
9
- const HOST = Symbol("request host");
10
- const IPS = Symbol("request ips");
1
+ import querystring from 'node:querystring';
2
+ import { Request as EggCoreRequest } from '@eggjs/core';
3
+ import Response from "./response.js";
4
+ const QUERY_CACHE = Symbol('request query cache');
5
+ const QUERIES_CACHE = Symbol('request queries cache');
6
+ const PROTOCOL = Symbol('request protocol');
7
+ const HOST = Symbol('request host');
8
+ const IPS = Symbol('request ips');
11
9
  const RE_ARRAY_KEY = /[^[\]]+\[\]$/;
12
- var Request = class extends Request$1 {
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() {
31
- let host = this[HOST];
32
- if (host) return host;
33
- if (this.app.config.proxy) host = getFromHeaders(this, this.app.config.hostHeaders);
34
- host = host || this.get("host") || "";
35
- this[HOST] = host = host.split(",")[0].trim();
36
- return host;
37
- }
38
- /**
39
- * @member {String} Request#protocol
40
- * @example
41
- * ```js
42
- * this.request.protocol
43
- * => 'https'
44
- * ```
45
- */
46
- get protocol() {
47
- let protocol = this[PROTOCOL];
48
- if (protocol) return protocol;
49
- if (this.socket?.encrypted) {
50
- this[PROTOCOL] = protocol = "https";
51
- return protocol;
52
- }
53
- if (this.app.config.proxy) {
54
- const proto = getFromHeaders(this, this.app.config.protocolHeaders);
55
- if (proto) {
56
- this[PROTOCOL] = protocol = proto.split(/\s*,\s*/)[0];
57
- return protocol;
58
- }
59
- }
60
- this[PROTOCOL] = protocol = this.app.config.protocol || "http";
61
- return protocol;
62
- }
63
- /**
64
- * Get all pass through ip addresses from the request.
65
- * Enable only on `app.config.proxy = true`
66
- *
67
- * @member {Array} Request#ips
68
- * @example
69
- * ```js
70
- * this.request.ips
71
- * => ['100.23.1.2', '201.10.10.2']
72
- * ```
73
- */
74
- get ips() {
75
- let ips = this[IPS];
76
- if (ips) return ips;
77
- if (!this.app.config.proxy) {
78
- this[IPS] = ips = [];
79
- return ips;
80
- }
81
- const val = getFromHeaders(this, this.app.config.ipHeaders);
82
- this[IPS] = ips = val ? val.split(/\s*,\s*/) : [];
83
- let maxIpsCount = this.app.config.maxIpsCount;
84
- if (!maxIpsCount && this.app.config.maxProxyCount) maxIpsCount = this.app.config.maxProxyCount + 1;
85
- if (maxIpsCount > 0) this[IPS] = ips = ips.slice(-maxIpsCount);
86
- return ips;
87
- }
88
- /**
89
- * Get the request remote IPv4 address
90
- * @member {String} Request#ip
91
- * @return {String} IPv4 address
92
- * @example
93
- * ```js
94
- * this.request.ip
95
- * => '127.0.0.1'
96
- * => '111.10.2.1'
97
- * ```
98
- */
99
- get ip() {
100
- if (this._ip) return this._ip;
101
- const ip = this.ips[0] ?? this.socket.remoteAddress;
102
- this._ip = ip && ip.startsWith("::ffff:") ? ip.substring(7) : ip;
103
- return this._ip;
104
- }
105
- /**
106
- * Set the request remote IPv4 address
107
- * @member {String} Request#ip
108
- * @param {String} ip - IPv4 address
109
- * @example
110
- * ```js
111
- * this.request.ip
112
- * => '127.0.0.1'
113
- * => '111.10.2.1'
114
- * ```
115
- */
116
- set ip(ip) {
117
- this._ip = ip;
118
- }
119
- /**
120
- * detect if response should be json
121
- * 1. url path ends with `.json`
122
- * 2. response type is set to json
123
- * 3. detect by request accept header
124
- *
125
- * @member {Boolean} Request#acceptJSON
126
- * @since 1.0.0
127
- */
128
- get acceptJSON() {
129
- if (this.path.endsWith(".json")) return true;
130
- if (this.response.type && this.response.type.indexOf("json") >= 0) return true;
131
- if (this.accepts("html", "text", "json") === "json") return true;
132
- return false;
133
- }
134
- _customQuery(cacheName, filter) {
135
- const str = this.querystring || "";
136
- let c = this[cacheName];
137
- if (!c) c = this[cacheName] = {};
138
- let cacheQuery = c[str];
139
- if (!cacheQuery) {
140
- cacheQuery = c[str] = {};
141
- const isQueries = cacheName === QUERIES_CACHE;
142
- const query = str ? querystring.parse(str) : {};
143
- for (const key in query) {
144
- if (!key) continue;
145
- const value = filter(query[key]);
146
- cacheQuery[key] = value;
147
- if (isQueries && RE_ARRAY_KEY.test(key)) {
148
- const subKey = key.substring(0, key.length - 2);
149
- if (!cacheQuery[subKey]) cacheQuery[subKey] = value;
150
- }
151
- }
152
- }
153
- return cacheQuery;
154
- }
155
- /**
156
- * get params pass by querystring, all values are of string type.
157
- * @member {Object} Request#query
158
- * @example
159
- * ```js
160
- * GET http://127.0.0.1:7001?name=Foo&age=20&age=21
161
- * this.query
162
- * => { 'name': 'Foo', 'age': '20' }
163
- *
164
- * GET http://127.0.0.1:7001?a=b&a=c&o[foo]=bar&b[]=1&b[]=2&e=val
165
- * this.query
166
- * =>
167
- * {
168
- * "a": "b",
169
- * "o[foo]": "bar",
170
- * "b[]": "1",
171
- * "e": "val"
172
- * }
173
- * ```
174
- */
175
- get query() {
176
- return this._customQuery(QUERY_CACHE, firstValue);
177
- }
178
- /**
179
- * get params pass by querystring, all value are Array type. {@link Request#query}
180
- * @member {Array} Request#queries
181
- * @example
182
- * ```js
183
- * GET http://127.0.0.1:7001?a=b&a=c&o[foo]=bar&b[]=1&b[]=2&e=val
184
- * this.queries
185
- * =>
186
- * {
187
- * "a": ["b", "c"],
188
- * "o[foo]": ["bar"],
189
- * "b[]": ["1", "2"],
190
- * "e": ["val"]
191
- * }
192
- * ```
193
- */
194
- get queries() {
195
- return this._customQuery(QUERIES_CACHE, arrayValue);
196
- }
197
- /**
198
- * Set query-string as an object.
199
- *
200
- * @function Request#query
201
- * @param {Object} obj set querystring and query object for request.
202
- */
203
- set query(obj) {
204
- this.querystring = querystring.stringify(obj);
205
- }
206
- };
10
+ export default class Request extends EggCoreRequest {
11
+ /**
12
+ * Parse the "Host" header field host
13
+ * and support X-Forwarded-Host when a
14
+ * proxy is enabled.
15
+ * @member {String} Request#host
16
+ * @example
17
+ * ip + port
18
+ * ```js
19
+ * this.request.host
20
+ * => '127.0.0.1:7001'
21
+ * ```
22
+ * or domain
23
+ * ```js
24
+ * this.request.host
25
+ * => 'demo.eggjs.org'
26
+ * ```
27
+ */
28
+ get host() {
29
+ let host = this[HOST];
30
+ if (host) {
31
+ return host;
32
+ }
33
+ if (this.app.config.proxy) {
34
+ host = getFromHeaders(this, this.app.config.hostHeaders);
35
+ }
36
+ host = host || this.get('host') || '';
37
+ this[HOST] = host = host.split(',')[0].trim();
38
+ return host;
39
+ }
40
+ /**
41
+ * @member {String} Request#protocol
42
+ * @example
43
+ * ```js
44
+ * this.request.protocol
45
+ * => 'https'
46
+ * ```
47
+ */
48
+ get protocol() {
49
+ let protocol = this[PROTOCOL];
50
+ if (protocol) {
51
+ return protocol;
52
+ }
53
+ // detect encrypted socket
54
+ if (this.socket?.encrypted) {
55
+ this[PROTOCOL] = protocol = 'https';
56
+ return protocol;
57
+ }
58
+ // get from headers specified in `app.config.protocolHeaders`
59
+ if (this.app.config.proxy) {
60
+ const proto = getFromHeaders(this, this.app.config.protocolHeaders);
61
+ if (proto) {
62
+ this[PROTOCOL] = protocol = proto.split(/\s*,\s*/)[0];
63
+ return protocol;
64
+ }
65
+ }
66
+ // use protocol specified in `app.config.protocol`
67
+ this[PROTOCOL] = protocol = this.app.config.protocol || 'http';
68
+ return protocol;
69
+ }
70
+ /**
71
+ * Get all pass through ip addresses from the request.
72
+ * Enable only on `app.config.proxy = true`
73
+ *
74
+ * @member {Array} Request#ips
75
+ * @example
76
+ * ```js
77
+ * this.request.ips
78
+ * => ['100.23.1.2', '201.10.10.2']
79
+ * ```
80
+ */
81
+ get ips() {
82
+ let ips = this[IPS];
83
+ if (ips) {
84
+ return ips;
85
+ }
86
+ // return empty array when proxy=false
87
+ if (!this.app.config.proxy) {
88
+ this[IPS] = ips = [];
89
+ return ips;
90
+ }
91
+ const val = getFromHeaders(this, this.app.config.ipHeaders);
92
+ this[IPS] = ips = val ? val.split(/\s*,\s*/) : [];
93
+ let maxIpsCount = this.app.config.maxIpsCount;
94
+ // Compatible with maxProxyCount logic (previous logic is wrong, only for compatibility with legacy logic)
95
+ if (!maxIpsCount && this.app.config.maxProxyCount) {
96
+ maxIpsCount = this.app.config.maxProxyCount + 1;
97
+ }
98
+ if (maxIpsCount > 0) {
99
+ // if maxIpsCount present, only keep `maxIpsCount` ips
100
+ // [ illegalIp, clientRealIp, proxyIp1, proxyIp2 ...]
101
+ this[IPS] = ips = ips.slice(-maxIpsCount);
102
+ }
103
+ return ips;
104
+ }
105
+ /**
106
+ * Get the request remote IPv4 address
107
+ * @member {String} Request#ip
108
+ * @return {String} IPv4 address
109
+ * @example
110
+ * ```js
111
+ * this.request.ip
112
+ * => '127.0.0.1'
113
+ * => '111.10.2.1'
114
+ * ```
115
+ */
116
+ get ip() {
117
+ if (this._ip) {
118
+ return this._ip;
119
+ }
120
+ const ip = this.ips[0] ?? this.socket.remoteAddress;
121
+ // will be '::ffff:x.x.x.x', should convert to standard IPv4 format
122
+ // https://zh.wikipedia.org/wiki/IPv6
123
+ this._ip = ip && ip.startsWith('::ffff:') ? ip.substring(7) : ip;
124
+ return this._ip;
125
+ }
126
+ /**
127
+ * Set the request remote IPv4 address
128
+ * @member {String} Request#ip
129
+ * @param {String} ip - IPv4 address
130
+ * @example
131
+ * ```js
132
+ * this.request.ip
133
+ * => '127.0.0.1'
134
+ * => '111.10.2.1'
135
+ * ```
136
+ */
137
+ set ip(ip) {
138
+ this._ip = ip;
139
+ }
140
+ /**
141
+ * detect if response should be json
142
+ * 1. url path ends with `.json`
143
+ * 2. response type is set to json
144
+ * 3. detect by request accept header
145
+ *
146
+ * @member {Boolean} Request#acceptJSON
147
+ * @since 1.0.0
148
+ */
149
+ get acceptJSON() {
150
+ if (this.path.endsWith('.json'))
151
+ return true;
152
+ if (this.response.type && this.response.type.indexOf('json') >= 0)
153
+ return true;
154
+ if (this.accepts('html', 'text', 'json') === 'json')
155
+ return true;
156
+ return false;
157
+ }
158
+ // How to read query safely
159
+ // https://github.com/koajs/qs/issues/5
160
+ _customQuery(cacheName, filter) {
161
+ const str = this.querystring || '';
162
+ let c = this[cacheName];
163
+ if (!c) {
164
+ c = this[cacheName] = {};
165
+ }
166
+ let cacheQuery = c[str];
167
+ if (!cacheQuery) {
168
+ cacheQuery = c[str] = {};
169
+ const isQueries = cacheName === QUERIES_CACHE;
170
+ // `querystring.parse` CANNOT parse something like `a[foo]=1&a[bar]=2`
171
+ const query = str ? querystring.parse(str) : {};
172
+ for (const key in query) {
173
+ if (!key) {
174
+ // key is '', like `a=b&`
175
+ continue;
176
+ }
177
+ const value = filter(query[key]);
178
+ cacheQuery[key] = value;
179
+ if (isQueries && RE_ARRAY_KEY.test(key)) {
180
+ // `this.queries['key'] => this.queries['key[]']` is compatibly supported
181
+ const subKey = key.substring(0, key.length - 2);
182
+ if (!cacheQuery[subKey]) {
183
+ cacheQuery[subKey] = value;
184
+ }
185
+ }
186
+ }
187
+ }
188
+ return cacheQuery;
189
+ }
190
+ /**
191
+ * get params pass by querystring, all values are of string type.
192
+ * @member {Object} Request#query
193
+ * @example
194
+ * ```js
195
+ * GET http://127.0.0.1:7001?name=Foo&age=20&age=21
196
+ * this.query
197
+ * => { 'name': 'Foo', 'age': '20' }
198
+ *
199
+ * GET http://127.0.0.1:7001?a=b&a=c&o[foo]=bar&b[]=1&b[]=2&e=val
200
+ * this.query
201
+ * =>
202
+ * {
203
+ * "a": "b",
204
+ * "o[foo]": "bar",
205
+ * "b[]": "1",
206
+ * "e": "val"
207
+ * }
208
+ * ```
209
+ */
210
+ get query() {
211
+ return this._customQuery(QUERY_CACHE, firstValue);
212
+ }
213
+ /**
214
+ * get params pass by querystring, all value are Array type. {@link Request#query}
215
+ * @member {Array} Request#queries
216
+ * @example
217
+ * ```js
218
+ * GET http://127.0.0.1:7001?a=b&a=c&o[foo]=bar&b[]=1&b[]=2&e=val
219
+ * this.queries
220
+ * =>
221
+ * {
222
+ * "a": ["b", "c"],
223
+ * "o[foo]": ["bar"],
224
+ * "b[]": ["1", "2"],
225
+ * "e": ["val"]
226
+ * }
227
+ * ```
228
+ */
229
+ get queries() {
230
+ return this._customQuery(QUERIES_CACHE, arrayValue);
231
+ }
232
+ /**
233
+ * Set query-string as an object.
234
+ *
235
+ * @function Request#query
236
+ * @param {Object} obj set querystring and query object for request.
237
+ */
238
+ set query(obj) {
239
+ this.querystring = querystring.stringify(obj);
240
+ }
241
+ }
207
242
  function firstValue(value) {
208
- if (Array.isArray(value)) value = value[0];
209
- return value;
243
+ if (Array.isArray(value)) {
244
+ value = value[0];
245
+ }
246
+ return value;
210
247
  }
211
248
  function arrayValue(value) {
212
- if (!Array.isArray(value)) value = [value];
213
- return value;
249
+ if (!Array.isArray(value)) {
250
+ value = [value];
251
+ }
252
+ return value;
214
253
  }
215
254
  function getFromHeaders(request, names) {
216
- if (!names) return "";
217
- const fields = names.split(/\s*,\s*/);
218
- for (const name of fields) {
219
- const value = request.get(name);
220
- if (value) return value;
221
- }
222
- return "";
255
+ if (!names)
256
+ return '';
257
+ const fields = names.split(/\s*,\s*/);
258
+ for (const name of fields) {
259
+ const value = request.get(name);
260
+ if (value)
261
+ return value;
262
+ }
263
+ return '';
223
264
  }
224
-
225
- //#endregion
226
- export { Request as default };
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvZXh0ZW5kL3JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxXQUFXLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sSUFBSSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFJeEQsT0FBTyxRQUFRLE1BQU0sZUFBZSxDQUFDO0FBRXJDLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ2xELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBQ3RELE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzVDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUNwQyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDbEMsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDO0FBRXBDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sT0FBUSxTQUFRLGNBQWM7SUFVakQ7Ozs7Ozs7Ozs7Ozs7Ozs7T0FnQkc7SUFDSCxJQUFJLElBQUk7UUFDTixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUF1QixDQUFDO1FBQzVDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLElBQUksR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxD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
@@ -1,35 +1,25 @@
1
- import { Response as Response$1 } from "@eggjs/core";
2
-
3
- //#region src/app/extend/response.d.ts
4
- declare class Response extends Response$1 {
5
- /**
6
- * Get or set a real status code.
7
- *
8
- * e.g.: Using 302 status redirect to the global error page
9
- * instead of show current 500 status page.
10
- * And access log should save 500 not 302,
11
- * then the `realStatus` can help us find out the real status code.
12
- * @member {Number} Response#realStatus
13
- * @return {Number} The status code to be set.
14
- */
15
- get realStatus(): number;
16
- /**
17
- * Set a real status code.
18
- *
19
- * e.g.: Using 302 status redirect to the global error page
20
- * instead of show current 500 status page.
21
- * And access log should save 500 not 302,
22
- * then the `realStatus` can help us find out the real status code.
23
- * @member {Number} Response#realStatus
24
- * @param {Number} status The status code to be set.
25
- */
26
- set realStatus(status: number);
27
- }
28
- declare module '@eggjs/core' {
29
- interface Response {
1
+ import { Response as KoaResponse } from '@eggjs/core';
2
+ export default class Response extends KoaResponse {
3
+ /**
4
+ * Get or set a real status code.
5
+ *
6
+ * e.g.: Using 302 status redirect to the global error page
7
+ * instead of show current 500 status page.
8
+ * And access log should save 500 not 302,
9
+ * then the `realStatus` can help us find out the real status code.
10
+ * @member {Number} Response#realStatus
11
+ * @return {Number} The status code to be set.
12
+ */
30
13
  get realStatus(): number;
14
+ /**
15
+ * Set a real status code.
16
+ *
17
+ * e.g.: Using 302 status redirect to the global error page
18
+ * instead of show current 500 status page.
19
+ * And access log should save 500 not 302,
20
+ * then the `realStatus` can help us find out the real status code.
21
+ * @member {Number} Response#realStatus
22
+ * @param {Number} status The status code to be set.
23
+ */
31
24
  set realStatus(status: number);
32
- }
33
25
  }
34
- //#endregion
35
- export { Response as default };
@@ -1,36 +1,34 @@
1
- import { Response as Response$1 } from "@eggjs/core";
2
-
3
- //#region src/app/extend/response.ts
4
- const REAL_STATUS = Symbol("response realStatus");
5
- var Response = class extends Response$1 {
6
- /**
7
- * Get or set a real status code.
8
- *
9
- * e.g.: Using 302 status redirect to the global error page
10
- * instead of show current 500 status page.
11
- * And access log should save 500 not 302,
12
- * then the `realStatus` can help us find out the real status code.
13
- * @member {Number} Response#realStatus
14
- * @return {Number} The status code to be set.
15
- */
16
- get realStatus() {
17
- if (this[REAL_STATUS]) return this[REAL_STATUS];
18
- return this.status;
19
- }
20
- /**
21
- * Set a real status code.
22
- *
23
- * e.g.: Using 302 status redirect to the global error page
24
- * instead of show current 500 status page.
25
- * And access log should save 500 not 302,
26
- * then the `realStatus` can help us find out the real status code.
27
- * @member {Number} Response#realStatus
28
- * @param {Number} status The status code to be set.
29
- */
30
- set realStatus(status) {
31
- this[REAL_STATUS] = status;
32
- }
33
- };
34
-
35
- //#endregion
36
- export { Response as default };
1
+ import { Response as KoaResponse } from '@eggjs/core';
2
+ const REAL_STATUS = Symbol('response realStatus');
3
+ export default class Response extends KoaResponse {
4
+ /**
5
+ * Get or set a real status code.
6
+ *
7
+ * e.g.: Using 302 status redirect to the global error page
8
+ * instead of show current 500 status page.
9
+ * And access log should save 500 not 302,
10
+ * then the `realStatus` can help us find out the real status code.
11
+ * @member {Number} Response#realStatus
12
+ * @return {Number} The status code to be set.
13
+ */
14
+ get realStatus() {
15
+ if (this[REAL_STATUS]) {
16
+ return this[REAL_STATUS];
17
+ }
18
+ return this.status;
19
+ }
20
+ /**
21
+ * Set a real status code.
22
+ *
23
+ * e.g.: Using 302 status redirect to the global error page
24
+ * instead of show current 500 status page.
25
+ * And access log should save 500 not 302,
26
+ * then the `realStatus` can help us find out the real status code.
27
+ * @member {Number} Response#realStatus
28
+ * @param {Number} status The status code to be set.
29
+ */
30
+ set realStatus(status) {
31
+ this[REAL_STATUS] = status;
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2V4dGVuZC9yZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUVsRCxNQUFNLENBQUMsT0FBTyxPQUFPLFFBQVMsU0FBUSxXQUFXO0lBQy9DOzs7Ozs7Ozs7T0FTRztJQUNILElBQUksVUFBVTtRQUNaLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFXLENBQUM7UUFDckMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsSUFBSSxVQUFVLENBQUMsTUFBYztRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsTUFBTSxDQUFDO0lBQzdCLENBQUM7Q0FDRiJ9
@@ -1,2 +1,2 @@
1
- import bodyparser from "koa-bodyparser";
2
- export { bodyparser as default };
1
+ import bodyparser from 'koa-bodyparser';
2
+ export default bodyparser;