@loopback/rest 5.2.0 → 6.2.0

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 (78) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +4 -0
  3. package/dist/body-parsers/body-parser.js +3 -0
  4. package/dist/body-parsers/body-parser.js.map +1 -1
  5. package/dist/coercion/coerce-parameter.js +3 -2
  6. package/dist/coercion/coerce-parameter.js.map +1 -1
  7. package/dist/coercion/utils.d.ts +1 -1
  8. package/dist/index.js +1 -1
  9. package/dist/keys.d.ts +18 -3
  10. package/dist/keys.js +18 -1
  11. package/dist/keys.js.map +1 -1
  12. package/dist/parser.d.ts +2 -2
  13. package/dist/parser.js +3 -2
  14. package/dist/parser.js.map +1 -1
  15. package/dist/providers/find-route.provider.d.ts +7 -1
  16. package/dist/providers/find-route.provider.js +29 -1
  17. package/dist/providers/find-route.provider.js.map +1 -1
  18. package/dist/providers/invoke-method.provider.d.ts +7 -1
  19. package/dist/providers/invoke-method.provider.js +43 -1
  20. package/dist/providers/invoke-method.provider.js.map +1 -1
  21. package/dist/providers/parse-params.provider.d.ts +8 -2
  22. package/dist/providers/parse-params.provider.js +32 -2
  23. package/dist/providers/parse-params.provider.js.map +1 -1
  24. package/dist/providers/send.provider.d.ts +10 -2
  25. package/dist/providers/send.provider.js +46 -1
  26. package/dist/providers/send.provider.js.map +1 -1
  27. package/dist/request-context.js.map +1 -1
  28. package/dist/rest-http-error.d.ts +3 -1
  29. package/dist/rest-http-error.js +3 -2
  30. package/dist/rest-http-error.js.map +1 -1
  31. package/dist/rest.application.js +1 -1
  32. package/dist/rest.application.js.map +1 -1
  33. package/dist/rest.component.d.ts +1 -2
  34. package/dist/rest.component.js +23 -7
  35. package/dist/rest.component.js.map +1 -1
  36. package/dist/rest.server.d.ts +8 -4
  37. package/dist/rest.server.js +25 -12
  38. package/dist/rest.server.js.map +1 -1
  39. package/dist/router/base-route.js +3 -3
  40. package/dist/router/base-route.js.map +1 -1
  41. package/dist/router/controller-route.js +1 -1
  42. package/dist/router/controller-route.js.map +1 -1
  43. package/dist/router/handler-route.js +1 -1
  44. package/dist/router/handler-route.js.map +1 -1
  45. package/dist/router/redirect-route.js +1 -1
  46. package/dist/router/redirect-route.js.map +1 -1
  47. package/dist/sequence.d.ts +84 -2
  48. package/dist/sequence.js +135 -2
  49. package/dist/sequence.js.map +1 -1
  50. package/dist/types.d.ts +9 -4
  51. package/dist/validation/ajv-factory.provider.d.ts +3 -2
  52. package/dist/validation/ajv-factory.provider.js +7 -2
  53. package/dist/validation/ajv-factory.provider.js.map +1 -1
  54. package/dist/validation/request-body.validator.d.ts +2 -2
  55. package/dist/validation/request-body.validator.js +11 -13
  56. package/dist/validation/request-body.validator.js.map +1 -1
  57. package/package.json +25 -25
  58. package/src/body-parsers/body-parser.ts +3 -0
  59. package/src/coercion/coerce-parameter.ts +4 -3
  60. package/src/keys.ts +34 -3
  61. package/src/parser.ts +4 -3
  62. package/src/providers/find-route.provider.ts +36 -3
  63. package/src/providers/invoke-method.provider.ts +47 -3
  64. package/src/providers/parse-params.provider.ts +36 -9
  65. package/src/providers/send.provider.ts +45 -2
  66. package/src/request-context.ts +2 -1
  67. package/src/rest-http-error.ts +6 -2
  68. package/src/rest.application.ts +1 -1
  69. package/src/rest.component.ts +40 -10
  70. package/src/rest.server.ts +50 -16
  71. package/src/router/base-route.ts +3 -3
  72. package/src/router/controller-route.ts +1 -1
  73. package/src/router/handler-route.ts +3 -1
  74. package/src/router/redirect-route.ts +1 -1
  75. package/src/sequence.ts +174 -4
  76. package/src/types.ts +13 -4
  77. package/src/validation/ajv-factory.provider.ts +10 -8
  78. package/src/validation/request-body.validator.ts +28 -24
@@ -4,19 +4,24 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ParseParamsProvider = void 0;
7
+ exports.ParseParamsMiddlewareProvider = exports.ParseParamsProvider = void 0;
8
8
  const tslib_1 = require("tslib");
9
9
  const core_1 = require("@loopback/core");
10
+ const express_1 = require("@loopback/express");
11
+ const debug_1 = tslib_1.__importDefault(require("debug"));
10
12
  const body_parsers_1 = require("../body-parsers");
11
13
  const keys_1 = require("../keys");
12
14
  const parser_1 = require("../parser");
15
+ const sequence_1 = require("../sequence");
16
+ const ajv_factory_provider_1 = require("../validation/ajv-factory.provider");
17
+ const debug = debug_1.default('loopback:rest:parse-param');
13
18
  /**
14
19
  * Provides the function for parsing args in requests at runtime.
15
20
  *
16
21
  * @returns The handler function that will parse request args.
17
22
  */
