egg 4.0.7 → 4.0.9

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.
@@ -179,6 +179,14 @@ export default class Context extends EggCoreContext {
179
179
  }
180
180
  declare module '@eggjs/core' {
181
181
  interface Context {
182
+ proxy: any;
183
+ performanceStarttime: number;
184
+ starttime: number;
185
+ runInBackground(scope: (ctx: Context) => Promise<void>, taskName?: string): void;
186
+ _runInBackground(scope: (ctx: Context) => Promise<void>, taskName: string): void;
187
+ get acceptJSON(): boolean;
188
+ get query(): Record<string, string>;
189
+ get queries(): Record<string, string[]>;
182
190
  curl(url: HttpClientRequestURL, options?: HttpClientRequestOptions): ReturnType<HttpClient['request']>;
183
191
  get router(): Router;
184
192
  set router(val: Router);
@@ -1,9 +1,9 @@
1
1
  import type { EggAppInfo } from '@eggjs/core';
2
- import type { EggAppConfig } from '../lib/types.js';
2
+ import type { EggAppConfig, PowerPartial } from '../lib/types.js';
3
3
  /**
4
4
  * The configuration of egg application, can be access by `app.config`
5
5
  * @class Config
6
6
  * @since 1.0.0
7
7
  */
8
- declare const _default: (appInfo: EggAppInfo) => Partial<EggAppConfig>;
8
+ declare const _default: (appInfo: EggAppInfo) => PowerPartial<EggAppConfig>;
9
9
  export default _default;
@@ -28,7 +28,7 @@ exports.default = (appInfo) => {
28
28
  */
29
29
  name: appInfo.name,
30
30
  /**
31
- * The key that signing cookies. It can contain multiple keys seperated by `,`.
31
+ * The key that signing cookies. It can contain multiple keys separated by `,`.
32
32
  * @member {String} Config#keys
33
33
  * @see http://eggjs.org/en/core/cookie-and-session.html#cookie-secret-key
34
34
  * @default
@@ -281,7 +281,7 @@ exports.default = (appInfo) => {
281
281
  * @property {Number} httpAgent.maxFreeSockets - http agent max free socket number of one host, default is 256.
282
282
  *
283
283
  * @property {Boolean} httpsAgent.keepAlive - Enable https agent keepalive or not, default is true
284
- * @property {Number} httpsAgent.freeSocketTimeout - httpss agent socket keepalive max free time, default is 4000 ms.
284
+ * @property {Number} httpsAgent.freeSocketTimeout - https agent socket keepalive max free time, default is 4000 ms.
285
285
  * @property {Number} httpsAgent.maxSockets - https agent max socket number of one host, default is `Number.MAX_SAFE_INTEGER` @ses https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
286
286
  * @property {Number} httpsAgent.maxFreeSockets - https agent max free socket number of one host, default is 256.
287
287
  * @property {Boolean} useHttpClientNext - use urllib@3 HttpClient
@@ -376,4 +376,4 @@ exports.default = (appInfo) => {
376
376
  config.onClientError = undefined;
377
377
  return config;
378
378
  };
379
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLHVDQUF5QztBQUd6Qyw4Q0FBZ0Q7QUFFaEQ7Ozs7R0FJRztBQUNILGtCQUFlLENBQUMsT0FBbUIsRUFBRSxFQUFFO0lBQ3JDLE1BQU0sTUFBTSxHQUEwQjtRQUNwQzs7Ozs7V0FLRztRQUNILEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUVoQjs7Ozs7V0FLRztRQUNILElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUVsQjs7Ozs7O1dBTUc7UUFDSCxJQUFJLEVBQUUsRUFBRTtRQUVSOzs7Ozs7V0FNRztRQUNILE9BQU8sRUFBRTtRQUNQLDBCQUEwQjtRQUMxQiwrQkFBK0I7U0FDaEM7UUFFRDs7Ozs7O1dBTUc7UUFDSCxLQUFLLEVBQUUsS0FBSztRQUVaOzs7Ozs7OztXQVFHO1FBQ0gsV0FBVyxFQUFFLENBQUM7UUFFZDs7Ozs7O1dBTUc7UUFDSCxhQUFhLEVBQUUsQ0FBQztRQUVoQjs7Ozs7O1dBTUc7UUFDSCxlQUFlLEVBQUUsbUJBQW1CO1FBRXBDOzs7Ozs7V0FNRztRQUNILFNBQVMsRUFBRSxpQkFBaUI7UUFFNUI7Ozs7OztXQU1HO1FBQ0gsV0FBVyxFQUFFLEVBQUU7UUFFZjs7Ozs7V0FLRztRQUNILEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUVoQjs7Ozs7V0FLRztRQUNILE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUV4Qjs7Ozs7V0FLRztRQUNILElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUVsQjs7Ozs7V0FLRztRQUNILE1BQU0sRUFBRSxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUV6Qzs7Ozs7OztXQU9HO1FBQ0gsSUFBSSxFQUFFO1lBQ0os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
379
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLHVDQUF5QztBQUd6Qyw4Q0FBZ0Q7QUFFaEQ7Ozs7R0FJRztBQUNILGtCQUFlLENBQUMsT0FBbUIsRUFBRSxFQUFFO0lBQ3JDLE1BQU0sTUFBTSxHQUErQjtRQUN6Qzs7Ozs7V0FLRztRQUNILEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUVoQjs7Ozs7V0FLRztRQUNILElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUVsQjs7Ozs7O1dBTUc7UUFDSCxJQUFJLEVBQUUsRUFBRTtRQUVSOzs7Ozs7V0FNRztRQUNILE9BQU8sRUFBRTtRQUNQLDBCQUEwQjtRQUMxQiwrQkFBK0I7U0FDaEM7UUFFRDs7Ozs7O1dBTUc7UUFDSCxLQUFLLEVBQUUsS0FBSztRQUVaOzs7Ozs7OztXQVFHO1FBQ0gsV0FBVyxFQUFFLENBQUM7UUFFZDs7Ozs7O1dBTUc7UUFDSCxhQUFhLEVBQUUsQ0FBQztRQUVoQjs7Ozs7O1dBTUc7UUFDSCxlQUFlLEVBQUUsbUJBQW1CO1FBRXBDOzs7Ozs7V0FNRztRQUNILFNBQVMsRUFBRSxpQkFBaUI7UUFFNUI7Ozs7OztXQU1HO1FBQ0gsV0FBVyxFQUFFLEVBQUU7UUFFZjs7Ozs7V0FLRztRQUNILEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUVoQjs7Ozs7V0FLRztRQUNILE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUV4Qjs7Ozs7V0FLRztRQUNILElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtRQUVsQjs7Ozs7V0FLRztRQUNILE1BQU0sRUFBRSxtQkFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQztRQUV6Qzs7Ozs7OztXQU9HO1FBQ0gsSUFBSSxFQUFFO1lBQ0os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
@@ -9,4 +9,4 @@ exports.default = () => {
9
9
  },
10
10
  };
11
11
  };
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQkFBZSxHQUFHLEVBQUU7SUFDbEIsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLFVBQVUsRUFBRTtnQkFDVixZQUFZLEVBQUUsTUFBTTthQUNyQjtTQUNGO0tBQzhCLENBQUM7QUFDcEMsQ0FBQyxDQUFDIn0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQkFBZSxHQUFHLEVBQUU7SUFDbEIsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLFVBQVUsRUFBRTtnQkFDVixZQUFZLEVBQUUsTUFBTTthQUNyQjtTQUNGO0tBQ21DLENBQUM7QUFDekMsQ0FBQyxDQUFDIn0=
@@ -8,4 +8,4 @@ exports.default = () => {
8
8
  },
9
9
  };
10
10
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudW5pdHRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQkFBZSxHQUFHLEVBQUU7SUFDbEIsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE1BQU0sRUFBRSxLQUFLO1NBQ2Q7S0FDOEIsQ0FBQztBQUNwQyxDQUFDLENBQUMifQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudW5pdHRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQkFBZSxHQUFHLEVBQUU7SUFDbEIsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE1BQU0sRUFBRSxLQUFLO1NBQ2Q7S0FDbUMsQ0FBQztBQUN6QyxDQUFDLENBQUMifQ==
@@ -63,6 +63,10 @@ export interface HttpClientConfig {
63
63
  * @deprecated keep compatible with egg 3.x, no more used
64
64
  */
65
65
  useHttpClientNext?: boolean;
66
+ /**
67
+ * Allow http2
68
+ */
69
+ allowH2?: boolean;
66
70
  }
67
71
  /**
68
72
  * Powerful Partial, Support adding ? modifier to a mapped property in deep level
@@ -140,7 +144,7 @@ export interface EggAppConfig extends EggCoreAppConfig {
140
144
  * @property {Boolean} allowDebugAtProd - allow debug log at prod, defaults to false
141
145
  * @property {Boolean} enableFastContextLogger - using the app logger instead of EggContextLogger, defaults to false
142
146
  */
143
- logger: Partial<EggLoggerConfig>;
147
+ logger: EggLoggerConfig;
144
148
  /** custom logger of egg */
145
149
  customLogger: {
146
150
  [key: string]: EggLoggerOptions;
@@ -179,6 +179,14 @@ export default class Context extends EggCoreContext {
179
179
  }
180
180
  declare module '@eggjs/core' {
181
181
  interface Context {
182
+ proxy: any;
183
+ performanceStarttime: number;
184
+ starttime: number;
185
+ runInBackground(scope: (ctx: Context) => Promise<void>, taskName?: string): void;
186
+ _runInBackground(scope: (ctx: Context) => Promise<void>, taskName: string): void;
187
+ get acceptJSON(): boolean;
188
+ get query(): Record<string, string>;
189
+ get queries(): Record<string, string[]>;
182
190
  curl(url: HttpClientRequestURL, options?: HttpClientRequestOptions): ReturnType<HttpClient['request']>;
183
191
  get router(): Router;
184
192
  set router(val: Router);
@@ -1,9 +1,9 @@
1
1
  import type { EggAppInfo } from '@eggjs/core';
2
- import type { EggAppConfig } from '../lib/types.js';
2
+ import type { EggAppConfig, PowerPartial } from '../lib/types.js';
3
3
  /**
4
4
  * The configuration of egg application, can be access by `app.config`
5
5
  * @class Config
6
6
  * @since 1.0.0
7
7
  */
8
- declare const _default: (appInfo: EggAppInfo) => Partial<EggAppConfig>;
8
+ declare const _default: (appInfo: EggAppInfo) => PowerPartial<EggAppConfig>;
9
9
  export default _default;
@@ -23,7 +23,7 @@ export default (appInfo) => {
23
23
  */
24
24
  name: appInfo.name,
25
25
  /**
26
- * The key that signing cookies. It can contain multiple keys seperated by `,`.
26
+ * The key that signing cookies. It can contain multiple keys separated by `,`.
27
27
  * @member {String} Config#keys
28
28
  * @see http://eggjs.org/en/core/cookie-and-session.html#cookie-secret-key
29
29
  * @default
@@ -276,7 +276,7 @@ export default (appInfo) => {
276
276
  * @property {Number} httpAgent.maxFreeSockets - http agent max free socket number of one host, default is 256.
277
277
  *
278
278
  * @property {Boolean} httpsAgent.keepAlive - Enable https agent keepalive or not, default is true
279
- * @property {Number} httpsAgent.freeSocketTimeout - httpss agent socket keepalive max free time, default is 4000 ms.
279
+ * @property {Number} httpsAgent.freeSocketTimeout - https agent socket keepalive max free time, default is 4000 ms.
280
280
  * @property {Number} httpsAgent.maxSockets - https agent max socket number of one host, default is `Number.MAX_SAFE_INTEGER` @ses https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
281
281
  * @property {Number} httpsAgent.maxFreeSockets - https agent max free socket number of one host, default is 256.
282
282
  * @property {Boolean} useHttpClientNext - use urllib@3 HttpClient
@@ -371,4 +371,4 @@ export default (appInfo) => {
371
371
  config.onClientError = undefined;
372
372
  return config;
373
373
  };
374
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRDs7OztHQUlHO0FBQ0gsZUFBZSxDQUFDLE9BQW1CLEVBQUUsRUFBRTtJQUNyQyxNQUFNLE1BQU0sR0FBMEI7UUFDcEM7Ozs7O1dBS0c7UUFDSCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7UUFFaEI7Ozs7O1dBS0c7UUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFFbEI7Ozs7OztXQU1HO1FBQ0gsSUFBSSxFQUFFLEVBQUU7UUFFUjs7Ozs7O1dBTUc7UUFDSCxPQUFPLEVBQUU7UUFDUCwwQkFBMEI7UUFDMUIsK0JBQStCO1NBQ2hDO1FBRUQ7Ozs7OztXQU1HO1FBQ0gsS0FBSyxFQUFFLEtBQUs7UUFFWjs7Ozs7Ozs7V0FRRztRQUNILFdBQVcsRUFBRSxDQUFDO1FBRWQ7Ozs7OztXQU1HO1FBQ0gsYUFBYSxFQUFFLENBQUM7UUFFaEI7Ozs7OztXQU1HO1FBQ0gsZUFBZSxFQUFFLG1CQUFtQjtRQUVwQzs7Ozs7O1dBTUc7UUFDSCxTQUFTLEVBQUUsaUJBQWlCO1FBRTVCOzs7Ozs7V0FNRztRQUNILFdBQVcsRUFBRSxFQUFFO1FBRWY7Ozs7O1dBS0c7UUFDSCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7UUFFaEI7Ozs7O1dBS0c7UUFDSCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFFeEI7Ozs7O1dBS0c7UUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFFbEI7Ozs7O1dBS0c7UUFDSCxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FB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
374
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL2NvbmZpZy5kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVoRDs7OztHQUlHO0FBQ0gsZUFBZSxDQUFDLE9BQW1CLEVBQUUsRUFBRTtJQUNyQyxNQUFNLE1BQU0sR0FBK0I7UUFDekM7Ozs7O1dBS0c7UUFDSCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7UUFFaEI7Ozs7O1dBS0c7UUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFFbEI7Ozs7OztXQU1HO1FBQ0gsSUFBSSxFQUFFLEVBQUU7UUFFUjs7Ozs7O1dBTUc7UUFDSCxPQUFPLEVBQUU7UUFDUCwwQkFBMEI7UUFDMUIsK0JBQStCO1NBQ2hDO1FBRUQ7Ozs7OztXQU1HO1FBQ0gsS0FBSyxFQUFFLEtBQUs7UUFFWjs7Ozs7Ozs7V0FRRztRQUNILFdBQVcsRUFBRSxDQUFDO1FBRWQ7Ozs7OztXQU1HO1FBQ0gsYUFBYSxFQUFFLENBQUM7UUFFaEI7Ozs7OztXQU1HO1FBQ0gsZUFBZSxFQUFFLG1CQUFtQjtRQUVwQzs7Ozs7O1dBTUc7UUFDSCxTQUFTLEVBQUUsaUJBQWlCO1FBRTVCOzs7Ozs7V0FNRztRQUNILFdBQVcsRUFBRSxFQUFFO1FBRWY7Ozs7O1dBS0c7UUFDSCxHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7UUFFaEI7Ozs7O1dBS0c7UUFDSCxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87UUFFeEI7Ozs7O1dBS0c7UUFDSCxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7UUFFbEI7Ozs7O1dBS0c7UUFDSCxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FB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
@@ -7,4 +7,4 @@ export default () => {
7
7
  },
8
8
  };
9
9
  };
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZSxHQUFHLEVBQUU7SUFDbEIsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLFVBQVUsRUFBRTtnQkFDVixZQUFZLEVBQUUsTUFBTTthQUNyQjtTQUNGO0tBQzhCLENBQUM7QUFDcEMsQ0FBQyxDQUFDIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmxvY2FsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcubG9jYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZSxHQUFHLEVBQUU7SUFDbEIsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLFVBQVUsRUFBRTtnQkFDVixZQUFZLEVBQUUsTUFBTTthQUNyQjtTQUNGO0tBQ21DLENBQUM7QUFDekMsQ0FBQyxDQUFDIn0=
@@ -6,4 +6,4 @@ export default () => {
6
6
  },
7
7
  };
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudW5pdHRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZSxHQUFHLEVBQUU7SUFDbEIsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE1BQU0sRUFBRSxLQUFLO1NBQ2Q7S0FDOEIsQ0FBQztBQUNwQyxDQUFDLENBQUMifQ==
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLnVuaXR0ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9jb25maWcudW5pdHRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsZUFBZSxHQUFHLEVBQUU7SUFDbEIsT0FBTztRQUNMLE1BQU0sRUFBRTtZQUNOLFlBQVksRUFBRSxNQUFNO1lBQ3BCLE1BQU0sRUFBRSxLQUFLO1NBQ2Q7S0FDbUMsQ0FBQztBQUN6QyxDQUFDLENBQUMifQ==
@@ -63,6 +63,10 @@ export interface HttpClientConfig {
63
63
  * @deprecated keep compatible with egg 3.x, no more used
64
64
  */
65
65
  useHttpClientNext?: boolean;
66
+ /**
67
+ * Allow http2
68
+ */
69
+ allowH2?: boolean;
66
70
  }
67
71
  /**
68
72
  * Powerful Partial, Support adding ? modifier to a mapped property in deep level
@@ -140,7 +144,7 @@ export interface EggAppConfig extends EggCoreAppConfig {
140
144
  * @property {Boolean} allowDebugAtProd - allow debug log at prod, defaults to false
141
145
  * @property {Boolean} enableFastContextLogger - using the app logger instead of EggContextLogger, defaults to false
142
146
  */
143
- logger: Partial<EggLoggerConfig>;
147
+ logger: EggLoggerConfig;
144
148
  /** custom logger of egg */
145
149
  customLogger: {
146
150
  [key: string]: EggLoggerOptions;
package/dist/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "egg",
3
- "version": "4.0.7"
3
+ "version": "4.0.9"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "egg",
3
- "version": "4.0.7",
3
+ "version": "4.0.9",
4
4
  "engines": {
5
5
  "node": ">= 18.19.0"
6
6
  },
@@ -55,7 +55,7 @@
55
55
  "@arethetypeswrong/cli": "^0.17.3",
56
56
  "@eggjs/bin": "^7.0.2",
57
57
  "@eggjs/koa": "^2.20.6",
58
- "@eggjs/mock": "^6.0.5",
58
+ "@eggjs/mock": "^6.0.6",
59
59
  "@eggjs/supertest": "^8.2.0",
60
60
  "@eggjs/tsconfig": "1",
61
61
  "@types/koa-bodyparser": "^4.3.12",
@@ -308,6 +308,14 @@ export default class Context extends EggCoreContext {
308
308
  declare module '@eggjs/core' {
309
309
  // add Context overrides types
310
310
  interface Context {
311
+ proxy: any;
312
+ performanceStarttime: number;
313
+ starttime: number;
314
+ runInBackground(scope: (ctx: Context) => Promise<void>, taskName?: string): void;
315
+ _runInBackground(scope: (ctx: Context) => Promise<void>, taskName: string): void;
316
+ get acceptJSON(): boolean;
317
+ get query(): Record<string, string>;
318
+ get queries(): Record<string, string[]>;
311
319
  curl(url: HttpClientRequestURL, options?: HttpClientRequestOptions): ReturnType<HttpClient['request']>;
312
320
  get router(): Router;
313
321
  set router(val: Router);
@@ -1,7 +1,7 @@
1
1
  import path from 'node:path';
2
2
  import { pathToFileURL } from 'node:url';
3
- import type { EggAppInfo } from '@eggjs/core';
4
- import type { EggAppConfig } from '../lib/types.js';
3
+ import type { EggAppInfo, Context } from '@eggjs/core';
4
+ import type { EggAppConfig, PowerPartial } from '../lib/types.js';
5
5
  import { getSourceFile } from '../lib/utils.js';
6
6
 
7
7
  /**
@@ -10,7 +10,7 @@ import { getSourceFile } from '../lib/utils.js';
10
10
  * @since 1.0.0
11
11
  */
12
12
  export default (appInfo: EggAppInfo) => {
13
- const config: Partial<EggAppConfig> = {
13
+ const config: PowerPartial<EggAppConfig> = {
14
14
  /**
15
15
  * The environment of egg
16
16
  * @member {String} Config#env
@@ -28,7 +28,7 @@ export default (appInfo: EggAppInfo) => {
28
28
  name: appInfo.name,
29
29
 
30
30
  /**
31
- * The key that signing cookies. It can contain multiple keys seperated by `,`.
31
+ * The key that signing cookies. It can contain multiple keys separated by `,`.
32
32
  * @member {String} Config#keys
33
33
  * @see http://eggjs.org/en/core/cookie-and-session.html#cookie-secret-key
34
34
  * @default
@@ -237,7 +237,7 @@ export default (appInfo: EggAppInfo) => {
237
237
  parameterLimit: 1000,
238
238
  },
239
239
  onProtoPoisoning: 'error',
240
- onerror(err, ctx) {
240
+ onerror(err: any, ctx: Context) {
241
241
  err.message = `${err.message}, check bodyParser config`;
242
242
  if (ctx.status === 404) {
243
243
  // set default status to 400, meaning client bad request
@@ -299,7 +299,7 @@ export default (appInfo: EggAppInfo) => {
299
299
  * @property {Number} httpAgent.maxFreeSockets - http agent max free socket number of one host, default is 256.
300
300
  *
301
301
  * @property {Boolean} httpsAgent.keepAlive - Enable https agent keepalive or not, default is true
302
- * @property {Number} httpsAgent.freeSocketTimeout - httpss agent socket keepalive max free time, default is 4000 ms.
302
+ * @property {Number} httpsAgent.freeSocketTimeout - https agent socket keepalive max free time, default is 4000 ms.
303
303
  * @property {Number} httpsAgent.maxSockets - https agent max socket number of one host, default is `Number.MAX_SAFE_INTEGER` @ses https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
304
304
  * @property {Number} httpsAgent.maxFreeSockets - https agent max free socket number of one host, default is 256.
305
305
  * @property {Boolean} useHttpClientNext - use urllib@3 HttpClient
@@ -1,4 +1,4 @@
1
- import type { EggAppConfig } from '../lib/types.js';
1
+ import type { EggAppConfig, PowerPartial } from '../lib/types.js';
2
2
 
3
3
  export default () => {
4
4
  return {
@@ -7,5 +7,5 @@ export default () => {
7
7
  consoleLevel: 'WARN',
8
8
  },
9
9
  },
10
- } satisfies Partial<EggAppConfig>;
10
+ } satisfies PowerPartial<EggAppConfig>;
11
11
  };
@@ -1,4 +1,4 @@
1
- import type { EggAppConfig } from '../lib/types.js';
1
+ import type { EggAppConfig, PowerPartial } from '../lib/types.js';
2
2
 
3
3
  export default () => {
4
4
  return {
@@ -6,5 +6,5 @@ export default () => {
6
6
  consoleLevel: 'WARN',
7
7
  buffer: false,
8
8
  },
9
- } satisfies Partial<EggAppConfig>;
9
+ } satisfies PowerPartial<EggAppConfig>;
10
10
  };
package/src/lib/types.ts CHANGED
@@ -81,6 +81,10 @@ export interface HttpClientConfig {
81
81
  * @deprecated keep compatible with egg 3.x, no more used
82
82
  */
83
83
  useHttpClientNext?: boolean;
84
+ /**
85
+ * Allow http2
86
+ */
87
+ allowH2?: boolean;
84
88
  }
85
89
 
86
90
  /**
@@ -164,7 +168,7 @@ export interface EggAppConfig extends EggCoreAppConfig {
164
168
  * @property {Boolean} allowDebugAtProd - allow debug log at prod, defaults to false
165
169
  * @property {Boolean} enableFastContextLogger - using the app logger instead of EggContextLogger, defaults to false
166
170
  */
167
- logger: Partial<EggLoggerConfig>;
171
+ logger: EggLoggerConfig;
168
172
 
169
173
  /** custom logger of egg */
170
174
  customLogger: {