@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.
- package/CHANGELOG.md +73 -0
- package/README.md +4 -0
- package/dist/body-parsers/body-parser.js +3 -0
- package/dist/body-parsers/body-parser.js.map +1 -1
- package/dist/coercion/coerce-parameter.js +3 -2
- package/dist/coercion/coerce-parameter.js.map +1 -1
- package/dist/coercion/utils.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/keys.d.ts +18 -3
- package/dist/keys.js +18 -1
- package/dist/keys.js.map +1 -1
- package/dist/parser.d.ts +2 -2
- package/dist/parser.js +3 -2
- package/dist/parser.js.map +1 -1
- package/dist/providers/find-route.provider.d.ts +7 -1
- package/dist/providers/find-route.provider.js +29 -1
- package/dist/providers/find-route.provider.js.map +1 -1
- package/dist/providers/invoke-method.provider.d.ts +7 -1
- package/dist/providers/invoke-method.provider.js +43 -1
- package/dist/providers/invoke-method.provider.js.map +1 -1
- package/dist/providers/parse-params.provider.d.ts +8 -2
- package/dist/providers/parse-params.provider.js +32 -2
- package/dist/providers/parse-params.provider.js.map +1 -1
- package/dist/providers/send.provider.d.ts +10 -2
- package/dist/providers/send.provider.js +46 -1
- package/dist/providers/send.provider.js.map +1 -1
- package/dist/request-context.js.map +1 -1
- package/dist/rest-http-error.d.ts +3 -1
- package/dist/rest-http-error.js +3 -2
- package/dist/rest-http-error.js.map +1 -1
- package/dist/rest.application.js +1 -1
- package/dist/rest.application.js.map +1 -1
- package/dist/rest.component.d.ts +1 -2
- package/dist/rest.component.js +23 -7
- package/dist/rest.component.js.map +1 -1
- package/dist/rest.server.d.ts +8 -4
- package/dist/rest.server.js +25 -12
- package/dist/rest.server.js.map +1 -1
- package/dist/router/base-route.js +3 -3
- package/dist/router/base-route.js.map +1 -1
- package/dist/router/controller-route.js +1 -1
- package/dist/router/controller-route.js.map +1 -1
- package/dist/router/handler-route.js +1 -1
- package/dist/router/handler-route.js.map +1 -1
- package/dist/router/redirect-route.js +1 -1
- package/dist/router/redirect-route.js.map +1 -1
- package/dist/sequence.d.ts +84 -2
- package/dist/sequence.js +135 -2
- package/dist/sequence.js.map +1 -1
- package/dist/types.d.ts +9 -4
- package/dist/validation/ajv-factory.provider.d.ts +3 -2
- package/dist/validation/ajv-factory.provider.js +7 -2
- package/dist/validation/ajv-factory.provider.js.map +1 -1
- package/dist/validation/request-body.validator.d.ts +2 -2
- package/dist/validation/request-body.validator.js +11 -13
- package/dist/validation/request-body.validator.js.map +1 -1
- package/package.json +25 -25
- package/src/body-parsers/body-parser.ts +3 -0
- package/src/coercion/coerce-parameter.ts +4 -3
- package/src/keys.ts +34 -3
- package/src/parser.ts +4 -3
- package/src/providers/find-route.provider.ts +36 -3
- package/src/providers/invoke-method.provider.ts +47 -3
- package/src/providers/parse-params.provider.ts +36 -9
- package/src/providers/send.provider.ts +45 -2
- package/src/request-context.ts +2 -1
- package/src/rest-http-error.ts +6 -2
- package/src/rest.application.ts +1 -1
- package/src/rest.component.ts +40 -10
- package/src/rest.server.ts +50 -16
- package/src/router/base-route.ts +3 -3
- package/src/router/controller-route.ts +1 -1
- package/src/router/handler-route.ts +3 -1
- package/src/router/redirect-route.ts +1 -1
- package/src/sequence.ts +174 -4
- package/src/types.ts +13 -4
- package/src/validation/ajv-factory.provider.ts +10 -8
- package/src/validation/request-body.validator.ts +28 -24
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,79 @@
|
|
|
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
|
+
# [6.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@6.1.0...@loopback/rest@6.2.0) (2020-08-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **rest:** add more debugging statements for middleware ([de2f5be](https://github.com/strongloop/loopback-next/commit/de2f5bee6415d55c53ca14cdf989cb37b06c7f47))
|
|
12
|
+
* **rest:** improve route description to include verb and path ([3b7fcca](https://github.com/strongloop/loopback-next/commit/3b7fccafa57cfb7fd2ee1495dc81dbc87ab6e94e))
|
|
13
|
+
* **rest:** make sure rest options are passed to http-server ([e9af196](https://github.com/strongloop/loopback-next/commit/e9af1961dfe2aaae3c07e3100f6fe538797943e0))
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
# [6.1.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@6.0.0...@loopback/rest@6.1.0) (2020-08-19)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Bug Fixes
|
|
23
|
+
|
|
24
|
+
* **repository:** apply `[@model](https://github.com/model)` to generated model class ([9a1b1e4](https://github.com/strongloop/loopback-next/commit/9a1b1e4324516bc1351e08943b8b0c5a00e75992))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
* **express:** add middleware view to watch registered middleware ([205d948](https://github.com/strongloop/loopback-next/commit/205d948cb91cf48d187ce247ee5e77b1204be35e))
|
|
30
|
+
* **rest:** add the ability to validate sorted middleware groups ([227dbf8](https://github.com/strongloop/loopback-next/commit/227dbf8045990536ac1437ea4a7ae1f1a1e571bb))
|
|
31
|
+
* **rest:** improve validation errors for invalid parameter value ([54f762c](https://github.com/strongloop/loopback-next/commit/54f762c845912b45811f6481518a100f10c5e1e6))
|
|
32
|
+
* **rest:** optimize middleware sequence to reuse middleware binding keys ([0041a24](https://github.com/strongloop/loopback-next/commit/0041a246df89f7dbff179ed7c5e08a65ec5bcbda))
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
# [6.0.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.2.1...@loopback/rest@6.0.0) (2020-08-05)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Bug Fixes
|
|
42
|
+
|
|
43
|
+
* **rest:** code block in interface apidoc ([1f79de5](https://github.com/strongloop/loopback-next/commit/1f79de56fed717b85da996c0cdc23da6214f4410))
|
|
44
|
+
* **rest:** preserve the bound value for API_SPCE binding from api() ([18fedf3](https://github.com/strongloop/loopback-next/commit/18fedf37fe3db266e9222191e20e1bf6fdcaa8ec))
|
|
45
|
+
* **rest:** register component for apispec ([7ac2081](https://github.com/strongloop/loopback-next/commit/7ac208153b5986fc346d81a410c18ec97c223b2e))
|
|
46
|
+
* enable default AJV custom validation and error messages ([d7c385e](https://github.com/strongloop/loopback-next/commit/d7c385ee24f14e187655a68e2a08cff68c5142a9))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Features
|
|
50
|
+
|
|
51
|
+
* **rest:** add a note to mention the middleware-based sequence ([8d06f62](https://github.com/strongloop/loopback-next/commit/8d06f62ce66a258d62b2d42febbd947c186b73f0))
|
|
52
|
+
* **rest:** add middleware for REST actions and MiddlewareSequence ([80b667c](https://github.com/strongloop/loopback-next/commit/80b667c3592bcbd5c835854ddffde97c7e66fac4))
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
### BREAKING CHANGES
|
|
56
|
+
|
|
57
|
+
* **rest:** A middleware-based sequence has been introduced to have
|
|
58
|
+
a middleware chain with discovered middleware to process REST requests
|
|
59
|
+
and responses. The action-based sequence is kept for backward compatibility.
|
|
60
|
+
Please check out https://loopback.io/doc/en/lb4/Sequence.html for more details.
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
## [5.2.1](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.2.0...@loopback/rest@5.2.1) (2020-07-20)
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
### Bug Fixes
|
|
70
|
+
|
|
71
|
+
* ensure delete only applies to optional properties ([89cd43f](https://github.com/strongloop/loopback-next/commit/89cd43f1a455983f120d9bb9c869eac36adc7ad7))
|
|
72
|
+
* nested scope filter ([b29d6d7](https://github.com/strongloop/loopback-next/commit/b29d6d7938b0d07e927b0939745b76cfff91272b))
|
|
73
|
+
* **repository-json-schema:** added type 'object' to model json schema ([5c5f9ef](https://github.com/strongloop/loopback-next/commit/5c5f9efcfdea7788503d74610e7ce64f31abc7cd)), closes [#3804](https://github.com/strongloop/loopback-next/issues/3804)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
6
79
|
# [5.2.0](https://github.com/strongloop/loopback-next/compare/@loopback/rest@5.1.2...@loopback/rest@5.2.0) (2020-06-30)
|
|
7
80
|
|
|
8
81
|
|
package/README.md
CHANGED
|
@@ -14,6 +14,10 @@ with:
|
|
|
14
14
|
`@loopback/openapi-v3`
|
|
15
15
|
- a default sequence implementation to manage the request and response lifecycle
|
|
16
16
|
|
|
17
|
+
**NOTE: Starting from 6.0.0, we have introduced a middleware-based sequence,
|
|
18
|
+
which is is used as the default one for newly generated LoopBack applications
|
|
19
|
+
using `lb4` command from `@loopback/cli`.**
|
|
20
|
+
|
|
17
21
|
## Installation
|
|
18
22
|
|
|
19
23
|
To use this package, you'll need to install `@loopback/rest`.
|
|
@@ -31,17 +31,20 @@ let RequestBodyParser = class RequestBodyParser {
|
|
|
31
31
|
if (customParser) {
|
|
32
32
|
// Invoke the custom parser
|
|
33
33
|
const body = await this._invokeCustomParser(customParser, request);
|
|
34
|
+
debug('Parsed request body', body);
|
|
34
35
|
return Object.assign(requestBody, body);
|
|
35
36
|
}
|
|
36
37
|
else {
|
|
37
38
|
const parser = this._findParser(matchedMediaType);
|
|
38
39
|
if (parser) {
|
|
39
40
|
const body = await parser.parse(request);
|
|
41
|
+
debug('Parsed request body', body);
|
|
40
42
|
return Object.assign(requestBody, body);
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
}
|
|
44
46
|
catch (err) {
|
|
47
|
+
debug('Request body parsing error', err);
|
|
45
48
|
throw body_parser_helpers_1.normalizeParsingError(err);
|
|
46
49
|
}
|
|
47
50
|
throw rest_http_error_1.RestHttpErrors.unsupportedMediaType(matchedMediaType);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body-parser.js","sourceRoot":"","sources":["../../src/body-parsers/body-parser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"body-parser.js","sourceRoot":"","sources":["../../src/body-parsers/body-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const openapi_v3_1 = require("@loopback/openapi-v3");
|
|
|
10
10
|
const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
11
11
|
const __1 = require("../");
|
|
12
12
|
const parse_json_1 = require("../parse-json");
|
|
13
|
+
const ajv_factory_provider_1 = require("../validation/ajv-factory.provider");
|
|
13
14
|
const utils_1 = require("./utils");
|
|
14
15
|
const validator_1 = require("./validator");
|
|
15
16
|
const isRFC3339 = require('validator/lib/isRFC3339');
|
|
@@ -123,7 +124,7 @@ function coerceBoolean(data, spec) {
|
|
|
123
124
|
return false;
|
|
124
125
|
throw __1.RestHttpErrors.invalidData(data, spec.name);
|
|
125
126
|
}
|
|
126
|
-
async function coerceObject(input, spec, options) {
|
|
127
|
+
async function coerceObject(input, spec, options = ajv_factory_provider_1.DEFAULT_AJV_VALIDATION_OPTIONS) {
|
|
127
128
|
const data = parseJsonIfNeeded(input, spec);
|
|
128
129
|
if (data == null) {
|
|
129
130
|
// Skip any further checks and coercions, nothing we can do with `undefined`
|
|
@@ -134,7 +135,7 @@ async function coerceObject(input, spec, options) {
|
|
|
134
135
|
const schema = extractSchemaFromSpec(spec);
|
|
135
136
|
if (schema) {
|
|
136
137
|
// Apply coercion based on properties defined by spec.schema
|
|
137
|
-
await __1.validateValueAgainstSchema(data, schema, {}, { ...options, coerceTypes: true, source: 'parameter' });
|
|
138
|
+
await __1.validateValueAgainstSchema(data, schema, {}, { ...options, coerceTypes: true, source: 'parameter', name: spec.name });
|
|
138
139
|
}
|
|
139
140
|
return data;
|
|
140
141
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerce-parameter.js","sourceRoot":"","sources":["../../src/coercion/coerce-parameter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"coerce-parameter.js","sourceRoot":"","sources":["../../src/coercion/coerce-parameter.ts"],"names":[],"mappings":"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"}
|
package/dist/coercion/utils.d.ts
CHANGED
|
@@ -40,4 +40,4 @@ export declare function matchDateFormat(date: string): boolean;
|
|
|
40
40
|
* @param type - The type in an OpenAPI schema specification
|
|
41
41
|
* @param format - The format in an OpenAPI schema specification
|
|
42
42
|
*/
|
|
43
|
-
export declare function getOAIPrimitiveType(type?: string, format?: string): "object" | "boolean" | "string" | "number" | "array" | "
|
|
43
|
+
export declare function getOAIPrimitiveType(type?: string, format?: string): "object" | "boolean" | "string" | "number" | "array" | "binary" | "byte" | "date" | "date-time" | "password" | "float" | "double" | "long" | "integer" | undefined;
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
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.HttpErrors = void 0;
|
|
7
|
+
exports.HttpErrors = exports.writeErrorToResponse = void 0;
|
|
8
8
|
const tslib_1 = require("tslib");
|
|
9
9
|
/**
|
|
10
10
|
* The REST API package for loopback-next.
|
package/dist/keys.d.ts
CHANGED
|
@@ -8,9 +8,9 @@ import { ErrorWriterOptions } from 'strong-error-handler';
|
|
|
8
8
|
import { BodyParser, RequestBodyParser } from './body-parsers';
|
|
9
9
|
import { HttpHandler } from './http-handler';
|
|
10
10
|
import { RestServer, RestServerConfig } from './rest.server';
|
|
11
|
-
import { RestRouter, RestRouterOptions } from './router';
|
|
11
|
+
import { ResolvedRoute, RestRouter, RestRouterOptions } from './router';
|
|
12
12
|
import { SequenceHandler } from './sequence';
|
|
13
|
-
import { AjvFactory, FindRoute, InvokeMethod, LogError, ParseParams, Reject, Request, RequestBodyParserOptions, Response, Send } from './types';
|
|
13
|
+
import { AjvFactory, FindRoute, InvokeMethod, LogError, OperationArgs, ParseParams, Reject, Request, RequestBodyParserOptions, Response, Send } from './types';
|
|
14
14
|
/**
|
|
15
15
|
* RestServer-specific bindings
|
|
16
16
|
*/
|
|
@@ -113,12 +113,17 @@ export declare namespace RestBindings {
|
|
|
113
113
|
* Binding key for setting and injecting a Sequence
|
|
114
114
|
*/
|
|
115
115
|
const SEQUENCE: BindingKey<SequenceHandler>;
|
|
116
|
+
/**
|
|
117
|
+
* Binding key for setting and injecting a `invokeMiddleware` function for
|
|
118
|
+
* middleware based sequence
|
|
119
|
+
*/
|
|
120
|
+
const INVOKE_MIDDLEWARE_SERVICE: BindingKey<InvokeMiddleware>;
|
|
116
121
|
/**
|
|
117
122
|
* Bindings for potential actions that could be used in a sequence
|
|
118
123
|
*/
|
|
119
124
|
namespace SequenceActions {
|
|
120
125
|
/**
|
|
121
|
-
* Binding key for setting and injecting
|
|
126
|
+
* Binding key for setting and injecting `invokeMiddleware` function
|
|
122
127
|
*/
|
|
123
128
|
const INVOKE_MIDDLEWARE: BindingKey<InvokeMiddleware>;
|
|
124
129
|
/**
|
|
@@ -146,6 +151,11 @@ export declare namespace RestBindings {
|
|
|
146
151
|
*/
|
|
147
152
|
const REJECT: BindingKey<Reject>;
|
|
148
153
|
}
|
|
154
|
+
namespace Operation {
|
|
155
|
+
const ROUTE: BindingKey<ResolvedRoute>;
|
|
156
|
+
const PARAMS: BindingKey<OperationArgs>;
|
|
157
|
+
const RETURN_VALUE: BindingKey<any>;
|
|
158
|
+
}
|
|
149
159
|
/**
|
|
150
160
|
* Request-specific bindings
|
|
151
161
|
*/
|
|
@@ -195,4 +205,9 @@ export declare namespace RestTags {
|
|
|
195
205
|
const CONTROLLER_BINDING = "controllerBinding";
|
|
196
206
|
const AJV_KEYWORD = "ajvKeyword";
|
|
197
207
|
const AJV_FORMAT = "ajvFormat";
|
|
208
|
+
const REST_MIDDLEWARE_CHAIN = "middlewareChain.default";
|
|
209
|
+
/**
|
|
210
|
+
* Legacy middleware chain for action-based REST sequence
|
|
211
|
+
*/
|
|
212
|
+
const ACTION_MIDDLEWARE_CHAIN = "middlewareChain.rest.actions";
|
|
198
213
|
}
|
package/dist/keys.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.RestTags = exports.RestBindings = void 0;
|
|
8
8
|
const core_1 = require("@loopback/core");
|
|
9
|
+
const express_1 = require("@loopback/express");
|
|
9
10
|
/**
|
|
10
11
|
* RestServer-specific bindings
|
|
11
12
|
*/
|
|
@@ -112,13 +113,18 @@ var RestBindings;
|
|
|
112
113
|
* Binding key for setting and injecting a Sequence
|
|
113
114
|
*/
|
|
114
115
|
RestBindings.SEQUENCE = core_1.BindingKey.create('rest.sequence');
|
|
116
|
+
/**
|
|
117
|
+
* Binding key for setting and injecting a `invokeMiddleware` function for
|
|
118
|
+
* middleware based sequence
|
|
119
|
+
*/
|
|
120
|
+
RestBindings.INVOKE_MIDDLEWARE_SERVICE = core_1.BindingKey.create('rest.invokeMiddleware');
|
|
115
121
|
/**
|
|
116
122
|
* Bindings for potential actions that could be used in a sequence
|
|
117
123
|
*/
|
|
118
124
|
let SequenceActions;
|
|
119
125
|
(function (SequenceActions) {
|
|
120
126
|
/**
|
|
121
|
-
* Binding key for setting and injecting
|
|
127
|
+
* Binding key for setting and injecting `invokeMiddleware` function
|
|
122
128
|
*/
|
|
123
129
|
SequenceActions.INVOKE_MIDDLEWARE = core_1.BindingKey.create('rest.sequence.actions.invokeMiddleware');
|
|
124
130
|
/**
|
|
@@ -146,6 +152,12 @@ var RestBindings;
|
|
|
146
152
|
*/
|
|
147
153
|
SequenceActions.REJECT = core_1.BindingKey.create('rest.sequence.actions.reject');
|
|
148
154
|
})(SequenceActions = RestBindings.SequenceActions || (RestBindings.SequenceActions = {}));
|
|
155
|
+
let Operation;
|
|
156
|
+
(function (Operation) {
|
|
157
|
+
Operation.ROUTE = core_1.BindingKey.create('rest.operation.route');
|
|
158
|
+
Operation.PARAMS = core_1.BindingKey.create('rest.operation.params');
|
|
159
|
+
Operation.RETURN_VALUE = core_1.BindingKey.create('rest.operation.returnValue');
|
|
160
|
+
})(Operation = RestBindings.Operation || (RestBindings.Operation = {}));
|
|
149
161
|
/**
|
|
150
162
|
* Request-specific bindings
|
|
151
163
|
*/
|
|
@@ -197,5 +209,10 @@ var RestTags;
|
|
|
197
209
|
RestTags.CONTROLLER_BINDING = 'controllerBinding';
|
|
198
210
|
RestTags.AJV_KEYWORD = 'ajvKeyword';
|
|
199
211
|
RestTags.AJV_FORMAT = 'ajvFormat';
|
|
212
|
+
RestTags.REST_MIDDLEWARE_CHAIN = express_1.DEFAULT_MIDDLEWARE_CHAIN;
|
|
213
|
+
/**
|
|
214
|
+
* Legacy middleware chain for action-based REST sequence
|
|
215
|
+
*/
|
|
216
|
+
RestTags.ACTION_MIDDLEWARE_CHAIN = 'middlewareChain.rest.actions';
|
|
200
217
|
})(RestTags = exports.RestTags || (exports.RestTags = {}));
|
|
201
218
|
//# sourceMappingURL=keys.js.map
|
package/dist/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;AAEhE,yCAAiE;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"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"}
|
package/dist/parser.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RequestBodyParser } from './body-parsers';
|
|
2
2
|
import { ResolvedRoute } from './router';
|
|
3
|
-
import { OperationArgs, Request,
|
|
3
|
+
import { OperationArgs, Request, ValidationOptions } from './types';
|
|
4
4
|
/**
|
|
5
5
|
* Parses the request to derive arguments to be passed in for the Application
|
|
6
6
|
* controller method
|
|
@@ -8,4 +8,4 @@ import { OperationArgs, Request, RequestBodyValidationOptions } from './types';
|
|
|
8
8
|
* @param request - Incoming HTTP request
|
|
9
9
|
* @param route - Resolved Route
|
|
10
10
|
*/
|
|
11
|
-
export declare function parseOperationArgs(request: Request, route: ResolvedRoute, requestBodyParser?: RequestBodyParser, options?:
|
|
11
|
+
export declare function parseOperationArgs(request: Request, route: ResolvedRoute, requestBodyParser?: RequestBodyParser, options?: ValidationOptions): Promise<OperationArgs>;
|
package/dist/parser.js
CHANGED
|
@@ -11,6 +11,7 @@ const debug_1 = tslib_1.__importDefault(require("debug"));
|
|
|
11
11
|
const body_parsers_1 = require("./body-parsers");
|
|
12
12
|
const coerce_parameter_1 = require("./coercion/coerce-parameter");
|
|
13
13
|
const rest_http_error_1 = require("./rest-http-error");
|
|
14
|
+
const ajv_factory_provider_1 = require("./validation/ajv-factory.provider");
|
|
14
15
|
const request_body_validator_1 = require("./validation/request-body.validator");
|
|
15
16
|
const debug = debug_1.default('loopback:rest:parser');
|
|
16
17
|
/**
|
|
@@ -20,7 +21,7 @@ const debug = debug_1.default('loopback:rest:parser');
|
|
|
20
21
|
* @param request - Incoming HTTP request
|
|
21
22
|
* @param route - Resolved Route
|
|
22
23
|
*/
|
|
23
|
-
async function parseOperationArgs(request, route, requestBodyParser = new body_parsers_1.RequestBodyParser(), options =
|
|
24
|
+
async function parseOperationArgs(request, route, requestBodyParser = new body_parsers_1.RequestBodyParser(), options = ajv_factory_provider_1.DEFAULT_AJV_VALIDATION_OPTIONS) {
|
|
24
25
|
debug('Parsing operation arguments for route %s', route.describe());
|
|
25
26
|
const operationSpec = route.spec;
|
|
26
27
|
const pathParams = route.pathParams;
|
|
@@ -28,7 +29,7 @@ async function parseOperationArgs(request, route, requestBodyParser = new body_p
|
|
|
28
29
|
return buildOperationArguments(operationSpec, request, pathParams, body, route.schemas, options);
|
|
29
30
|
}
|
|
30
31
|
exports.parseOperationArgs = parseOperationArgs;
|
|
31
|
-
async function buildOperationArguments(operationSpec, request, pathParams, body, globalSchemas, options =
|
|
32
|
+
async function buildOperationArguments(operationSpec, request, pathParams, body, globalSchemas, options = ajv_factory_provider_1.DEFAULT_AJV_VALIDATION_OPTIONS) {
|
|
32
33
|
var _a;
|
|
33
34
|
let requestBodyIndex = -1;
|
|
34
35
|
if (operationSpec.requestBody) {
|
package/dist/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,qDAM8B;AAC9B,0DAAiC;AACjC,iDAA8D;AAC9D,kEAA4D;AAC5D,uDAAiD;AAQjD,gFAAwE;AACxE,MAAM,KAAK,GAAG,eAAY,CAAC,sBAAsB,CAAC,CAAC;AAEnD;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACtC,OAAgB,EAChB,KAAoB,EACpB,oBAAuC,IAAI,gCAAiB,EAAE,EAC9D,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Context, Provider } from '@loopback/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Middleware } from '@loopback/express';
|
|
3
3
|
import { HttpHandler } from '../http-handler';
|
|
4
4
|
import { ResolvedRoute } from '../router';
|
|
5
|
+
import { FindRoute, Request } from '../types';
|
|
5
6
|
export declare class FindRouteProvider implements Provider<FindRoute> {
|
|
6
7
|
protected context: Context;
|
|
7
8
|
protected handler: HttpHandler;
|
|
@@ -9,3 +10,8 @@ export declare class FindRouteProvider implements Provider<FindRoute> {
|
|
|
9
10
|
value(): FindRoute;
|
|
10
11
|
action(request: Request): ResolvedRoute;
|
|
11
12
|
}
|
|
13
|
+
export declare class FindRouteMiddlewareProvider implements Provider<Middleware> {
|
|
14
|
+
protected findRoute: FindRoute;
|
|
15
|
+
constructor(findRoute: FindRoute);
|
|
16
|
+
value(): Middleware;
|
|
17
|
+
}
|
|
@@ -4,11 +4,15 @@
|
|
|
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.FindRouteProvider = void 0;
|
|
7
|
+
exports.FindRouteMiddlewareProvider = exports.FindRouteProvider = 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 http_handler_1 = require("../http-handler");
|
|
11
13
|
const keys_1 = require("../keys");
|
|
14
|
+
const sequence_1 = require("../sequence");
|
|
15
|
+
const debug = debug_1.default('loopback:rest:find-route');
|
|
12
16
|
let FindRouteProvider = class FindRouteProvider {
|
|
13
17
|
constructor(context, handler) {
|
|
14
18
|
this.context = context;
|
|
@@ -19,6 +23,7 @@ let FindRouteProvider = class FindRouteProvider {
|
|
|
19
23
|
}
|
|
20
24
|
action(request) {
|
|
21
25
|
const found = this.handler.findRoute(request);
|
|
26
|
+
debug('Route found for %s %s', request.method, request.originalUrl, found);
|
|
22
27
|
found.updateBindings(this.context);
|
|
23
28
|
return found;
|
|
24
29
|
}
|
|
@@ -30,4 +35,27 @@ FindRouteProvider = tslib_1.__decorate([
|
|
|
30
35
|
http_handler_1.HttpHandler])
|
|
31
36
|
], FindRouteProvider);
|
|
32
37
|
exports.FindRouteProvider = FindRouteProvider;
|
|
38
|
+
let FindRouteMiddlewareProvider = class FindRouteMiddlewareProvider {
|
|
39
|
+
constructor(findRoute) {
|
|
40
|
+
this.findRoute = findRoute;
|
|
41
|
+
}
|
|
42
|
+
value() {
|
|
43
|
+
return async (ctx, next) => {
|
|
44
|
+
debug('Finding route for %s %s', ctx.request.method, ctx.request.originalUrl);
|
|
45
|
+
const route = this.findRoute(ctx.request);
|
|
46
|
+
debug('Route found', route);
|
|
47
|
+
ctx.bind(keys_1.RestBindings.Operation.ROUTE).to(route);
|
|
48
|
+
return next();
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
FindRouteMiddlewareProvider = tslib_1.__decorate([
|
|
53
|
+
core_1.bind(express_1.asMiddleware({
|
|
54
|
+
group: sequence_1.RestMiddlewareGroups.FIND_ROUTE,
|
|
55
|
+
chain: keys_1.RestTags.REST_MIDDLEWARE_CHAIN,
|
|
56
|
+
})),
|
|
57
|
+
tslib_1.__param(0, core_1.inject(keys_1.RestBindings.SequenceActions.FIND_ROUTE)),
|
|
58
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
59
|
+
], FindRouteMiddlewareProvider);
|
|
60
|
+
exports.FindRouteMiddlewareProvider = FindRouteMiddlewareProvider;
|
|
33
61
|
//# sourceMappingURL=find-route.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-route.provider.js","sourceRoot":"","sources":["../../src/providers/find-route.provider.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,
|
|
1
|
+
{"version":3,"file":"find-route.provider.js","sourceRoot":"","sources":["../../src/providers/find-route.provider.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA+D;AAC/D,+CAA2D;AAC3D,0DAAiC;AACjC,kDAA4C;AAC5C,kCAA+C;AAE/C,0CAAiD;AAGjD,MAAM,KAAK,GAAG,eAAY,CAAC,0BAA0B,CAAC,CAAC;AAEvD,IAAa,iBAAiB,GAA9B,MAAa,iBAAiB;IAC5B,YAC+C,OAAgB,EACrB,OAAoB;QADf,YAAO,GAAP,OAAO,CAAS;QACrB,YAAO,GAAP,OAAO,CAAa;IAC3D,CAAC;IAEJ,KAAK;QACH,OAAO,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,OAAgB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC3E,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AAhBY,iBAAiB;IAEzB,mBAAA,aAAM,CAAC,mBAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACjC,mBAAA,aAAM,CAAC,mBAAY,CAAC,OAAO,CAAC,CAAA;6CADyB,cAAO;QACZ,0BAAW;GAHnD,iBAAiB,CAgB7B;AAhBY,8CAAiB;AAwB9B,IAAa,2BAA2B,GAAxC,MAAa,2BAA2B;IACtC,YAEY,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAC7B,CAAC;IAEJ,KAAK;QACH,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,KAAK,CACH,yBAAyB,EACzB,GAAG,CAAC,OAAO,CAAC,MAAM,EAClB,GAAG,CAAC,OAAO,CAAC,WAAW,CACxB,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1C,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,CAAC,mBAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACjD,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAnBY,2BAA2B;IANvC,WAAI,CACH,sBAAY,CAAC;QACX,KAAK,EAAE,+BAAoB,CAAC,UAAU;QACtC,KAAK,EAAE,eAAQ,CAAC,qBAAqB;KACtC,CAAC,CACH;IAGI,mBAAA,aAAM,CAAC,mBAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;;GAFvC,2BAA2B,CAmBvC;AAnBY,kEAA2B"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import { Context, Provider } from '@loopback/core';
|
|
2
|
-
import {
|
|
2
|
+
import { Middleware } from '@loopback/express';
|
|
3
3
|
import { RouteEntry } from '../router';
|
|
4
|
+
import { InvokeMethod, OperationArgs, OperationRetval } from '../types';
|
|
4
5
|
export declare class InvokeMethodProvider implements Provider<InvokeMethod> {
|
|
5
6
|
protected context: Context;
|
|
6
7
|
constructor(context: Context);
|
|
7
8
|
value(): InvokeMethod;
|
|
8
9
|
action(route: RouteEntry, args: OperationArgs): Promise<OperationRetval>;
|
|
9
10
|
}
|
|
11
|
+
export declare class InvokeMethodMiddlewareProvider implements Provider<Middleware> {
|
|
12
|
+
protected invokeMethod: InvokeMethod;
|
|
13
|
+
constructor(invokeMethod: InvokeMethod);
|
|
14
|
+
value(): Middleware;
|
|
15
|
+
}
|
|
@@ -4,10 +4,14 @@
|
|
|
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.InvokeMethodProvider = void 0;
|
|
7
|
+
exports.InvokeMethodMiddlewareProvider = exports.InvokeMethodProvider = 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 keys_1 = require("../keys");
|
|
13
|
+
const sequence_1 = require("../sequence");
|
|
14
|
+
const debug = debug_1.default('loopback:rest:invoke-method');
|
|
11
15
|
let InvokeMethodProvider = class InvokeMethodProvider {
|
|
12
16
|
constructor(context) {
|
|
13
17
|
this.context = context;
|
|
@@ -24,4 +28,42 @@ InvokeMethodProvider = tslib_1.__decorate([
|
|
|
24
28
|
tslib_1.__metadata("design:paramtypes", [core_1.Context])
|
|
25
29
|
], InvokeMethodProvider);
|
|
26
30
|
exports.InvokeMethodProvider = InvokeMethodProvider;
|
|
31
|
+
let InvokeMethodMiddlewareProvider = class InvokeMethodMiddlewareProvider {
|
|
32
|
+
constructor(invokeMethod) {
|
|
33
|
+
this.invokeMethod = invokeMethod;
|
|
34
|
+
}
|
|
35
|
+
value() {
|
|
36
|
+
return async (ctx, next) => {
|
|
37
|
+
const route = await ctx.get(keys_1.RestBindings.Operation.ROUTE);
|
|
38
|
+
const params = await ctx.get(keys_1.RestBindings.Operation.PARAMS);
|
|
39
|
+
if (debug.enabled) {
|
|
40
|
+
debug('Invoking method %s with', route.describe(), params);
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const retVal = await this.invokeMethod(route, params);
|
|
44
|
+
ctx.bind(keys_1.RestBindings.Operation.RETURN_VALUE).to(retVal);
|
|
45
|
+
if (debug.enabled) {
|
|
46
|
+
debug('Return value from %s', route.describe(), retVal);
|
|
47
|
+
}
|
|
48
|
+
return retVal;
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
if (debug.enabled) {
|
|
52
|
+
debug('Error thrown from %s', route.describe(), err);
|
|
53
|
+
}
|
|
54
|
+
throw err;
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
InvokeMethodMiddlewareProvider = tslib_1.__decorate([
|
|
60
|
+
core_1.bind(express_1.asMiddleware({
|
|
61
|
+
group: sequence_1.RestMiddlewareGroups.INVOKE_METHOD,
|
|
62
|
+
upstreamGroups: sequence_1.RestMiddlewareGroups.PARSE_PARAMS,
|
|
63
|
+
chain: keys_1.RestTags.REST_MIDDLEWARE_CHAIN,
|
|
64
|
+
})),
|
|
65
|
+
tslib_1.__param(0, core_1.inject(keys_1.RestBindings.SequenceActions.INVOKE_METHOD)),
|
|
66
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
67
|
+
], InvokeMethodMiddlewareProvider);
|
|
68
|
+
exports.InvokeMethodMiddlewareProvider = InvokeMethodMiddlewareProvider;
|
|
27
69
|
//# sourceMappingURL=invoke-method.provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-method.provider.js","sourceRoot":"","sources":["../../src/providers/invoke-method.provider.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,
|
|
1
|
+
{"version":3,"file":"invoke-method.provider.js","sourceRoot":"","sources":["../../src/providers/invoke-method.provider.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;AAEhE,yCAA+D;AAC/D,+CAA2D;AAC3D,0DAAiC;AACjC,kCAA+C;AAE/C,0CAAiD;AAGjD,MAAM,KAAK,GAAG,eAAY,CAAC,6BAA6B,CAAC,CAAC;AAE1D,IAAa,oBAAoB,GAAjC,MAAa,oBAAoB;IAC/B,YAAyD,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE7E,KAAK;QACH,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAiB,EAAE,IAAmB;QAC3C,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAVY,oBAAoB;IAClB,mBAAA,aAAM,CAAC,mBAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;6CAAoB,cAAO;GAD9D,oBAAoB,CAUhC;AAVY,oDAAoB;AAmBjC,IAAa,8BAA8B,GAA3C,MAAa,8BAA8B;IACzC,YAEY,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IACnC,CAAC;IAEJ,KAAK;QACH,OAAO,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;YACzB,MAAM,KAAK,GAAe,MAAM,GAAG,CAAC,GAAG,CAAC,mBAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,MAAM,GAAkB,MAAM,GAAG,CAAC,GAAG,CACzC,mBAAY,CAAC,SAAS,CAAC,MAAM,CAC9B,CAAC;YACF,IAAI,KAAK,CAAC,OAAO,EAAE;gBACjB,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;aAC5D;YACD,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACtD,GAAG,CAAC,IAAI,CAAC,mBAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,KAAK,CAAC,OAAO,EAAE;oBACjB,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;iBACzD;gBACD,OAAO,MAAM,CAAC;aACf;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,KAAK,CAAC,OAAO,EAAE;oBACjB,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;iBACtD;gBACD,MAAM,GAAG,CAAC;aACX;QACH,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AA9BY,8BAA8B;IAP1C,WAAI,CACH,sBAAY,CAAC;QACX,KAAK,EAAE,+BAAoB,CAAC,aAAa;QACzC,cAAc,EAAE,+BAAoB,CAAC,YAAY;QACjD,KAAK,EAAE,eAAQ,CAAC,qBAAqB;KACtC,CAAC,CACH;IAGI,mBAAA,aAAM,CAAC,mBAAY,CAAC,eAAe,CAAC,aAAa,CAAC,CAAA;;GAF1C,8BAA8B,CA8B1C;AA9BY,wEAA8B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Provider } from '@loopback/core';
|
|
2
|
+
import { Middleware } from '@loopback/express';
|
|
2
3
|
import { RequestBodyParser } from '../body-parsers';
|
|
3
|
-
import { AjvFactory, ParseParams,
|
|
4
|
+
import { AjvFactory, ParseParams, ValidationOptions } from '../types';
|
|
4
5
|
/**
|
|
5
6
|
* Provides the function for parsing args in requests at runtime.
|
|
6
7
|
*
|
|
@@ -10,6 +11,11 @@ export declare class ParseParamsProvider implements Provider<ParseParams> {
|
|
|
10
11
|
private requestBodyParser;
|
|
11
12
|
private validationOptions;
|
|
12
13
|
private ajvFactory?;
|
|
13
|
-
constructor(requestBodyParser: RequestBodyParser, validationOptions?:
|
|
14
|
+
constructor(requestBodyParser: RequestBodyParser, validationOptions?: ValidationOptions, ajvFactory?: AjvFactory | undefined);
|
|
14
15
|
value(): ParseParams;
|
|
15
16
|
}
|
|
17
|
+
export declare class ParseParamsMiddlewareProvider implements Provider<Middleware> {
|
|
18
|
+
protected parseParams: ParseParams;
|
|
19
|
+
constructor(parseParams: ParseParams);
|
|
20
|
+
value(): Middleware;
|
|
21
|
+
}
|