18
23
  let ParseParamsProvider = class ParseParamsProvider {
19
- constructor(requestBodyParser, validationOptions = {}, ajvFactory) {
24
+ constructor(requestBodyParser, validationOptions = ajv_factory_provider_1.DEFAULT_AJV_VALIDATION_OPTIONS, ajvFactory) {
20
25
  this.requestBodyParser = requestBodyParser;
21
26
  this.validationOptions = validationOptions;
22
27
  this.ajvFactory = ajvFactory;
@@ -35,4 +40,29 @@ ParseParamsProvider = tslib_1.__decorate([
35
40
  tslib_1.__metadata("design:paramtypes", [body_parsers_1.RequestBodyParser, Object, Function])
36
41
  ], ParseParamsProvider);
37
42
  exports.ParseParamsProvider = ParseParamsProvider;
43
+ let ParseParamsMiddlewareProvider = class ParseParamsMiddlewareProvider {
44
+ constructor(parseParams) {
45
+ this.parseParams = parseParams;
46
+ }
47
+ value() {
48
+ return async (ctx, next) => {
49
+ const route = await ctx.get(keys_1.RestBindings.Operation.ROUTE);
50
+ debug('Parsing parameters for %s %s', route.verb, route.path);
51
+ const params = await this.parseParams(ctx.request, route);
52
+ ctx.bind(keys_1.RestBindings.Operation.PARAMS).to(params);
53
+ debug('Parameters', params);
54
+ return next();
55
+ };
56
+ }
57
+ };
58
+ ParseParamsMiddlewareProvider = tslib_1.__decorate([
59
+ core_1.bind(express_1.asMiddleware({
60
+ group: sequence_1.RestMiddlewareGroups.PARSE_PARAMS,
61
+ upstreamGroups: sequence_1.RestMiddlewareGroups.FIND_ROUTE,
62
+ chain: keys_1.RestTags.REST_MIDDLEWARE_CHAIN,
63
+ })),
64
+ tslib_1.__param(0, core_1.inject(keys_1.RestBindings.SequenceActions.PARSE_PARAMS)),
65
+ tslib_1.__metadata("design:paramtypes", [Function])
66
+ ], ParseParamsMiddlewareProvider);
67
+ exports.ParseParamsMiddlewareProvider = ParseParamsMiddlewareProvider;
38
68
  //# sourceMappingURL=parse-params.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parse-params.provider.js","sourceRoot":"","sources":["../../src/providers/parse-params.provider.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAAgD;AAChD,kDAAkD;AAClD,kCAAqC;AACrC,sCAA6C;AAQ7C;;;;GAIG;AACH,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAC9B,YAEU,iBAAoC,EAKpC,oBAAkD,EAAE,EAEpD,UAAuB;QAPvB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAKpC,sBAAiB,GAAjB,iBAAiB,CAAmC;QAEpD,eAAU,GAAV,UAAU,CAAa;IAC9B,CAAC;IAEJ,KAAK;QACH,OAAO,CAAC,OAAgB,EAAE,KAAoB,EAAE,EAAE,CAChD,2BAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACzD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,IAAI,CAAC,iBAAiB;SAC1B,CAAC,CAAC;IACP,CAAC;CACF,CAAA;AApBY,mBAAmB;IAE3B,mBAAA,aAAM,CAAC,mBAAY,CAAC,mBAAmB,CAAC,CAAA;IAExC,mBAAA,aAAM,CACL,mBAAY,CAAC,2BAA2B,CAAC,YAAY,CAAC,YAAY,CAAC,EACnE,EAAC,QAAQ,EAAE,IAAI,EAAC,CACjB,CAAA;IAEA,mBAAA,aAAM,CAAC,mBAAY,CAAC,WAAW,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;6CANxB,gCAAiB;GAHnC,mBAAmB,CAoB/B;AApBY,kDAAmB"}
1
+ {"version":3,"file":"parse-params.provider.js","sourceRoot":"","sources":["../../src/providers/parse-params.provider.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAAsD;AACtD,+CAA2D;AAC3D,0DAAiC;AACjC,kDAAkD;AAClD,kCAA+C;AAC/C,sCAA6C;AAE7C,0CAAiD;AAEjD,6EAAkF;AAElF,MAAM,KAAK,GAAG,eAAY,CAAC,2BAA2B,CAAC,CAAC;AAExD;;;;GAIG;AACH,IAAa,mBAAmB,GAAhC,MAAa,mBAAmB;IAC9B,YAEU,iBAAoC,EAKpC,oBAAuC,qDAA8B,EAErE,UAAuB;QAPvB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAKpC,sBAAiB,GAAjB,iBAAiB,CAAoD;QAErE,eAAU,GAAV,UAAU,CAAa;IAC9B,CAAC;IAEJ,KAAK;QACH,OAAO,CAAC,OAAgB,EAAE,KAAoB,EAAE,EAAE,CAChD,2BAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE;YACzD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,IAAI,CAAC,iBAAiB;SAC1B,CAAC,CAAC;IACP,CAAC;CACF,CAAA;AApBY,mBAAmB;IAE3B,mBAAA,aAAM,CAAC,mBAAY,CAAC,mBAAmB,CAAC,CAAA;IAExC,mBAAA,aAAM,CACL,mBAAY,CAAC,2BAA2B,CAAC,YAAY,CAAC,YAAY,CAAC,EACnE,EAAC,QAAQ,EAAE,IAAI,EAAC,CACjB,CAAA;IAEA,mBAAA,aAAM,CAAC,mBAAY,CAAC,WAAW,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAA;6CANxB,gCAAiB;GAHnC,mBAAmB,CAoB/B;AApBY,kDAAmB;AA6BhC,IAAa,6BAA6B,GAA1C,MAAa,6BAA6B;IACxC,YAEY,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IACjC,CAAC;IAEJ,KAAK;QACH,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,MAAM,KAAK,GAAkB,MAAM,GAAG,CAAC,GAAG,CAAC,mBAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzE,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1D,GAAG,CAAC,IAAI,CAAC,mBAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;YACnD,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAhBY,6BAA6B;IAPzC,WAAI,CACH,sBAAY,CAAC;QACX,KAAK,EAAE,+BAAoB,CAAC,YAAY;QACxC,cAAc,EAAE,+BAAoB,CAAC,UAAU;QAC/C,KAAK,EAAE,eAAQ,CAAC,qBAAqB;KACtC,CAAC,CACH;IAGI,mBAAA,aAAM,CAAC,mBAAY,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;;GAFzC,6BAA6B,CAgBzC;AAhBY,sEAA6B"}
@@ -1,4 +1,6 @@
1
- import { Provider, BoundValue } from '@loopback/core';
1
+ import { Provider } from '@loopback/core';
2
+ import { Middleware } from '@loopback/express';
3
+ import { Reject, Send } from '../types';
2
4
  import { writeResultToResponse } from '../writer';
3
5
  /**
4
6
  * Provides the function that populates the response object with
@@ -7,6 +9,12 @@ import { writeResultToResponse } from '../writer';
7
9
  * @returns The handler function that will populate the
8
10
  * response with operation results.
9
11
  */
10
- export declare class SendProvider implements Provider<BoundValue> {
12
+ export declare class SendProvider implements Provider<Send> {
11
13
  value(): typeof writeResultToResponse;
12
14
  }
15
+ export declare class SendResponseMiddlewareProvider implements Provider<Middleware> {
16
+ protected send: Send;
17
+ protected reject: Reject;
18
+ constructor(send: Send, reject: Reject);
19
+ value(): Middleware;
20
+ }
@@ -4,7 +4,12 @@
4
4
  // This file is licensed under the MIT License.
5
5
  // License text available at https://opensource.org/licenses/MIT
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.SendProvider = void 0;
7
+ exports.SendResponseMiddlewareProvider = exports.SendProvider = void 0;
8
+ const tslib_1 = require("tslib");
9
+ const core_1 = require("@loopback/core");
10
+ const express_1 = require("@loopback/express");
11
+ const keys_1 = require("../keys");
12
+ const sequence_1 = require("../sequence");
8
13
  const writer_1 = require("../writer");
9
14
  /**
10
15
  * Provides the function that populates the response object with
@@ -19,4 +24,44 @@ class SendProvider {
19
24
  }
20
25
  }
21
26
  exports.SendProvider = SendProvider;
27
+ let SendResponseMiddlewareProvider = class SendResponseMiddlewareProvider {
28
+ constructor(send, reject) {
29
+ this.send = send;
30
+ this.reject = reject;
31
+ }
32
+ value() {
33
+ return async (ctx, next) => {
34
+ try {
35
+ /**
36
+ * Invoke downstream middleware to produce the result
37
+ */
38
+ const result = await next();
39
+ /**
40
+ * Write the result to HTTP response
41
+ */
42
+ this.send(ctx.response, result);
43
+ }
44
+ catch (err) {
45
+ /**
46
+ * Write the error to HTTP response
47
+ */
48
+ this.reject(ctx, err);
49
+ }
50
+ };
51
+ }
52
+ };
53
+ SendResponseMiddlewareProvider = tslib_1.__decorate([
54
+ core_1.bind(express_1.asMiddleware({
55
+ group: sequence_1.RestMiddlewareGroups.SEND_RESPONSE,
56
+ downstreamGroups: [
57
+ sequence_1.RestMiddlewareGroups.CORS,
58
+ sequence_1.RestMiddlewareGroups.INVOKE_METHOD,
59
+ ],
60
+ chain: keys_1.RestTags.REST_MIDDLEWARE_CHAIN,
61
+ })),
62
+ tslib_1.__param(0, core_1.inject(keys_1.RestBindings.SequenceActions.SEND)),
63
+ tslib_1.__param(1, core_1.inject(keys_1.RestBindings.SequenceActions.REJECT)),
64
+ tslib_1.__metadata("design:paramtypes", [Function, Function])
65
+ ], SendResponseMiddlewareProvider);
66
+ exports.SendResponseMiddlewareProvider = SendResponseMiddlewareProvider;
22
67
  //# sourceMappingURL=send.provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"send.provider.js","sourceRoot":"","sources":["../../src/providers/send.provider.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAGhE,sCAAgD;AAChD;;;;;;GAMG;AACH,MAAa,YAAY;IACvB,KAAK;QACH,OAAO,8BAAqB,CAAC;IAC/B,CAAC;CACF;AAJD,oCAIC"}
1
+ {"version":3,"file":"send.provider.js","sourceRoot":"","sources":["../../src/providers/send.provider.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAAsD;AACtD,+CAA2D;AAC3D,kCAA+C;AAC/C,0CAAiD;AAEjD,sCAAgD;AAChD;;;;;;GAMG;AACH,MAAa,YAAY;IACvB,KAAK;QACH,OAAO,8BAAqB,CAAC;IAC/B,CAAC;CACF;AAJD,oCAIC;AAYD,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IACzC,YAEY,IAAU,EAEV,MAAc;QAFd,SAAI,GAAJ,IAAI,CAAM;QAEV,WAAM,GAAN,MAAM,CAAQ;IACvB,CAAC;IAEJ,KAAK;QACH,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,IAAI;gBACF;;mBAEG;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;gBAC5B;;mBAEG;gBACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACjC;YAAC,OAAO,GAAG,EAAE;gBACZ;;mBAEG;gBACH,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aACvB;QACH,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA3BY,8BAA8B;IAV1C,WAAI,CACH,sBAAY,CAAC;QACX,KAAK,EAAE,+BAAoB,CAAC,aAAa;QACzC,gBAAgB,EAAE;YAChB,+BAAoB,CAAC,IAAI;YACzB,+BAAoB,CAAC,aAAa;SACnC;QACD,KAAK,EAAE,eAAQ,CAAC,qBAAqB;KACtC,CAAC,CACH;IAGI,mBAAA,aAAM,CAAC,mBAAY,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IAEzC,mBAAA,aAAM,CAAC,mBAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAA;;GAJnC,8BAA8B,CA2B1C;AA3BY,wEAA8B"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../src/request-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-context.js","sourceRoot":"","sources":["../src/request-context.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,9 @@ export declare namespace RestHttpErrors {
9
9
  function missingRequired(name: string): HttpErrors.HttpError;
10
10
  function invalidParamLocation(location: string): HttpErrors.HttpError;
11
11
  const INVALID_REQUEST_BODY_MESSAGE = "The request body is invalid. See error object `details` property for more info.";
12
- function invalidRequestBody(): HttpErrors.HttpError;
12
+ function invalidRequestBody(details: ValidationErrorDetails[]): HttpErrors.HttpError & {
13
+ details: ValidationErrorDetails[];
14
+ };
13
15
  /**
14
16
  * An invalid request body error contains a `details` property as the machine-readable error.
15
17
  * Each entry in `error.details` contains 4 attributes: `path`, `code`, `info` and `message`.
@@ -10,7 +10,7 @@ const http_errors_1 = tslib_1.__importDefault(require("http-errors"));
10
10
  var RestHttpErrors;
11
11
  (function (RestHttpErrors) {
12
12
  function invalidData(data, name, extraProperties) {
13
- const msg = `Invalid data ${JSON.stringify(data)} for parameter ${name}!`;
13
+ const msg = `Invalid data ${JSON.stringify(data)} for parameter "${name}".`;
14
14
  return Object.assign(new http_errors_1.default.BadRequest(msg), {
15
15
  code: 'INVALID_PARAMETER_VALUE',
16
16
  parameterName: name,
@@ -41,9 +41,10 @@ var RestHttpErrors;
41
41
  }
42
42
  RestHttpErrors.invalidParamLocation = invalidParamLocation;
43
43
  RestHttpErrors.INVALID_REQUEST_BODY_MESSAGE = 'The request body is invalid. See error object `details` property for more info.';
44
- function invalidRequestBody() {
44
+ function invalidRequestBody(details) {
45
45
  return Object.assign(new http_errors_1.default.UnprocessableEntity(RestHttpErrors.INVALID_REQUEST_BODY_MESSAGE), {
46
46
  code: 'VALIDATION_FAILED',
47
+ details,
47
48
  });
48
49
  }
49
50
  RestHttpErrors.invalidRequestBody = invalidRequestBody;
@@ -1 +1 @@
1
- {"version":3,"file":"rest-http-error.js","sourceRoot":"","sources":["../src/rest-http-error.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,sEAAqC;AAErC,IAAiB,cAAc,CA+E9B;AA/ED,WAAiB,cAAc;IAC7B,SAAgB,WAAW,CACzB,IAAO,EACP,IAAY,EACZ,eAAuB;QAEvB,MAAM,GAAG,GAAG,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,IAAI,GAAG,CAAC;QAC1E,OAAO,MAAM,CAAC,MAAM,CAClB,IAAI,qBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAC9B;YACE,IAAI,EAAE,yBAAyB;YAC/B,aAAa,EAAE,IAAI;SACpB,EACD,eAAe,CAChB,CAAC;IACJ,CAAC;IAde,0BAAW,cAc1B,CAAA;IAED,SAAgB,oBAAoB,CAClC,WAAmB,EACnB,eAAyB,EAAE;QAE3B,MAAM,GAAG,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAC9B,CAAC,CAAC,gBAAgB,WAAW,oBAAoB,YAAY,IAAI;YACjE,CAAC,CAAC,gBAAgB,WAAW,oBAAoB,CAAC;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,qBAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;YAC7D,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,WAAW;YACxB,iBAAiB,EAAE,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;IAZe,mCAAoB,uBAYnC,CAAA;IAED,SAAgB,eAAe,CAAC,IAAY;QAC1C,MAAM,GAAG,GAAG,sBAAsB,IAAI,cAAc,CAAC;QACrD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,qBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACnD,IAAI,EAAE,4BAA4B;YAClC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IANe,8BAAe,kBAM9B,CAAA;IAED,SAAgB,oBAAoB,CAAC,QAAgB;QACnD,MAAM,GAAG,GAAG,wBAAwB,QAAQ,0BAA0B,CAAC;QACvE,OAAO,IAAI,qBAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAHe,mCAAoB,uBAGnC,CAAA;IAEY,2CAA4B,GACvC,iFAAiF,CAAC;IACpF,SAAgB,kBAAkB;QAChC,OAAO,MAAM,CAAC,MAAM,CAClB,IAAI,qBAAU,CAAC,mBAAmB,CAAC,eAAA,4BAA4B,CAAC,EAChE;YACE,IAAI,EAAE,mBAAmB;SAC1B,CACF,CAAC;IACJ,CAAC;IAPe,iCAAkB,qBAOjC,CAAA;AA0BH,CAAC,EA/EgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QA+E9B"}
1
+ {"version":3,"file":"rest-http-error.js","sourceRoot":"","sources":["../src/rest-http-error.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,sEAAqC;AAErC,IAAiB,cAAc,CAmF9B;AAnFD,WAAiB,cAAc;IAC7B,SAAgB,WAAW,CACzB,IAAO,EACP,IAAY,EACZ,eAAuB;QAEvB,MAAM,GAAG,GAAG,gBAAgB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC;QAC5E,OAAO,MAAM,CAAC,MAAM,CAClB,IAAI,qBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAC9B;YACE,IAAI,EAAE,yBAAyB;YAC/B,aAAa,EAAE,IAAI;SACpB,EACD,eAAe,CAChB,CAAC;IACJ,CAAC;IAde,0BAAW,cAc1B,CAAA;IAED,SAAgB,oBAAoB,CAClC,WAAmB,EACnB,eAAyB,EAAE;QAE3B,MAAM,GAAG,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAC9B,CAAC,CAAC,gBAAgB,WAAW,oBAAoB,YAAY,IAAI;YACjE,CAAC,CAAC,gBAAgB,WAAW,oBAAoB,CAAC;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,qBAAU,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;YAC7D,IAAI,EAAE,wBAAwB;YAC9B,WAAW,EAAE,WAAW;YACxB,iBAAiB,EAAE,YAAY;SAChC,CAAC,CAAC;IACL,CAAC;IAZe,mCAAoB,uBAYnC,CAAA;IAED,SAAgB,eAAe,CAAC,IAAY;QAC1C,MAAM,GAAG,GAAG,sBAAsB,IAAI,cAAc,CAAC;QACrD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,qBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YACnD,IAAI,EAAE,4BAA4B;YAClC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;IACL,CAAC;IANe,8BAAe,kBAM9B,CAAA;IAED,SAAgB,oBAAoB,CAAC,QAAgB;QACnD,MAAM,GAAG,GAAG,wBAAwB,QAAQ,0BAA0B,CAAC;QACvE,OAAO,IAAI,qBAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5C,CAAC;IAHe,mCAAoB,uBAGnC,CAAA;IAEY,2CAA4B,GACvC,iFAAiF,CAAC;IAEpF,SAAgB,kBAAkB,CAChC,OAAiC;QAEjC,OAAO,MAAM,CAAC,MAAM,CAClB,IAAI,qBAAU,CAAC,mBAAmB,CAAC,eAAA,4BAA4B,CAAC,EAChE;YACE,IAAI,EAAE,mBAAmB;YACzB,OAAO;SACR,CACF,CAAC;IACJ,CAAC;IAVe,iCAAkB,qBAUjC,CAAA;AA0BH,CAAC,EAnFgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAmF9B"}
@@ -59,7 +59,7 @@ class RestApplication extends core_1.Application {
59
59
  return super.server(server, name);
60
60
  }
61
61
  sequence(sequence) {
62
- return this.bind(keys_1.RestBindings.SEQUENCE).toClass(sequence);
62
+ return this.restServer.sequence(sequence);
63
63
  }
64
64
  handler(handlerFn) {
65
65
  this.restServer.handler(handlerFn);
@@ -1 +1 @@
1
- {"version":3,"file":"rest.application.js","sourceRoot":"","sources":["../src/rest.application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.application.js","sourceRoot":"","sources":["../src/rest.application.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCASwB;AAUxB,+BAA4B;AAE5B,iCAAoC;AACpC,qDAA+C;AAMlC,QAAA,mBAAmB,GAAG,aAAM,CACvC,oDAAoD,EACpD,0EAA0E,CAC3E,CAAC;AAEF,iCAAiC;AACpB,QAAA,eAAe,GAAG,mBAAY,CAAC,eAAe,CAAC;AAE5D;;;;;;GAMG;AACH,MAAa,eAAgB,SAAQ,kBAAW;IAC9C;;OAEG;IACH,IAAI,UAAU;QACZ,yEAAyE;QACzE,uEAAuE;QACvE,OAAO,IAAI,CAAC,OAAO,CAAa,oBAAoB,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;IACxC,CAAC;IAcD,YAAY,cAA4C,EAAE,MAAgB;QACxE,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,8BAAa,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAA2B,EAAE,IAAa;QAC/C,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACvC,MAAM,IAAI,KAAK,CAAC,2BAAmB,CAAC,CAAC;SACtC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,QAAsC;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,SAA2B;QACjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,IAAgB,EAAE,OAAe,EAAE,OAA4B;QACpE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,UAAU,CACR,eAAwC,EACxC,OAAoC;QAEpC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAI,GAAG,EAAE;QAChB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IA2CD,iBAAiB,CACf,YAAwE,EACxE,gBAAuE,EACvE,UAAoC,EAAE;QAEtC,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CACtC,YAAY,EACZ,gBAAgB,EAChB,OAAO,CACR,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,UAAU,CACR,UAA0D,EAC1D,UAAoC,EAAE;QAEtC,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAyFD,KAAK,CACH,WAAgC,EAChC,IAAa,EACb,IAAsB,EACtB,uBAAuD,EACvD,iBAAwC,EACxC,UAAmB;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC/B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAClC;aAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,OAAO,MAAM,CAAC,KAAK,CACjB,WAAW,EACX,IAAK,EACL,IAAK,EACL,uBAAmC,CACpC,CAAC;SACH;aAAM;YACL,OAAO,MAAM,CAAC,KAAK,CACjB,WAAW,EACX,IAAK,EACL,IAAK,EACL,uBAA6C,EAC7C,iBAAkB,EAClB,UAAW,CACZ,CAAC;SACH;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CACN,QAAgB,EAChB,WAAmB,EACnB,UAAmB;QAEnB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;OAUG;IACH,GAAG,CAAC,IAAiB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;OAUG;IACH,kBAAkB,CAChB,QAAgB,EAChB,MAA6B,EAC7B,IAAiB;QAEjB,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAO,GAAG,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;CACF;AArWD,0CAqWC"}
@@ -1,5 +1,4 @@
1
- import { Binding, Constructor } from '@loopback/core';
2
- import { Application, Component, ProviderMap, Server } from '@loopback/core';
1
+ import { Application, Binding, Component, Constructor, ProviderMap, Server } from '@loopback/core';
3
2
  import { RestServerConfig } from './rest.server';
4
3
  export declare class RestComponent implements Component {
5
4
  providers: ProviderMap;
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.RestComponent = void 0;
8
8
  const tslib_1 = require("tslib");
9
9
  const core_1 = require("@loopback/core");
10
- const core_2 = require("@loopback/core");
11
10
  const express_1 = require("@loopback/express");
12
11
  const openapi_v3_1 = require("@loopback/openapi-v3");
13
12
  const body_parsers_1 = require("./body-parsers");
@@ -15,7 +14,6 @@ const body_parser_raw_1 = require("./body-parsers/body-parser.raw");
15
14
  const keys_1 = require("./keys");
16
15
  const providers_1 = require("./providers");
17
16
  const rest_server_1 = require("./rest.server");
18
- const sequence_1 = require("./sequence");
19
17
  const consolidate_spec_enhancer_1 = require("./spec-enhancers/consolidate.spec-enhancer");
20
18
  const info_spec_enhancer_1 = require("./spec-enhancers/info.spec-enhancer");
21
19
  const ajv_factory_provider_1 = require("./validation/ajv-factory.provider");
@@ -24,8 +22,6 @@ let RestComponent = class RestComponent {
24
22
  var _a;
25
23
  this.providers = {
26
24
  [keys_1.RestBindings.SequenceActions.LOG_ERROR.key]: providers_1.LogErrorProvider,
27
- [keys_1.RestBindings.SequenceActions.INVOKE_MIDDLEWARE
28
- .key]: express_1.InvokeMiddlewareProvider,
29
25
  [keys_1.RestBindings.SequenceActions.FIND_ROUTE.key]: providers_1.FindRouteProvider,
30
26
  [keys_1.RestBindings.SequenceActions.INVOKE_METHOD.key]: providers_1.InvokeMethodProvider,
31
27
  [keys_1.RestBindings.SequenceActions.REJECT.key]: providers_1.RejectProvider,
@@ -47,11 +43,23 @@ let RestComponent = class RestComponent {
47
43
  rest_server_1.createBodyParserBinding(body_parsers_1.StreamBodyParser, keys_1.RestBindings.REQUEST_BODY_PARSER_STREAM),
48
44
  core_1.createBindingFromClass(info_spec_enhancer_1.InfoSpecEnhancer),
49
45
  core_1.createBindingFromClass(consolidate_spec_enhancer_1.ConsolidationEnhancer),
46
+ ...getRestMiddlewareBindings(),
50
47
  ];
51
48
  this.servers = {
52
49
  RestServer: rest_server_1.RestServer,
53
50
  };
54
- app.bind(keys_1.RestBindings.SEQUENCE).toClass(sequence_1.DefaultSequence);
51
+ // Register the `InvokeMiddleware` with default to `ACTION_MIDDLEWARE_CHAIN`
52
+ // to keep backward compatibility with action based sequence
53
+ const invokeMiddlewareActionBinding = core_1.createBindingFromClass(express_1.InvokeMiddlewareProvider, {
54
+ key: keys_1.RestBindings.SequenceActions.INVOKE_MIDDLEWARE,
55
+ }).tag({ [core_1.CoreTags.EXTENSION_POINT]: keys_1.RestTags.ACTION_MIDDLEWARE_CHAIN });
56
+ app.add(invokeMiddlewareActionBinding);
57
+ // Register the `InvokeMiddleware` with default to `DEFAULT_MIDDLEWARE_CHAIN`
58
+ // for the middleware based sequence
59
+ const invokeMiddlewareServiceBinding = core_1.createBindingFromClass(express_1.InvokeMiddlewareProvider, {
60
+ key: keys_1.RestBindings.INVOKE_MIDDLEWARE_SERVICE,
61
+ }).tag({ [core_1.CoreTags.EXTENSION_POINT]: keys_1.RestTags.REST_MIDDLEWARE_CHAIN });
62
+ app.add(invokeMiddlewareServiceBinding);
55
63
  const apiSpec = openapi_v3_1.createEmptyApiSpec();
56
64
  // Merge the OpenAPI `servers` spec from the config into the empty one
57
65
  if ((_a = config === null || config === void 0 ? void 0 : config.openApiSpec) === null || _a === void 0 ? void 0 : _a.servers) {
@@ -61,9 +69,17 @@ let RestComponent = class RestComponent {
61
69
  }
62
70
  };
63
71
  RestComponent = tslib_1.__decorate([
64
- tslib_1.__param(0, core_1.inject(core_2.CoreBindings.APPLICATION_INSTANCE)),
72
+ tslib_1.__param(0, core_1.inject(core_1.CoreBindings.APPLICATION_INSTANCE)),
65
73
  tslib_1.__param(1, core_1.inject(keys_1.RestBindings.CONFIG)),
66
- tslib_1.__metadata("design:paramtypes", [core_2.Application, Object])
74
+ tslib_1.__metadata("design:paramtypes", [core_1.Application, Object])
67
75
  ], RestComponent);
68
76
  exports.RestComponent = RestComponent;
77
+ function getRestMiddlewareBindings() {
78
+ return [
79
+ providers_1.SendResponseMiddlewareProvider,
80
+ providers_1.FindRouteMiddlewareProvider,
81
+ providers_1.ParseParamsMiddlewareProvider,
82
+ providers_1.InvokeMethodMiddlewareProvider,
83
+ ].map(cls => core_1.createBindingFromClass(cls));
84
+ }
69
85
  //# sourceMappingURL=rest.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rest.component.js","sourceRoot":"","sources":["../src/rest.component.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAKwB;AACxB,yCAMwB;AACxB,+CAA2D;AAC3D,qDAAwD;AACxD,iDAMwB;AACxB,oEAA6D;AAC7D,iCAAoC;AACpC,2CAOqB;AACrB,+CAIuB;AACvB,yCAA2C;AAC3C,0FAAiF;AACjF,4EAAqE;AACrE,4EAAqE;AAErE,IAAa,aAAa,GAA1B,MAAa,aAAa;IAgDxB,YAC6C,GAAgB,EAC9B,MAA4B;;QAjD3D,cAAS,GAAgB;YACvB,CAAC,mBAAY,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,4BAAgB;YAC9D,CAAC,mBAAY,CAAC,eAAe,CAAC,iBAAiB;iBAC5C,GAAG,CAAC,EAAE,kCAAwB;YACjC,CAAC,mBAAY,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,6BAAiB;YAChE,CAAC,mBAAY,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,gCAAoB;YACtE,CAAC,mBAAY,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,0BAAc;YACzD,CAAC,mBAAY,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,+BAAmB;YACpE,CAAC,mBAAY,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,wBAAY;YACrD,CAAC,mBAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,yCAAkB;SACnD,CAAC;QACF;;WAEG;QACH,aAAQ,GAAc;YACpB,wEAAwE;YACxE,2DAA2D;YAC3D,cAAO,CAAC,IAAI,CAAC,mBAAY,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,gCAAiB,CAAC;YACzE,qCAAuB,CACrB,6BAAc,EACd,mBAAY,CAAC,wBAAwB,CACtC;YACD,qCAAuB,CACrB,6BAAc,EACd,mBAAY,CAAC,wBAAwB,CACtC;YACD,qCAAuB,CACrB,mCAAoB,EACpB,mBAAY,CAAC,8BAA8B,CAC5C;YACD,qCAAuB,CACrB,+BAAa,EACb,mBAAY,CAAC,uBAAuB,CACrC;YACD,qCAAuB,CACrB,+BAAgB,EAChB,mBAAY,CAAC,0BAA0B,CACxC;YACD,6BAAsB,CAAC,qCAAgB,CAAC;YACxC,6BAAsB,CAAC,iDAAqB,CAAC;SAC9C,CAAC;QACF,YAAO,GAEH;YACF,UAAU,EAAV,wBAAU;SACX,CAAC;QAMA,GAAG,CAAC,IAAI,CAAC,mBAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,0BAAe,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,+BAAkB,EAAE,CAAC;QACrC,sEAAsE;QACtE,UAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,0CAAE,OAAO,EAAE;YAChC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAC,CAAC,CAAC;SAC/D;QACD,GAAG,CAAC,IAAI,CAAC,mBAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF,CAAA;AA5DY,aAAa;IAiDrB,mBAAA,aAAM,CAAC,mBAAY,CAAC,oBAAoB,CAAC,CAAA;IACzC,mBAAA,aAAM,CAAC,mBAAY,CAAC,MAAM,CAAC,CAAA;6CADoB,kBAAW;GAjDlD,aAAa,CA4DzB;AA5DY,sCAAa"}
1
+ {"version":3,"file":"rest.component.js","sourceRoot":"","sources":["../src/rest.component.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,7 @@ export declare class RestServer extends BaseMiddlewareRegistry implements Server
80
80
  protected _httpServer: HttpServer | undefined;
81
81
  protected _expressApp?: express.Application;
82
82
  get listening(): boolean;
83
+ get httpServer(): HttpServer | undefined;
83
84
  /**
84
85
  * The base url for the server, including the basePath if set. For example,
85
86
  * the value will be 'http://localhost:3000/api' if `basePath` is set to
@@ -293,9 +294,9 @@ export declare class RestServer extends BaseMiddlewareRegistry implements Server
293
294
  * }
294
295
  * ```
295
296
  *
296
- * @param value - The sequence to invoke for each incoming request.
297
+ * @param sequenceClass - The sequence class to invoke for each incoming request.
297
298
  */
298
- sequence(value: Constructor<SequenceHandler>): void;
299
+ sequence(sequenceClass: Constructor<SequenceHandler>): Binding<SequenceHandler>;
299
300
  /**
300
301
  * Configure a custom sequence function for handling incoming requests.
301
302
  *
@@ -374,12 +375,15 @@ export interface OpenApiSpecForm {
374
375
  export interface OpenApiSpecOptions {
375
376
  /**
376
377
  * Mapping of urls to spec forms, by default:
377
- * ```
378
+ * <br>
378
379
  * {
380
+ * <br>
379
381
  * '/openapi.json': {version: '3.0.0', format: 'json'},
382
+ * <br>
380
383
  * '/openapi.yaml': {version: '3.0.0', format: 'yaml'},
384
+ * <br>
381
385
  * }
382
- * ```
386
+ *
383
387
  */
384
388
  endpointMapping?: {
385
389
  [key: string]: OpenApiSpecForm;
@@ -84,6 +84,9 @@ let RestServer = class RestServer extends express_1.BaseMiddlewareRegistry {
84
84
  if (config.sequence) {
85
85
  this.sequence(config.sequence);
86
86
  }
87
+ else {
88
+ this.sequence(sequence_1.MiddlewareSequence);
89
+ }
87
90
  if (config.router) {
88
91
  this.bind(keys_1.RestBindings.ROUTER_OPTIONS).to(config.router);
89
92
  }
@@ -109,6 +112,9 @@ let RestServer = class RestServer extends express_1.BaseMiddlewareRegistry {
109
112
  get listening() {
110
113
  return this._httpServer ? this._httpServer.listening : false;
111
114
  }
115
+ get httpServer() {
116
+ return this._httpServer;
117
+ }
112
118
  /**
113
119
  * The base url for the server, including the basePath if set. For example,
114
120
  * the value will be 'http://localhost:3000/api' if `basePath` is set to
@@ -148,8 +154,8 @@ let RestServer = class RestServer extends express_1.BaseMiddlewareRegistry {
148
154
  this.expressMiddleware(cors_1.default, this.config.cors, {
149
155
  injectConfiguration: false,
150
156
  key: 'middleware.cors',
151
- group: 'cors',
152
- });
157
+ group: sequence_1.RestMiddlewareGroups.CORS,
158
+ }).apply(core_1.extensionFor(keys_1.RestTags.REST_MIDDLEWARE_CHAIN, keys_1.RestTags.ACTION_MIDDLEWARE_CHAIN));
153
159
  // Set up endpoints for OpenAPI spec/ui
154
160
  this._setupOpenApiSpecEndpoints();
155
161
  // Mount our router & request handler
@@ -210,8 +216,9 @@ let RestServer = class RestServer extends express_1.BaseMiddlewareRegistry {
210
216
  const explorerPaths = ['/swagger-ui', '/explorer'];
211
217
  router.get(explorerPaths, (req, res, next) => this._redirectToSwaggerUI(req, res, next));
212
218
  this.expressMiddleware('middleware.apiSpec.defaults', router, {
213
- group: 'apiSpec',
214
- });
219
+ group: sequence_1.RestMiddlewareGroups.API_SPEC,
220
+ upstreamGroups: sequence_1.RestMiddlewareGroups.CORS,
221
+ }).apply(core_1.extensionFor(keys_1.RestTags.REST_MIDDLEWARE_CHAIN, keys_1.RestTags.ACTION_MIDDLEWARE_CHAIN));
215
222
  }
216
223
  /**
217
224
  * Add a new non-controller endpoint hosting a form of the OpenAPI spec.
@@ -305,6 +312,9 @@ let RestServer = class RestServer extends express_1.BaseMiddlewareRegistry {
305
312
  }
306
313
  // TODO(bajtos) should we support API spec defined asynchronously?
307
314
  const spec = this.getSync(keys_1.RestBindings.API_SPEC);
315
+ if (spec.components) {
316
+ this._httpHandler.registerApiComponents(spec.components);
317
+ }
308
318
  for (const path in spec.paths) {
309
319
  for (const verb in spec.paths[path]) {
310
320
  const routeSpec = spec.paths[path][verb];
@@ -504,10 +514,12 @@ let RestServer = class RestServer extends express_1.BaseMiddlewareRegistry {
504
514
  */
505
515
  async getApiSpec(requestContext) {
506
516
  let spec = await this.get(keys_1.RestBindings.API_SPEC);
517
+ spec = lodash_1.cloneDeep(spec);
507
518
  const components = this.httpHandler.getApiComponents();
508
519
  // Apply deep clone to prevent getApiSpec() callers from
509
520
  // accidentally modifying our internal routing data
510
- spec.paths = lodash_1.cloneDeep(this.httpHandler.describeApiPaths());
521
+ const paths = lodash_1.cloneDeep(this.httpHandler.describeApiPaths());
522
+ spec.paths = { ...paths, ...spec.paths };
511
523
  if (components) {
512
524
  const defs = lodash_1.cloneDeep(components);
513
525
  spec.components = { ...spec.components, ...defs };
@@ -562,10 +574,14 @@ let RestServer = class RestServer extends express_1.BaseMiddlewareRegistry {
562
574
  * }
563
575
  * ```
564
576
  *
565
- * @param value - The sequence to invoke for each incoming request.
577
+ * @param sequenceClass - The sequence class to invoke for each incoming request.
566
578
  */
567
- sequence(value) {
568
- this.bind(keys_1.RestBindings.SEQUENCE).toClass(value);
579
+ sequence(sequenceClass) {
580
+ const sequenceBinding = core_1.createBindingFromClass(sequenceClass, {
581
+ key: keys_1.RestBindings.SEQUENCE,
582
+ });
583
+ this.add(sequenceBinding);
584
+ return sequenceBinding;
569
585
  }
570
586
  /**
571
587
  * Configure a custom sequence function for handling incoming requests.
@@ -630,10 +646,7 @@ let RestServer = class RestServer extends express_1.BaseMiddlewareRegistry {
630
646
  debug('RestServer is not listening as listenOnStart flag is set to false.');
631
647
  return;
632
648
  }
633
- const serverOptions = {};
634
- if (protocol === 'https')
635
- Object.assign(serverOptions, httpsOptions);
636
- Object.assign(serverOptions, { port, host, protocol, path });
649
+ const serverOptions = { ...httpsOptions, port, host, protocol, path };
637
650
  this._httpServer = new http_server_1.HttpServer(this.requestHandler, serverOptions);
638
651
  await this._httpServer.start();
639
652
  this.bind(keys_1.RestBindings.PORT).to(this._httpServer.port);
@@ -1 +1 @@
1
- {"version":3,"file":"rest.server.js","sourceRoot":"","sources":["../src/rest.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest.server.js","sourceRoot":"","sources":["../src/rest.server.ts"],"names":[],"mappings":"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"}
@@ -21,10 +21,10 @@ class BaseRoute {
21
21
  this.verb = verb.toLowerCase();
22
22
  }
23
23
  describe() {
24
- return `"${this.verb} ${this.path}"`;
24
+ return `${this.verb} ${this.path}`;
25
25
  }
26
26
  toString() {
27
- return `${this.constructor.name} - ${this.verb} ${this.path}`;
27
+ return `${this.constructor.name} - ${this.describe()}`;
28
28
  }
29
29
  }
30
30
  exports.BaseRoute = BaseRoute;
@@ -34,7 +34,7 @@ class RouteSource {
34
34
  this.type = 'route';
35
35
  }
36
36
  toString() {
37
- return `${this.value.verb} ${this.value.path}`;
37
+ return this.value.toString();
38
38
  }
39
39
  }
40
40
  exports.RouteSource = RouteSource;
@@ -1 +1 @@
1
- {"version":3,"file":"base-route.js","sourceRoot":"","sources":["../../src/router/base-route.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAOhE;;GAEG;AACH,MAAsB,SAAS;IAG7B;;;;;OAKG;IACH,YACE,IAAY,EACI,IAAY,EACZ,IAAqB;QADrB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAiB;QAErC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IASD,QAAQ;QACN,OAAO,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;IACvC,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IAChE,CAAC;CACF;AA/BD,8BA+BC;AAED,MAAa,WAAW;IAEtB,YAAqB,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;QADtC,SAAI,GAAG,OAAO,CAAC;IAC0B,CAAC;IAC1C,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;CACF;AAND,kCAMC"}
1
+ {"version":3,"file":"base-route.js","sourceRoot":"","sources":["../../src/router/base-route.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAOhE;;GAEG;AACH,MAAsB,SAAS;IAG7B;;;;;OAKG;IACH,YACE,IAAY,EACI,IAAY,EACZ,IAAqB;QADrB,SAAI,GAAJ,IAAI,CAAQ;QACZ,SAAI,GAAJ,IAAI,CAAiB;QAErC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IASD,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;IACzD,CAAC;CACF;AA/BD,8BA+BC;AAED,MAAa,WAAW;IAEtB,YAAqB,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;QADtC,SAAI,GAAG,OAAO,CAAC;IAC0B,CAAC;IAC1C,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;CACF;AAND,kCAMC"}
@@ -49,7 +49,7 @@ class ControllerRoute extends base_route_1.BaseRoute {
49
49
  this._methodName = methodName;
50
50
  }
51
51
  describe() {
52
- return `${this._controllerName}.${this._methodName}`;
52
+ return `${super.describe()} => ${this._controllerName}.${this._methodName}`;
53
53
  }
54
54
  updateBindings(requestContext) {
55
55
  /*