@loopback/rest 4.0.0-alpha.8 → 5.0.1
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 +1822 -0
- package/LICENSE +1 -1
- package/README.md +30 -58
- package/dist/body-parsers/body-parser.d.ts +25 -0
- package/dist/body-parsers/body-parser.helpers.d.ts +44 -0
- package/dist/body-parsers/body-parser.helpers.js +102 -0
- package/dist/body-parsers/body-parser.helpers.js.map +1 -0
- package/dist/body-parsers/body-parser.js +159 -0
- package/dist/body-parsers/body-parser.js.map +1 -0
- package/dist/body-parsers/body-parser.json.d.ts +9 -0
- package/dist/body-parsers/body-parser.json.js +43 -0
- package/dist/body-parsers/body-parser.json.js.map +1 -0
- package/dist/body-parsers/body-parser.raw.d.ts +12 -0
- package/dist/body-parsers/body-parser.raw.js +39 -0
- package/dist/body-parsers/body-parser.raw.js.map +1 -0
- package/dist/body-parsers/body-parser.stream.d.ts +12 -0
- package/dist/body-parsers/body-parser.stream.js +28 -0
- package/dist/body-parsers/body-parser.stream.js.map +1 -0
- package/dist/body-parsers/body-parser.text.d.ts +9 -0
- package/dist/body-parsers/body-parser.text.js +38 -0
- package/dist/body-parsers/body-parser.text.js.map +1 -0
- package/dist/body-parsers/body-parser.urlencoded.d.ts +9 -0
- package/dist/body-parsers/body-parser.urlencoded.js +36 -0
- package/dist/body-parsers/body-parser.urlencoded.js.map +1 -0
- package/dist/body-parsers/index.d.ts +8 -0
- package/dist/body-parsers/index.js +16 -0
- package/dist/body-parsers/index.js.map +1 -0
- package/dist/body-parsers/types.d.ts +51 -0
- package/dist/body-parsers/types.js +12 -0
- package/dist/body-parsers/types.js.map +1 -0
- package/dist/coercion/coerce-parameter.d.ts +9 -0
- package/dist/coercion/coerce-parameter.js +166 -0
- package/dist/coercion/coerce-parameter.js.map +1 -0
- package/dist/coercion/utils.d.ts +43 -0
- package/dist/coercion/utils.js +96 -0
- package/dist/coercion/utils.js.map +1 -0
- package/dist/coercion/validator.d.ts +49 -0
- package/dist/coercion/validator.js +85 -0
- package/dist/coercion/validator.js.map +1 -0
- package/dist/http-handler.d.ts +38 -0
- package/dist/http-handler.js +68 -0
- package/dist/http-handler.js.map +1 -0
- package/dist/index.d.ts +36 -1
- package/dist/index.js +40 -6
- package/dist/index.js.map +1 -0
- package/dist/keys.d.ts +198 -0
- package/dist/keys.js +202 -0
- package/dist/keys.js.map +1 -0
- package/dist/parse-json.d.ts +11 -0
- package/dist/parse-json.js +42 -0
- package/dist/parse-json.js.map +1 -0
- package/dist/parser.d.ts +11 -0
- package/dist/parser.js +76 -0
- package/dist/parser.js.map +1 -0
- package/{dist6/src/providers/find-route.d.ts → dist/providers/find-route.provider.d.ts} +3 -1
- package/dist/providers/find-route.provider.js +36 -0
- package/dist/providers/find-route.provider.js.map +1 -0
- package/dist/providers/index.d.ts +6 -0
- package/dist/providers/index.js +14 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/{src/providers/invoke-method.d.ts → providers/invoke-method.provider.d.ts} +3 -1
- package/dist/providers/invoke-method.provider.js +30 -0
- package/dist/providers/invoke-method.provider.js.map +1 -0
- package/dist/providers/log-error.provider.d.ts +6 -0
- package/dist/providers/log-error.provider.js +21 -0
- package/dist/providers/log-error.provider.js.map +1 -0
- package/dist/providers/parse-params.provider.d.ts +15 -0
- package/dist/providers/parse-params.provider.js +41 -0
- package/dist/providers/parse-params.provider.js.map +1 -0
- package/dist/providers/reject.provider.d.ts +10 -0
- package/dist/providers/reject.provider.js +47 -0
- package/dist/providers/reject.provider.js.map +1 -0
- package/dist/{src/providers/send.d.ts → providers/send.provider.d.ts} +1 -4
- package/dist/{src/providers/send.js → providers/send.provider.js} +4 -6
- package/dist/providers/send.provider.js.map +1 -0
- package/dist/request-context.d.ts +36 -0
- package/dist/request-context.js +104 -0
- package/dist/request-context.js.map +1 -0
- package/dist/rest-http-error.d.ts +37 -0
- package/dist/rest-http-error.js +51 -0
- package/dist/rest-http-error.js.map +1 -0
- package/dist/rest.application.d.ts +232 -0
- package/dist/rest.application.js +174 -0
- package/dist/rest.application.js.map +1 -0
- package/dist/rest.component.d.ts +15 -0
- package/dist/rest.component.js +72 -0
- package/dist/rest.component.js.map +1 -0
- package/dist/rest.server.d.ts +443 -0
- package/dist/rest.server.js +748 -0
- package/dist/rest.server.js.map +1 -0
- package/dist/router/base-route.d.ts +29 -0
- package/dist/router/base-route.js +41 -0
- package/dist/router/base-route.js.map +1 -0
- package/dist/router/controller-route.d.ts +61 -0
- package/dist/router/controller-route.js +160 -0
- package/dist/router/controller-route.js.map +1 -0
- package/dist/router/external-express-routes.d.ts +24 -0
- package/dist/router/external-express-routes.js +90 -0
- package/dist/router/external-express-routes.js.map +1 -0
- package/dist/router/handler-route.d.ts +12 -0
- package/dist/router/handler-route.js +30 -0
- package/dist/router/handler-route.js.map +1 -0
- package/dist/router/index.d.ts +14 -0
- package/dist/router/index.js +25 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/openapi-path.d.ts +14 -0
- package/dist/router/openapi-path.js +64 -0
- package/dist/router/openapi-path.js.map +1 -0
- package/dist/router/redirect-route.d.ts +23 -0
- package/dist/router/redirect-route.js +50 -0
- package/dist/router/redirect-route.js.map +1 -0
- package/dist/router/regexp-router.d.ts +25 -0
- package/dist/router/regexp-router.js +84 -0
- package/dist/router/regexp-router.js.map +1 -0
- package/dist/router/rest-router.d.ts +35 -0
- package/dist/{src/internal-types.js → router/rest-router.js} +2 -2
- package/dist/router/rest-router.js.map +1 -0
- package/dist/router/route-entry.d.ts +46 -0
- package/dist/router/route-entry.js +20 -0
- package/dist/router/route-entry.js.map +1 -0
- package/dist/router/route-sort.d.ts +7 -0
- package/dist/router/route-sort.js +75 -0
- package/dist/router/route-sort.js.map +1 -0
- package/dist/router/router-base.d.ts +42 -0
- package/dist/router/router-base.js +101 -0
- package/dist/router/router-base.js.map +1 -0
- package/dist/router/router-spec.d.ts +3 -0
- package/dist/router/router-spec.js +40 -0
- package/dist/router/router-spec.js.map +1 -0
- package/dist/router/routing-table.d.ts +32 -0
- package/dist/router/routing-table.js +86 -0
- package/dist/router/routing-table.js.map +1 -0
- package/dist/router/trie-router.d.ts +13 -0
- package/dist/router/trie-router.js +55 -0
- package/dist/router/trie-router.js.map +1 -0
- package/dist/router/trie.d.ts +59 -0
- package/dist/router/trie.js +180 -0
- package/dist/router/trie.js.map +1 -0
- package/{dist6/src → dist}/sequence.d.ts +28 -23
- package/dist/sequence.js +112 -0
- package/dist/sequence.js.map +1 -0
- package/dist/spec-enhancers/consolidate.spec-enhancer.d.ts +68 -0
- package/dist/spec-enhancers/consolidate.spec-enhancer.js +145 -0
- package/dist/spec-enhancers/consolidate.spec-enhancer.js.map +1 -0
- package/dist/spec-enhancers/info.spec-enhancer.d.ts +19 -0
- package/dist/spec-enhancers/info.spec-enhancer.js +89 -0
- package/dist/spec-enhancers/info.spec-enhancer.js.map +1 -0
- package/dist/types.d.ts +178 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/validation/ajv-factory.provider.d.ts +12 -0
- package/dist/validation/ajv-factory.provider.js +87 -0
- package/dist/validation/ajv-factory.provider.js.map +1 -0
- package/dist/validation/request-body.validator.d.ts +14 -0
- package/dist/validation/request-body.validator.js +161 -0
- package/dist/validation/request-body.validator.js.map +1 -0
- package/dist/writer.d.ts +9 -0
- package/dist/writer.js +62 -0
- package/dist/writer.js.map +1 -0
- package/package.json +66 -38
- package/src/body-parsers/body-parser.helpers.ts +148 -0
- package/src/body-parsers/body-parser.json.ts +46 -0
- package/src/body-parsers/body-parser.raw.ts +42 -0
- package/src/body-parsers/body-parser.stream.ts +27 -0
- package/src/body-parsers/body-parser.text.ts +44 -0
- package/src/body-parsers/body-parser.ts +208 -0
- package/src/body-parsers/body-parser.urlencoded.ts +42 -0
- package/src/body-parsers/index.ts +13 -0
- package/src/body-parsers/types.ts +60 -0
- package/src/coercion/coerce-parameter.ts +207 -0
- package/src/coercion/utils.ts +103 -0
- package/src/coercion/validator.ts +98 -0
- package/src/http-handler.ts +84 -41
- package/src/index.ts +37 -30
- package/src/keys.ts +273 -20
- package/src/parse-json.ts +42 -0
- package/src/parser.ts +89 -104
- package/src/providers/{find-route.ts → find-route.provider.ts} +10 -7
- package/src/providers/index.ts +7 -9
- package/src/providers/{invoke-method.ts → invoke-method.provider.ts} +8 -5
- package/src/providers/log-error.provider.ts +27 -0
- package/src/providers/parse-params.provider.ts +42 -0
- package/src/providers/reject.provider.ts +44 -0
- package/src/providers/{send.ts → send.provider.ts} +2 -5
- package/src/request-context.ts +123 -0
- package/src/rest-http-error.ts +87 -0
- package/src/rest.application.ts +390 -0
- package/src/rest.component.ts +111 -0
- package/src/rest.server.ts +1192 -0
- package/src/router/base-route.ts +53 -0
- package/src/router/controller-route.ts +241 -0
- package/src/router/external-express-routes.ts +139 -0
- package/src/router/handler-route.ts +44 -0
- package/src/router/index.ts +24 -0
- package/src/router/openapi-path.ts +67 -0
- package/src/router/redirect-route.ts +64 -0
- package/src/router/regexp-router.ts +104 -0
- package/src/router/rest-router.ts +48 -0
- package/src/router/route-entry.ts +74 -0
- package/src/router/route-sort.ts +74 -0
- package/src/router/router-base.ts +124 -0
- package/src/router/router-spec.ts +36 -0
- package/src/router/routing-table.ts +83 -279
- package/src/router/trie-router.ts +57 -0
- package/src/router/trie.ts +233 -0
- package/src/sequence.ts +44 -37
- package/src/spec-enhancers/consolidate.spec-enhancer.ts +182 -0
- package/src/spec-enhancers/info.spec-enhancer.ts +92 -0
- package/src/types.ts +216 -0
- package/src/validation/ajv-factory.provider.ts +94 -0
- package/src/validation/request-body.validator.ts +208 -0
- package/src/writer.ts +41 -68
- package/api-docs/.DS_Store +0 -0
- package/api-docs/apple-touch-icon-114x114-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-144x144-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-57x57-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-72x72-precomposed.png +0 -0
- package/api-docs/apple-touch-icon-precomposed.png +0 -0
- package/api-docs/apple-touch-icon.png +0 -0
- package/api-docs/css/bootstrap.min.css +0 -9
- package/api-docs/css/code-themes/arta.css +0 -158
- package/api-docs/css/code-themes/ascetic.css +0 -50
- package/api-docs/css/code-themes/brown_paper.css +0 -104
- package/api-docs/css/code-themes/brown_papersq.png +0 -0
- package/api-docs/css/code-themes/dark.css +0 -103
- package/api-docs/css/code-themes/default.css +0 -135
- package/api-docs/css/code-themes/far.css +0 -111
- package/api-docs/css/code-themes/github.css +0 -127
- package/api-docs/css/code-themes/googlecode.css +0 -144
- package/api-docs/css/code-themes/idea.css +0 -121
- package/api-docs/css/code-themes/ir_black.css +0 -104
- package/api-docs/css/code-themes/magula.css +0 -121
- package/api-docs/css/code-themes/monokai.css +0 -114
- package/api-docs/css/code-themes/pojoaque.css +0 -104
- package/api-docs/css/code-themes/pojoaque.jpg +0 -0
- package/api-docs/css/code-themes/rainbow.css +0 -114
- package/api-docs/css/code-themes/school_book.css +0 -111
- package/api-docs/css/code-themes/school_book.png +0 -0
- package/api-docs/css/code-themes/sl-theme.css +0 -45
- package/api-docs/css/code-themes/solarized_dark.css +0 -88
- package/api-docs/css/code-themes/solarized_light.css +0 -88
- package/api-docs/css/code-themes/sunburst.css +0 -158
- package/api-docs/css/code-themes/tomorrow-night-blue.css +0 -52
- package/api-docs/css/code-themes/tomorrow-night-bright.css +0 -51
- package/api-docs/css/code-themes/tomorrow-night-eighties.css +0 -51
- package/api-docs/css/code-themes/tomorrow-night.css +0 -52
- package/api-docs/css/code-themes/tomorrow.css +0 -49
- package/api-docs/css/code-themes/vs.css +0 -86
- package/api-docs/css/code-themes/xcode.css +0 -154
- package/api-docs/css/code-themes/zenburn.css +0 -115
- package/api-docs/css/main.css +0 -139
- package/api-docs/favicon.ico +0 -0
- package/api-docs/fonts/0ihfXUL2emPh0ROJezvraLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/fonts/OsJ2DjdpjqFRVUSto6IffLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/fonts/_aijTyevf54tkVDLy-dlnLO3LdcAZYWl9Si6vvxL-qU.woff +0 -0
- package/api-docs/index.html +0 -7082
- package/api-docs/js/main.js +0 -19
- package/api-docs/js/vendor/bootstrap.min.js +0 -6
- package/api-docs/js/vendor/jquery-1.10.1.min.js +0 -6
- package/api-docs/js/vendor/jquery.scrollTo-1.4.3.1.js +0 -218
- package/api-docs/js/vendor/modernizr-2.6.2-respond-1.1.0.min.js +0 -11
- package/dist/src/http-handler.d.ts +0 -19
- package/dist/src/http-handler.js +0 -43
- package/dist/src/http-handler.js.map +0 -1
- package/dist/src/index.d.ts +0 -14
- package/dist/src/index.js +0 -33
- package/dist/src/index.js.map +0 -1
- package/dist/src/internal-types.d.ts +0 -67
- package/dist/src/internal-types.js.map +0 -1
- package/dist/src/keys.d.ts +0 -22
- package/dist/src/keys.js +0 -35
- package/dist/src/keys.js.map +0 -1
- package/dist/src/parser.d.ts +0 -11
- package/dist/src/parser.js +0 -98
- package/dist/src/parser.js.map +0 -1
- package/dist/src/providers/bind-element.d.ts +0 -7
- package/dist/src/providers/bind-element.js +0 -34
- package/dist/src/providers/bind-element.js.map +0 -1
- package/dist/src/providers/find-route.d.ts +0 -9
- package/dist/src/providers/find-route.js +0 -42
- package/dist/src/providers/find-route.js.map +0 -1
- package/dist/src/providers/get-from-context.d.ts +0 -7
- package/dist/src/providers/get-from-context.js +0 -34
- package/dist/src/providers/get-from-context.js.map +0 -1
- package/dist/src/providers/index.d.ts +0 -8
- package/dist/src/providers/index.js +0 -18
- package/dist/src/providers/index.js.map +0 -1
- package/dist/src/providers/invoke-method.js +0 -36
- package/dist/src/providers/invoke-method.js.map +0 -1
- package/dist/src/providers/log-error-provider.d.ts +0 -6
- package/dist/src/providers/log-error-provider.js +0 -17
- package/dist/src/providers/log-error-provider.js.map +0 -1
- package/dist/src/providers/parse-params.d.ts +0 -13
- package/dist/src/providers/parse-params.js +0 -22
- package/dist/src/providers/parse-params.js.map +0 -1
- package/dist/src/providers/reject.d.ts +0 -6
- package/dist/src/providers/reject.js +0 -40
- package/dist/src/providers/reject.js.map +0 -1
- package/dist/src/providers/send.js.map +0 -1
- package/dist/src/rest-component.d.ts +0 -12
- package/dist/src/rest-component.js +0 -50
- package/dist/src/rest-component.js.map +0 -1
- package/dist/src/rest-server.d.ts +0 -211
- package/dist/src/rest-server.js +0 -426
- package/dist/src/rest-server.js.map +0 -1
- package/dist/src/router/metadata.d.ts +0 -150
- package/dist/src/router/metadata.js +0 -410
- package/dist/src/router/metadata.js.map +0 -1
- package/dist/src/router/routing-table.d.ts +0 -68
- package/dist/src/router/routing-table.js +0 -204
- package/dist/src/router/routing-table.js.map +0 -1
- package/dist/src/sequence.d.ts +0 -81
- package/dist/src/sequence.js +0 -104
- package/dist/src/sequence.js.map +0 -1
- package/dist/src/writer.d.ts +0 -17
- package/dist/src/writer.js +0 -87
- package/dist/src/writer.js.map +0 -1
- package/dist6/index.d.ts +0 -1
- package/dist6/index.js +0 -12
- package/dist6/src/http-handler.d.ts +0 -19
- package/dist6/src/http-handler.js +0 -53
- package/dist6/src/http-handler.js.map +0 -1
- package/dist6/src/index.d.ts +0 -14
- package/dist6/src/index.js +0 -33
- package/dist6/src/index.js.map +0 -1
- package/dist6/src/internal-types.d.ts +0 -67
- package/dist6/src/internal-types.js +0 -7
- package/dist6/src/internal-types.js.map +0 -1
- package/dist6/src/keys.d.ts +0 -22
- package/dist6/src/keys.js +0 -35
- package/dist6/src/keys.js.map +0 -1
- package/dist6/src/parser.d.ts +0 -11
- package/dist6/src/parser.js +0 -108
- package/dist6/src/parser.js.map +0 -1
- package/dist6/src/providers/bind-element.d.ts +0 -7
- package/dist6/src/providers/bind-element.js +0 -34
- package/dist6/src/providers/bind-element.js.map +0 -1
- package/dist6/src/providers/find-route.js +0 -42
- package/dist6/src/providers/find-route.js.map +0 -1
- package/dist6/src/providers/get-from-context.d.ts +0 -7
- package/dist6/src/providers/get-from-context.js +0 -34
- package/dist6/src/providers/get-from-context.js.map +0 -1
- package/dist6/src/providers/index.d.ts +0 -8
- package/dist6/src/providers/index.js +0 -18
- package/dist6/src/providers/index.js.map +0 -1
- package/dist6/src/providers/invoke-method.d.ts +0 -7
- package/dist6/src/providers/invoke-method.js +0 -44
- package/dist6/src/providers/invoke-method.js.map +0 -1
- package/dist6/src/providers/log-error-provider.d.ts +0 -6
- package/dist6/src/providers/log-error-provider.js +0 -17
- package/dist6/src/providers/log-error-provider.js.map +0 -1
- package/dist6/src/providers/parse-params.d.ts +0 -13
- package/dist6/src/providers/parse-params.js +0 -22
- package/dist6/src/providers/parse-params.js.map +0 -1
- package/dist6/src/providers/reject.d.ts +0 -6
- package/dist6/src/providers/reject.js +0 -40
- package/dist6/src/providers/reject.js.map +0 -1
- package/dist6/src/providers/send.d.ts +0 -15
- package/dist6/src/providers/send.js +0 -24
- package/dist6/src/providers/send.js.map +0 -1
- package/dist6/src/rest-component.d.ts +0 -12
- package/dist6/src/rest-component.js +0 -50
- package/dist6/src/rest-component.js.map +0 -1
- package/dist6/src/rest-server.d.ts +0 -211
- package/dist6/src/rest-server.js +0 -444
- package/dist6/src/rest-server.js.map +0 -1
- package/dist6/src/router/metadata.d.ts +0 -150
- package/dist6/src/router/metadata.js +0 -410
- package/dist6/src/router/metadata.js.map +0 -1
- package/dist6/src/router/routing-table.d.ts +0 -68
- package/dist6/src/router/routing-table.js +0 -218
- package/dist6/src/router/routing-table.js.map +0 -1
- package/dist6/src/sequence.js +0 -114
- package/dist6/src/sequence.js.map +0 -1
- package/dist6/src/writer.d.ts +0 -17
- package/dist6/src/writer.js +0 -87
- package/dist6/src/writer.js.map +0 -1
- package/index.d.ts +0 -6
- package/index.js +0 -9
- package/src/internal-types.ts +0 -96
- package/src/providers/bind-element.ts +0 -15
- package/src/providers/get-from-context.ts +0 -16
- package/src/providers/log-error-provider.ts +0 -23
- package/src/providers/parse-params.ts +0 -20
- package/src/providers/reject.ts +0 -27
- package/src/rest-component.ts +0 -54
- package/src/rest-server.ts +0 -584
- package/src/router/metadata.ts +0 -517
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2017. All Rights Reserved.
|
|
3
|
-
// Node module: @loopback/rest
|
|
4
|
-
// This file is licensed under the MIT License.
|
|
5
|
-
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
-
};
|
|
12
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
13
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14
|
-
};
|
|
15
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
16
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
17
|
-
};
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
const context_1 = require("@loopback/context");
|
|
20
|
-
const keys_1 = require("../keys");
|
|
21
|
-
let InvokeMethodProvider = class InvokeMethodProvider {
|
|
22
|
-
constructor(context) {
|
|
23
|
-
this.context = context;
|
|
24
|
-
}
|
|
25
|
-
value() {
|
|
26
|
-
return async (route, args) => {
|
|
27
|
-
return await route.invokeHandler(this.context, args);
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
InvokeMethodProvider = __decorate([
|
|
32
|
-
__param(0, context_1.inject(keys_1.RestBindings.Http.CONTEXT)),
|
|
33
|
-
__metadata("design:paramtypes", [context_1.Context])
|
|
34
|
-
], InvokeMethodProvider);
|
|
35
|
-
exports.InvokeMethodProvider = InvokeMethodProvider;
|
|
36
|
-
//# sourceMappingURL=invoke-method.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invoke-method.js","sourceRoot":"","sources":["../../../src/providers/invoke-method.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;;;;;;;;;;;AAEhE,+CAA4D;AAE5D,kCAAqC;AAErC,IAAa,oBAAoB,GAAjC;IACE,YAAyD,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE7E,KAAK;QACH,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC3B,MAAM,CAAC,MAAM,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AARY,oBAAoB;IAClB,WAAA,gBAAM,CAAC,mBAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;qCAAoB,iBAAO;GAD9D,oBAAoB,CAQhC;AARY,oDAAoB"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { BoundValue, Provider } from '@loopback/context';
|
|
3
|
-
import { ServerRequest } from '../';
|
|
4
|
-
export declare class LogErrorProvider implements Provider<BoundValue> {
|
|
5
|
-
value(): (err: Error, statusCode: number, req: ServerRequest) => void;
|
|
6
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2017. All Rights Reserved.
|
|
3
|
-
// Node module: @loopback/rest
|
|
4
|
-
// This file is licensed under the MIT License.
|
|
5
|
-
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
class LogErrorProvider {
|
|
8
|
-
value() {
|
|
9
|
-
return (err, statusCode, req) => {
|
|
10
|
-
if (statusCode >= 500) {
|
|
11
|
-
console.error('Unhandled error in %s %s: %s %s', req.method, req.url, statusCode, err.stack || err);
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.LogErrorProvider = LogErrorProvider;
|
|
17
|
-
//# sourceMappingURL=log-error-provider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"log-error-provider.js","sourceRoot":"","sources":["../../../src/providers/log-error-provider.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAKhE;IACE,KAAK;QACH,MAAM,CAAC,CAAC,GAAU,EAAE,UAAkB,EAAE,GAAkB,EAAE,EAAE;YAC5D,EAAE,CAAC,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,KAAK,CACX,iCAAiC,EACjC,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,GAAG,EACP,UAAU,EACV,GAAG,CAAC,KAAK,IAAI,GAAG,CACjB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAdD,4CAcC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Provider, BoundValue } from '@loopback/context';
|
|
2
|
-
import { parseOperationArgs } from '../parser';
|
|
3
|
-
/**
|
|
4
|
-
* Provides the function for parsing args in requests at runtime.
|
|
5
|
-
*
|
|
6
|
-
* @export
|
|
7
|
-
* @class ParseParamsProvider
|
|
8
|
-
* @implements {Provider<BoundValue>}
|
|
9
|
-
* @returns {BoundValue} The handler function that will parse request args.
|
|
10
|
-
*/
|
|
11
|
-
export declare class ParseParamsProvider implements Provider<BoundValue> {
|
|
12
|
-
value(): typeof parseOperationArgs;
|
|
13
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2017. All Rights Reserved.
|
|
3
|
-
// Node module: @loopback/rest
|
|
4
|
-
// This file is licensed under the MIT License.
|
|
5
|
-
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
const parser_1 = require("../parser");
|
|
8
|
-
/**
|
|
9
|
-
* Provides the function for parsing args in requests at runtime.
|
|
10
|
-
*
|
|
11
|
-
* @export
|
|
12
|
-
* @class ParseParamsProvider
|
|
13
|
-
* @implements {Provider<BoundValue>}
|
|
14
|
-
* @returns {BoundValue} The handler function that will parse request args.
|
|
15
|
-
*/
|
|
16
|
-
class ParseParamsProvider {
|
|
17
|
-
value() {
|
|
18
|
-
return parser_1.parseOperationArgs;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.ParseParamsProvider = ParseParamsProvider;
|
|
22
|
-
//# sourceMappingURL=parse-params.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-params.js","sourceRoot":"","sources":["../../../src/providers/parse-params.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAGhE,sCAA6C;AAC7C;;;;;;;GAOG;AACH;IACE,KAAK;QACH,MAAM,CAAC,2BAAkB,CAAC;IAC5B,CAAC;CACF;AAJD,kDAIC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2017. All Rights Reserved.
|
|
3
|
-
// Node module: loopback
|
|
4
|
-
// This file is licensed under the MIT License.
|
|
5
|
-
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
-
};
|
|
12
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
13
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14
|
-
};
|
|
15
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
16
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
17
|
-
};
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
const context_1 = require("@loopback/context");
|
|
20
|
-
const writer_1 = require("../writer");
|
|
21
|
-
const keys_1 = require("../keys");
|
|
22
|
-
let RejectProvider = class RejectProvider {
|
|
23
|
-
constructor(logError) {
|
|
24
|
-
this.logError = logError;
|
|
25
|
-
}
|
|
26
|
-
value() {
|
|
27
|
-
return (response, request, error) => {
|
|
28
|
-
const err = error;
|
|
29
|
-
const statusCode = err.statusCode || err.status || 500;
|
|
30
|
-
writer_1.writeErrorToResponse(response, err);
|
|
31
|
-
this.logError(error, statusCode, request);
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
RejectProvider = __decorate([
|
|
36
|
-
__param(0, context_1.inject(keys_1.RestBindings.SequenceActions.LOG_ERROR)),
|
|
37
|
-
__metadata("design:paramtypes", [Function])
|
|
38
|
-
], RejectProvider);
|
|
39
|
-
exports.RejectProvider = RejectProvider;
|
|
40
|
-
//# sourceMappingURL=reject.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reject.js","sourceRoot":"","sources":["../../../src/providers/reject.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;;;;;;;;;;;;;AAGhE,+CAAyC;AAGzC,sCAA+C;AAC/C,kCAAqC;AAErC,IAAa,cAAc,GAA3B;IACE,YAEY,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;IAC3B,CAAC;IAEJ,KAAK;QACH,MAAM,CAAC,CAAC,QAAwB,EAAE,OAAsB,EAAE,KAAY,EAAE,EAAE;YACxE,MAAM,GAAG,GAAc,KAAK,CAAC;YAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC;YACvD,6BAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC;IACJ,CAAC;CACF,CAAA;AAdY,cAAc;IAEtB,WAAA,gBAAM,CAAC,mBAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;;GAFtC,cAAc,CAc1B;AAdY,wCAAc"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/providers/send.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAGhE,sCAAgD;AAChD;;;;;;;;;GASG;AACH;IACE,KAAK;QACH,MAAM,CAAC,8BAAqB,CAAC;IAC/B,CAAC;CACF;AAJD,oCAIC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { Component, ProviderMap, Server, Application } from '@loopback/core';
|
|
2
|
-
import { Constructor } from '@loopback/context';
|
|
3
|
-
import { RestServerConfig } from './rest-server';
|
|
4
|
-
export declare class RestComponent implements Component {
|
|
5
|
-
providers: ProviderMap;
|
|
6
|
-
servers: {
|
|
7
|
-
[name: string]: Constructor<Server>;
|
|
8
|
-
};
|
|
9
|
-
constructor(app: Application, config?: RestComponentConfig);
|
|
10
|
-
}
|
|
11
|
-
export interface RestComponentConfig extends RestServerConfig {
|
|
12
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright IBM Corp. 2017. All Rights Reserved.
|
|
3
|
-
// Node module: @loopback/rest
|
|
4
|
-
// This file is licensed under the MIT License.
|
|
5
|
-
// License text available at https://opensource.org/licenses/MIT
|
|
6
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
-
};
|
|
12
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
13
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
14
|
-
};
|
|
15
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
16
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
17
|
-
};
|
|
18
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
const core_1 = require("@loopback/core");
|
|
20
|
-
const context_1 = require("@loopback/context");
|
|
21
|
-
const keys_1 = require("./keys");
|
|
22
|
-
const providers_1 = require("./providers");
|
|
23
|
-
const providers_2 = require("./providers");
|
|
24
|
-
const rest_server_1 = require("./rest-server");
|
|
25
|
-
let RestComponent = class RestComponent {
|
|
26
|
-
constructor(app, config) {
|
|
27
|
-
this.providers = {
|
|
28
|
-
[keys_1.RestBindings.SequenceActions.LOG_ERROR]: providers_1.LogErrorProvider,
|
|
29
|
-
[keys_1.RestBindings.SequenceActions.FIND_ROUTE]: providers_2.FindRouteProvider,
|
|
30
|
-
[keys_1.RestBindings.SequenceActions.INVOKE_METHOD]: providers_2.InvokeMethodProvider,
|
|
31
|
-
[keys_1.RestBindings.SequenceActions.REJECT]: providers_2.RejectProvider,
|
|
32
|
-
[keys_1.RestBindings.BIND_ELEMENT]: providers_2.BindElementProvider,
|
|
33
|
-
[keys_1.RestBindings.GET_FROM_CONTEXT]: providers_2.GetFromContextProvider,
|
|
34
|
-
[keys_1.RestBindings.SequenceActions.PARSE_PARAMS]: providers_2.ParseParamsProvider,
|
|
35
|
-
[keys_1.RestBindings.SequenceActions.SEND]: providers_2.SendProvider,
|
|
36
|
-
};
|
|
37
|
-
this.servers = {
|
|
38
|
-
RestServer: rest_server_1.RestServer,
|
|
39
|
-
};
|
|
40
|
-
if (!config)
|
|
41
|
-
config = {};
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
RestComponent = __decorate([
|
|
45
|
-
__param(0, context_1.inject(core_1.CoreBindings.APPLICATION_INSTANCE)),
|
|
46
|
-
__param(1, context_1.inject(keys_1.RestBindings.CONFIG)),
|
|
47
|
-
__metadata("design:paramtypes", [core_1.Application, Object])
|
|
48
|
-
], RestComponent);
|
|
49
|
-
exports.RestComponent = RestComponent;
|
|
50
|
-
//# sourceMappingURL=rest-component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rest-component.js","sourceRoot":"","sources":["../../src/rest-component.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;;;;;;;;;;;AAEhE,yCAMwB;AACxB,+CAAsD;AACtD,iCAAoC;AACpC,2CAA6C;AAC7C,2CAQqB;AACrB,+CAA2D;AAE3D,IAAa,aAAa,GAA1B;IAiBE,YAC6C,GAAgB,EAC9B,MAA4B;QAlB3D,cAAS,GAAgB;YACvB,CAAC,mBAAY,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,4BAAgB;YAC1D,CAAC,mBAAY,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,6BAAiB;YAC5D,CAAC,mBAAY,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,gCAAoB;YAClE,CAAC,mBAAY,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,0BAAc;YACrD,CAAC,mBAAY,CAAC,YAAY,CAAC,EAAE,+BAAmB;YAChD,CAAC,mBAAY,CAAC,gBAAgB,CAAC,EAAE,kCAAsB;YACvD,CAAC,mBAAY,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,+BAAmB;YAChE,CAAC,mBAAY,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,wBAAY;SAClD,CAAC;QACF,YAAO,GAEH;YACF,UAAU,EAAV,wBAAU;SACX,CAAC;QAMA,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAAC,MAAM,GAAG,EAAE,CAAC;IAC3B,CAAC;CACF,CAAA;AAvBY,aAAa;IAkBrB,WAAA,gBAAM,CAAC,mBAAY,CAAC,oBAAoB,CAAC,CAAA;IACzC,WAAA,gBAAM,CAAC,mBAAY,CAAC,MAAM,CAAC,CAAA;qCADoB,kBAAW;GAlBlD,aAAa,CAuBzB;AAvBY,sCAAa"}
|
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Binding, Context, Constructor } from '@loopback/context';
|
|
3
|
-
import { RouteEntry } from '.';
|
|
4
|
-
import { OpenApiSpec, OperationObject } from '@loopback/openapi-spec';
|
|
5
|
-
import { ServerRequest, ServerResponse } from 'http';
|
|
6
|
-
import * as Http from 'http';
|
|
7
|
-
import { Application, Server } from '@loopback/core';
|
|
8
|
-
import { HttpHandler } from './http-handler';
|
|
9
|
-
import { SequenceHandler, SequenceFunction } from './sequence';
|
|
10
|
-
import { ControllerClass } from './router/routing-table';
|
|
11
|
-
/**
|
|
12
|
-
* A REST API server for use with Loopback.
|
|
13
|
-
* Add this server to your application by importing the RestComponent.
|
|
14
|
-
* ```ts
|
|
15
|
-
* const app = new MyApplication({
|
|
16
|
-
* components: [RestComponent]
|
|
17
|
-
* });
|
|
18
|
-
* // OR
|
|
19
|
-
* app.component(RestComponent);
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* To add additional instances of RestServer to your application, use the
|
|
23
|
-
* `.server` function:
|
|
24
|
-
* ```ts
|
|
25
|
-
* app.server(RestServer, 'nameOfYourServer');
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* By default, one instance of RestServer will be created when the RestComponent
|
|
29
|
-
* is bootstrapped. This instance can be retrieved with
|
|
30
|
-
* `app.getServer(RestServer)`, or by calling `app.get('servers.RestServer')`
|
|
31
|
-
* Note that retrieving other instances of RestServer must be done using the
|
|
32
|
-
* server's name:
|
|
33
|
-
* ```ts
|
|
34
|
-
* const server = await app.getServer('foo')
|
|
35
|
-
* // OR
|
|
36
|
-
* const server = await app.get('servers.foo');
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
|
-
* @export
|
|
40
|
-
* @class RestServer
|
|
41
|
-
* @extends {Context}
|
|
42
|
-
* @implements {Server}
|
|
43
|
-
*/
|
|
44
|
-
export declare class RestServer extends Context implements Server {
|
|
45
|
-
/**
|
|
46
|
-
* Handle incoming HTTP(S) request by invoking the corresponding
|
|
47
|
-
* Controller method via the configured Sequence.
|
|
48
|
-
*
|
|
49
|
-
* @example
|
|
50
|
-
*
|
|
51
|
-
* ```ts
|
|
52
|
-
* const app = new Application();
|
|
53
|
-
* // setup controllers, etc.
|
|
54
|
-
*
|
|
55
|
-
* const server = http.createServer(app.handleHttp);
|
|
56
|
-
* server.listen(3000);
|
|
57
|
-
* ```
|
|
58
|
-
*
|
|
59
|
-
* @param req The request.
|
|
60
|
-
* @param res The response.
|
|
61
|
-
*/
|
|
62
|
-
handleHttp: (req: ServerRequest, res: ServerResponse) => void;
|
|
63
|
-
protected _httpHandler: HttpHandler;
|
|
64
|
-
protected readonly httpHandler: HttpHandler;
|
|
65
|
-
protected _httpServer: Http.Server;
|
|
66
|
-
/**
|
|
67
|
-
* @memberof RestServer
|
|
68
|
-
* Creates an instance of RestServer.
|
|
69
|
-
*
|
|
70
|
-
* @param {Application} app The application instance (injected via
|
|
71
|
-
* CoreBindings.APPLICATION_INSTANCE).
|
|
72
|
-
* @param {RestServerConfig=} options The configuration options (injected via
|
|
73
|
-
* RestBindings.CONFIG).
|
|
74
|
-
*
|
|
75
|
-
*/
|
|
76
|
-
constructor(app: Application, options?: RestServerConfig);
|
|
77
|
-
protected _handleHttpRequest(request: ServerRequest, response: ServerResponse): Promise<void>;
|
|
78
|
-
protected _setupHandlerIfNeeded(): void;
|
|
79
|
-
private _setupOperation(verb, path, spec);
|
|
80
|
-
private _serveOpenApiSpec(request, response, options?);
|
|
81
|
-
private _redirectToSwaggerUI(request, response);
|
|
82
|
-
/**
|
|
83
|
-
* Register a controller class with this server.
|
|
84
|
-
*
|
|
85
|
-
* @param {Constructor} controllerCtor The controller class
|
|
86
|
-
* (constructor function).
|
|
87
|
-
* @returns {Binding} The newly created binding, you can use the reference to
|
|
88
|
-
* further modify the binding, e.g. lock the value to prevent further
|
|
89
|
-
* modifications.
|
|
90
|
-
*
|
|
91
|
-
* ```ts
|
|
92
|
-
* class MyController {
|
|
93
|
-
* }
|
|
94
|
-
* app.controller(MyController).lock();
|
|
95
|
-
* ```
|
|
96
|
-
*
|
|
97
|
-
*/
|
|
98
|
-
controller(controllerCtor: ControllerClass): Binding;
|
|
99
|
-
/**
|
|
100
|
-
* Register a new Controller-based route.
|
|
101
|
-
*
|
|
102
|
-
* ```ts
|
|
103
|
-
* class MyController {
|
|
104
|
-
* greet(name: string) {
|
|
105
|
-
* return `hello ${name}`;
|
|
106
|
-
* }
|
|
107
|
-
* }
|
|
108
|
-
* app.route('get', '/greet', operationSpec, MyController, 'greet');
|
|
109
|
-
* ```
|
|
110
|
-
*
|
|
111
|
-
* @param verb HTTP verb of the endpoint
|
|
112
|
-
* @param path URL path of the endpoint
|
|
113
|
-
* @param spec The OpenAPI spec describing the endpoint (operation)
|
|
114
|
-
* @param controller Controller constructor
|
|
115
|
-
* @param methodName The name of the controller method
|
|
116
|
-
*/
|
|
117
|
-
route(verb: string, path: string, spec: OperationObject, controller: ControllerClass, methodName: string): Binding;
|
|
118
|
-
/**
|
|
119
|
-
* Register a new route.
|
|
120
|
-
*
|
|
121
|
-
* ```ts
|
|
122
|
-
* function greet(name: string) {
|
|
123
|
-
* return `hello ${name}`;
|
|
124
|
-
* }
|
|
125
|
-
* const route = new Route('get', '/', operationSpec, greet);
|
|
126
|
-
* app.route(route);
|
|
127
|
-
* ```
|
|
128
|
-
*
|
|
129
|
-
* @param route The route to add.
|
|
130
|
-
*/
|
|
131
|
-
route(route: RouteEntry): Binding;
|
|
132
|
-
/**
|
|
133
|
-
* Set the OpenAPI specification that defines the REST API schema for this
|
|
134
|
-
* server. All routes, parameter definitions and return types will be defined
|
|
135
|
-
* in this way.
|
|
136
|
-
*
|
|
137
|
-
* Note that this will override any routes defined via decorators at the
|
|
138
|
-
* controller level (this function takes precedent).
|
|
139
|
-
*
|
|
140
|
-
* @param {OpenApiSpec} spec The OpenAPI specification, as an object.
|
|
141
|
-
* @returns {Binding}
|
|
142
|
-
* @memberof RestServer
|
|
143
|
-
*/
|
|
144
|
-
api(spec: OpenApiSpec): Binding;
|
|
145
|
-
/**
|
|
146
|
-
* Get the OpenAPI specification describing the REST API provided by
|
|
147
|
-
* this application.
|
|
148
|
-
*
|
|
149
|
-
* This method merges operations (HTTP endpoints) from the following sources:
|
|
150
|
-
* - `app.api(spec)`
|
|
151
|
-
* - `app.controller(MyController)`
|
|
152
|
-
* - `app.route(route)`
|
|
153
|
-
* - `app.route('get', '/greet', operationSpec, MyController, 'greet')`
|
|
154
|
-
*/
|
|
155
|
-
getApiSpec(): OpenApiSpec;
|
|
156
|
-
/**
|
|
157
|
-
* Configure a custom sequence class for handling incoming requests.
|
|
158
|
-
*
|
|
159
|
-
* ```ts
|
|
160
|
-
* class MySequence implements SequenceHandler {
|
|
161
|
-
* constructor(
|
|
162
|
-
* @inject('send) public send: Send)) {
|
|
163
|
-
* }
|
|
164
|
-
*
|
|
165
|
-
* public async handle(request: ParsedRequest, response: ServerResponse) {
|
|
166
|
-
* send(response, 'hello world');
|
|
167
|
-
* }
|
|
168
|
-
* }
|
|
169
|
-
* ```
|
|
170
|
-
*
|
|
171
|
-
* @param value The sequence to invoke for each incoming request.
|
|
172
|
-
*/
|
|
173
|
-
sequence(value: Constructor<SequenceHandler>): void;
|
|
174
|
-
/**
|
|
175
|
-
* Configure a custom sequence function for handling incoming requests.
|
|
176
|
-
*
|
|
177
|
-
* ```ts
|
|
178
|
-
* app.handler((sequence, request, response) => {
|
|
179
|
-
* sequence.send(response, 'hello world');
|
|
180
|
-
* });
|
|
181
|
-
* ```
|
|
182
|
-
*
|
|
183
|
-
* @param handlerFn The handler to invoke for each incoming request.
|
|
184
|
-
*/
|
|
185
|
-
handler(handlerFn: SequenceFunction): void;
|
|
186
|
-
/**
|
|
187
|
-
* Start this REST API's HTTP/HTTPS server.
|
|
188
|
-
*
|
|
189
|
-
* @returns {Promise<void>}
|
|
190
|
-
* @memberof RestServer
|
|
191
|
-
*/
|
|
192
|
-
start(): Promise<void>;
|
|
193
|
-
/**
|
|
194
|
-
* Stop this REST API's HTTP/HTTPS server.
|
|
195
|
-
*
|
|
196
|
-
* @returns {Promise<void>}
|
|
197
|
-
* @memberof RestServer
|
|
198
|
-
*/
|
|
199
|
-
stop(): Promise<void>;
|
|
200
|
-
protected _onUnhandledError(req: ServerRequest, res: ServerResponse, err: Error): void;
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Valid configuration for the RestServer constructor.
|
|
204
|
-
*
|
|
205
|
-
* @export
|
|
206
|
-
* @interface RestServerConfig
|
|
207
|
-
*/
|
|
208
|
-
export interface RestServerConfig {
|
|
209
|
-
port?: number;
|
|
210
|
-
sequence?: Constructor<SequenceHandler>;
|
|
211
|
-
}
|