@midwayjs/core 3.0.0-beta.6 → 3.0.0-beta.7

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.0.0-beta.7](https://github.com/midwayjs/midway/compare/v3.0.0-beta.6...v3.0.0-beta.7) (2021-12-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * add app.keys ([#1395](https://github.com/midwayjs/midway/issues/1395)) ([c44afc6](https://github.com/midwayjs/midway/commit/c44afc6cc6764a959d1fa7ae04d60099282d156a))
12
+ * middleware with ctx.body ([#1389](https://github.com/midwayjs/midway/issues/1389)) ([77af5c0](https://github.com/midwayjs/midway/commit/77af5c0b456f1843f4dcfd3dbfd2c0aa244c51bd))
13
+
14
+
15
+
16
+
17
+
6
18
  # [3.0.0-beta.6](https://github.com/midwayjs/midway/compare/v3.0.0-beta.5...v3.0.0-beta.6) (2021-11-26)
7
19
 
8
20
 
@@ -215,7 +215,10 @@ class BaseFramework {
215
215
  catch (err) {
216
216
  returnResult = await this.filterManager.runErrorFilter(err, ctx);
217
217
  }
218
- return returnResult;
218
+ if (returnResult.error) {
219
+ throw returnResult.error;
220
+ }
221
+ return returnResult.result;
219
222
  }));
220
223
  this.composeMiddleware = await this.middlewareService.compose(this.middlewareManager);
221
224
  await this.filterManager.init(this.applicationContext);
@@ -54,6 +54,7 @@ export declare enum FrameworkErrorEnum {
54
54
  PARAM_TYPE = 10002,
55
55
  DEFINITION_NOT_FOUND = 10003,
56
56
  FEATURE_NO_LONGER_SUPPORTED = 10004,
57
- VALIDATE_FAIL = 10005
57
+ VALIDATE_FAIL = 10005,
58
+ MISSING_CONFIG = 10006
58
59
  }
59
60
  //# sourceMappingURL=code.d.ts.map
@@ -60,5 +60,6 @@ var FrameworkErrorEnum;
60
60
  FrameworkErrorEnum[FrameworkErrorEnum["DEFINITION_NOT_FOUND"] = 10003] = "DEFINITION_NOT_FOUND";
61
61
  FrameworkErrorEnum[FrameworkErrorEnum["FEATURE_NO_LONGER_SUPPORTED"] = 10004] = "FEATURE_NO_LONGER_SUPPORTED";
62
62
  FrameworkErrorEnum[FrameworkErrorEnum["VALIDATE_FAIL"] = 10005] = "VALIDATE_FAIL";
63
+ FrameworkErrorEnum[FrameworkErrorEnum["MISSING_CONFIG"] = 10006] = "MISSING_CONFIG";
63
64
  })(FrameworkErrorEnum = exports.FrameworkErrorEnum || (exports.FrameworkErrorEnum = {}));
64
65
  //# sourceMappingURL=code.js.map
@@ -18,4 +18,7 @@ export declare class MidwayFeatureNoLongerSupportedError extends MidwayError {
18
18
  export declare class MidwayValidationError extends MidwayError {
19
19
  constructor(message: any, status: any, cause: any);
20
20
  }
21
+ export declare class MidwayConfigMissingError extends MidwayError {
22
+ constructor(configKey: string);
23
+ }
21
24
  //# sourceMappingURL=framework.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MidwayValidationError = exports.MidwayFeatureNoLongerSupportedError = exports.MidwayDefinitionNotFoundError = exports.MidwayParameterError = exports.MidwayCommonError = void 0;
3
+ exports.MidwayConfigMissingError = exports.MidwayValidationError = exports.MidwayFeatureNoLongerSupportedError = exports.MidwayDefinitionNotFoundError = exports.MidwayParameterError = exports.MidwayCommonError = void 0;
4
4
  const base_1 = require("./base");
5
5
  const code_1 = require("./code");
6
6
  class MidwayCommonError extends base_1.MidwayError {
@@ -49,4 +49,10 @@ class MidwayValidationError extends base_1.MidwayError {
49
49
  }
50
50
  }
51
51
  exports.MidwayValidationError = MidwayValidationError;
52
+ class MidwayConfigMissingError extends base_1.MidwayError {
53
+ constructor(configKey) {
54
+ super(`Can't found config key "${configKey}" in your config, please set it first`, code_1.FrameworkErrorEnum.MISSING_CONFIG);
55
+ }
56
+ }
57
+ exports.MidwayConfigMissingError = MidwayConfigMissingError;
52
58
  //# sourceMappingURL=framework.js.map
@@ -67,6 +67,7 @@ let MidwayMiddlewareService = class MidwayMiddlewareService {
67
67
  * @api public
68
68
  */
69
69
  const composeFn = (context, next) => {
70
+ const supportBody = (0, util_1.isIncludeProperty)(context, 'body');
70
71
  // last called middleware #
71
72
  let index = -1;
72
73
  return dispatch(0);
@@ -80,9 +81,25 @@ let MidwayMiddlewareService = class MidwayMiddlewareService {
80
81
  if (!fn)
81
82
  return Promise.resolve();
82
83
  try {
83
- return Promise.resolve(fn(context, dispatch.bind(null, i + 1), {
84
- index,
85
- }));
84
+ if (supportBody) {
85
+ return Promise.resolve(fn(context, dispatch.bind(null, i + 1), {
86
+ index,
87
+ })).then(result => {
88
+ // need to set body
89
+ if (context.body && !result) {
90
+ result = context.body;
91
+ }
92
+ else if (result && context.body !== result) {
93
+ context.body = result;
94
+ }
95
+ return result;
96
+ });
97
+ }
98
+ else {
99
+ return Promise.resolve(fn(context, dispatch.bind(null, i + 1), {
100
+ index,
101
+ }));
102
+ }
86
103
  }
87
104
  catch (err) {
88
105
  return Promise.reject(err);
@@ -73,4 +73,5 @@ export declare const deprecatedOutput: (message: string) => void;
73
73
  */
74
74
  export declare const transformRequestObjectByType: (originValue: any, targetType?: any) => any;
75
75
  export declare function toPathMatch(pattern: any): any;
76
+ export declare function isIncludeProperty(obj: any, prop: string): boolean;
76
77
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toPathMatch = exports.transformRequestObjectByType = exports.deprecatedOutput = exports.getCurrentDateString = exports.delegateTargetProperties = exports.delegateTargetMethod = exports.delegateTargetPrototypeMethod = exports.joinURLPath = exports.getUserHome = exports.parsePrefix = exports.safelyGet = exports.safeRequire = exports.getCurrentEnvironment = exports.isDevelopmentEnvironment = void 0;
3
+ exports.isIncludeProperty = exports.toPathMatch = exports.transformRequestObjectByType = exports.deprecatedOutput = exports.getCurrentDateString = exports.delegateTargetProperties = exports.delegateTargetMethod = exports.delegateTargetPrototypeMethod = exports.joinURLPath = exports.getUserHome = exports.parsePrefix = exports.safelyGet = exports.safeRequire = exports.getCurrentEnvironment = exports.isDevelopmentEnvironment = void 0;
4
4
  const path_1 = require("path");
5
5
  const fs_1 = require("fs");
6
6
  const util_1 = require("util");
@@ -237,4 +237,21 @@ function toPathMatch(pattern) {
237
237
  throw new error_1.MidwayCommonError('match/ignore pattern must be RegExp, Array or String, but got ' + pattern);
238
238
  }
239
239
  exports.toPathMatch = toPathMatch;
240
+ function isOwnPropertyWritable(obj, prop) {
241
+ if (obj == null)
242
+ return false;
243
+ const type = typeof obj;
244
+ if (type !== 'object' && type !== 'function')
245
+ return false;
246
+ return !!Object.getOwnPropertyDescriptor(obj, prop);
247
+ }
248
+ function isIncludeProperty(obj, prop) {
249
+ while (obj) {
250
+ if (isOwnPropertyWritable(obj, prop))
251
+ return true;
252
+ obj = Object.getPrototypeOf(obj);
253
+ }
254
+ return false;
255
+ }
256
+ exports.isIncludeProperty = isIncludeProperty;
240
257
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@midwayjs/core",
3
- "version": "3.0.0-beta.6",
3
+ "version": "3.0.0-beta.7",
4
4
  "description": "midway core",
5
5
  "main": "dist/index",
6
6
  "typings": "dist/index.d.ts",
@@ -21,7 +21,8 @@
21
21
  ],
22
22
  "license": "MIT",
23
23
  "devDependencies": {
24
- "@midwayjs/decorator": "^3.0.0-beta.6",
24
+ "@midwayjs/decorator": "^3.0.0-beta.7",
25
+ "koa": "^2.13.4",
25
26
  "midway-test-component": "*",
26
27
  "mm": "3",
27
28
  "sinon": "^7.2.2"
@@ -31,7 +32,7 @@
31
32
  },
32
33
  "dependencies": {
33
34
  "@midwayjs/glob": "^1.0.2",
34
- "@midwayjs/logger": "^3.0.0-beta.6",
35
+ "@midwayjs/logger": "^3.0.0-beta.7",
35
36
  "class-transformer": "^0.5.1",
36
37
  "extend2": "^1.0.0",
37
38
  "picomatch": "^2.2.2",
@@ -45,5 +46,5 @@
45
46
  "engines": {
46
47
  "node": ">=12"
47
48
  },
48
- "gitHead": "e4595d30b369e36bef21b36f2b3737d8bc2f802d"
49
+ "gitHead": "24590729121d9110e2d960db5b5e587cf55a1efc"
49
50
  }