@loopback/core 4.0.0-alpha.7 → 4.0.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 (179) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +77 -2
  3. package/dist/application.d.ts +341 -0
  4. package/dist/application.js +554 -0
  5. package/dist/application.js.map +1 -0
  6. package/dist/component.d.ts +80 -0
  7. package/dist/component.js +59 -0
  8. package/dist/component.js.map +1 -0
  9. package/dist/extension-point.d.ts +121 -0
  10. package/dist/extension-point.js +227 -0
  11. package/dist/extension-point.js.map +1 -0
  12. package/dist/index.d.ts +21 -0
  13. package/dist/index.js +31 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/keys.d.ts +97 -0
  16. package/dist/keys.js +109 -0
  17. package/dist/keys.js.map +1 -0
  18. package/dist/lifecycle-registry.d.ts +91 -0
  19. package/dist/lifecycle-registry.js +191 -0
  20. package/dist/lifecycle-registry.js.map +1 -0
  21. package/dist/lifecycle.d.ts +47 -0
  22. package/dist/lifecycle.js +56 -0
  23. package/dist/lifecycle.js.map +1 -0
  24. package/dist/mixin-target.d.ts +60 -0
  25. package/{lib/src/Component.js → dist/mixin-target.js} +2 -1
  26. package/dist/mixin-target.js.map +1 -0
  27. package/dist/server.d.ts +16 -0
  28. package/{lib6/Component.js → dist/server.js} +2 -2
  29. package/dist/server.js.map +1 -0
  30. package/dist/service.d.ts +63 -0
  31. package/dist/service.js +151 -0
  32. package/dist/service.js.map +1 -0
  33. package/package.json +39 -37
  34. package/src/application.ts +719 -0
  35. package/src/component.ts +155 -0
  36. package/src/extension-point.ts +312 -0
  37. package/src/index.ts +29 -0
  38. package/src/keys.ts +144 -0
  39. package/src/lifecycle-registry.ts +268 -0
  40. package/src/lifecycle.ts +90 -0
  41. package/src/mixin-target.ts +69 -0
  42. package/src/server.ts +22 -0
  43. package/src/service.ts +211 -0
  44. package/index.d.ts +0 -6
  45. package/index.js +0 -9
  46. package/lib/Component.d.ts +0 -2
  47. package/lib/Component.js +0 -7
  48. package/lib/Sequence.d.ts +0 -14
  49. package/lib/Sequence.js +0 -58
  50. package/lib/application.d.ts +0 -51
  51. package/lib/application.js +0 -82
  52. package/lib/application.js.map +0 -1
  53. package/lib/component.js.map +0 -1
  54. package/lib/handlers/http.d.ts +0 -3
  55. package/lib/handlers/http.js +0 -13
  56. package/lib/handlers/http.js.map +0 -1
  57. package/lib/handlers/index.d.ts +0 -1
  58. package/lib/handlers/index.js +0 -11
  59. package/lib/handlers/index.js.map +0 -1
  60. package/lib/http-handler.d.ts +0 -16
  61. package/lib/http-handler.js +0 -62
  62. package/lib/http-handler.js.map +0 -1
  63. package/lib/index.d.ts +0 -16
  64. package/lib/index.js +0 -33
  65. package/lib/index.js.map +0 -1
  66. package/lib/internal-types.d.ts +0 -20
  67. package/lib/internal-types.js +0 -8
  68. package/lib/internal-types.js.map +0 -1
  69. package/lib/invoke.d.ts +0 -5
  70. package/lib/invoke.js +0 -30
  71. package/lib/parser.d.ts +0 -3
  72. package/lib/parser.js +0 -73
  73. package/lib/parser.js.map +0 -1
  74. package/lib/promisify.d.ts +0 -3
  75. package/lib/promisify.js +0 -34
  76. package/lib/promisify.js.map +0 -1
  77. package/lib/router/SwaggerRouter.d.ts +0 -39
  78. package/lib/router/SwaggerRouter.js +0 -205
  79. package/lib/router/metadata.d.ts +0 -12
  80. package/lib/router/metadata.js +0 -30
  81. package/lib/router/metadata.js.map +0 -1
  82. package/lib/router/routing-table.d.ts +0 -16
  83. package/lib/router/routing-table.js +0 -95
  84. package/lib/router/routing-table.js.map +0 -1
  85. package/lib/sequence.js.map +0 -1
  86. package/lib/server.d.ts +0 -23
  87. package/lib/server.js +0 -53
  88. package/lib/server.js.map +0 -1
  89. package/lib/src/Component.d.ts +0 -2
  90. package/lib/src/Sequence.d.ts +0 -6
  91. package/lib/src/Sequence.js +0 -26
  92. package/lib/src/application.d.ts +0 -27
  93. package/lib/src/application.js +0 -70
  94. package/lib/src/index.d.ts +0 -13
  95. package/lib/src/index.js +0 -29
  96. package/lib/src/invoke.d.ts +0 -5
  97. package/lib/src/invoke.js +0 -34
  98. package/lib/src/parser.d.ts +0 -3
  99. package/lib/src/parser.js +0 -72
  100. package/lib/src/promisify.d.ts +0 -3
  101. package/lib/src/promisify.js +0 -33
  102. package/lib/src/router/SwaggerRouter.d.ts +0 -53
  103. package/lib/src/router/SwaggerRouter.js +0 -101
  104. package/lib/src/router/metadata.d.ts +0 -13
  105. package/lib/src/router/metadata.js +0 -29
  106. package/lib/src/router/routing-table.d.ts +0 -13
  107. package/lib/src/router/routing-table.js +0 -83
  108. package/lib/src/server.d.ts +0 -17
  109. package/lib/src/server.js +0 -40
  110. package/lib/writer.d.ts +0 -4
  111. package/lib/writer.js +0 -24
  112. package/lib/writer.js.map +0 -1
  113. package/lib6/Component.d.ts +0 -2
  114. package/lib6/Sequence.d.ts +0 -14
  115. package/lib6/Sequence.js +0 -68
  116. package/lib6/application.d.ts +0 -51
  117. package/lib6/application.js +0 -82
  118. package/lib6/application.js.map +0 -1
  119. package/lib6/component.js.map +0 -1
  120. package/lib6/handlers/http.d.ts +0 -3
  121. package/lib6/handlers/http.js +0 -21
  122. package/lib6/handlers/http.js.map +0 -1
  123. package/lib6/handlers/index.d.ts +0 -1
  124. package/lib6/handlers/index.js +0 -11
  125. package/lib6/handlers/index.js.map +0 -1
  126. package/lib6/http-handler.d.ts +0 -16
  127. package/lib6/http-handler.js +0 -72
  128. package/lib6/http-handler.js.map +0 -1
  129. package/lib6/index.d.ts +0 -16
  130. package/lib6/index.js +0 -33
  131. package/lib6/index.js.map +0 -1
  132. package/lib6/internal-types.d.ts +0 -20
  133. package/lib6/internal-types.js +0 -8
  134. package/lib6/internal-types.js.map +0 -1
  135. package/lib6/invoke.d.ts +0 -5
  136. package/lib6/invoke.js +0 -30
  137. package/lib6/parser.d.ts +0 -3
  138. package/lib6/parser.js +0 -83
  139. package/lib6/parser.js.map +0 -1
  140. package/lib6/promisify.d.ts +0 -3
  141. package/lib6/promisify.js +0 -34
  142. package/lib6/promisify.js.map +0 -1
  143. package/lib6/router/SwaggerRouter.d.ts +0 -39
  144. package/lib6/router/SwaggerRouter.js +0 -205
  145. package/lib6/router/metadata.d.ts +0 -12
  146. package/lib6/router/metadata.js +0 -30
  147. package/lib6/router/metadata.js.map +0 -1
  148. package/lib6/router/routing-table.d.ts +0 -16
  149. package/lib6/router/routing-table.js +0 -95
  150. package/lib6/router/routing-table.js.map +0 -1
  151. package/lib6/sequence.js.map +0 -1
  152. package/lib6/server.d.ts +0 -23
  153. package/lib6/server.js +0 -63
  154. package/lib6/server.js.map +0 -1
  155. package/lib6/src/Component.d.ts +0 -2
  156. package/lib6/src/Component.js +0 -6
  157. package/lib6/src/Sequence.d.ts +0 -6
  158. package/lib6/src/Sequence.js +0 -36
  159. package/lib6/src/application.d.ts +0 -27
  160. package/lib6/src/application.js +0 -70
  161. package/lib6/src/index.d.ts +0 -13
  162. package/lib6/src/index.js +0 -29
  163. package/lib6/src/invoke.d.ts +0 -5
  164. package/lib6/src/invoke.js +0 -34
  165. package/lib6/src/parser.d.ts +0 -3
  166. package/lib6/src/parser.js +0 -82
  167. package/lib6/src/promisify.d.ts +0 -3
  168. package/lib6/src/promisify.js +0 -33
  169. package/lib6/src/router/SwaggerRouter.d.ts +0 -53
  170. package/lib6/src/router/SwaggerRouter.js +0 -101
  171. package/lib6/src/router/metadata.d.ts +0 -13
  172. package/lib6/src/router/metadata.js +0 -29
  173. package/lib6/src/router/routing-table.d.ts +0 -13
  174. package/lib6/src/router/routing-table.js +0 -83
  175. package/lib6/src/server.d.ts +0 -17
  176. package/lib6/src/server.js +0 -50
  177. package/lib6/writer.d.ts +0 -4
  178. package/lib6/writer.js +0 -24
  179. package/lib6/writer.js.map +0 -1
package/lib6/Sequence.js DELETED
@@ -1,68 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/core
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
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
19
- return new (P || (P = Promise))(function (resolve, reject) {
20
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
23
- step((generator = generator.apply(thisArg, _arguments || [])).next());
24
- });
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- const debug = require('debug')('loopback:core:sequence');
28
- const context_1 = require("@loopback/context");
29
- const parser_1 = require("./parser");
30
- const writer_1 = require("./writer");
31
- let Sequence = class Sequence {
32
- constructor(findRoute, invoke, logError) {
33
- this.findRoute = findRoute;
34
- this.invoke = invoke;
35
- this.logError = logError;
36
- }
37
- run(req, res) {
38
- return __awaiter(this, void 0, void 0, function* () {
39
- try {
40
- const { controller, methodName, spec, pathParams } = this.findRoute(req);
41
- const args = yield parser_1.parseOperationArgs(req, spec, pathParams);
42
- const result = yield this.invoke(controller, methodName, args);
43
- debug('%s.%s() result -', controller, methodName, result);
44
- this.sendResponse(res, result);
45
- }
46
- catch (err) {
47
- this.sendError(res, req, err);
48
- }
49
- });
50
- }
51
- sendResponse(response, result) {
52
- writer_1.writeResultToResponse(response, result);
53
- }
54
- sendError(res, req, err) {
55
- const statusCode = err.statusCode || err.status || 500;
56
- res.statusCode = statusCode;
57
- res.end();
58
- this.logError(err, statusCode, req);
59
- }
60
- };
61
- Sequence = __decorate([
62
- __param(0, context_1.inject('findRoute')),
63
- __param(1, context_1.inject('invokeMethod')),
64
- __param(2, context_1.inject('logError')),
65
- __metadata("design:paramtypes", [Function, Function, Function])
66
- ], Sequence);
67
- exports.Sequence = Sequence;
68
- //# sourceMappingURL=sequence.js.map
@@ -1,51 +0,0 @@
1
- /// <reference types="node" />
2
- import { Binding, Context, Constructor } from '@loopback/context';
3
- import { Component } from '.';
4
- import { ServerRequest, ServerResponse } from 'http';
5
- import { HttpHandler } from './http-handler';
6
- import { Sequence } from './sequence';
7
- export declare class Application extends Context {
8
- appConfig: AppConfig;
9
- /**
10
- * Handle incoming HTTP(S) request by invoking the corresponding
11
- * Controller method via the configured Sequence.
12
- *
13
- * @example
14
- *
15
- * ```ts
16
- * const app = new Application();
17
- * // setup controllers, etc.
18
- *
19
- * const server = http.createServer(app.handleHttp);
20
- * server.listen(3000);
21
- * ```
22
- *
23
- * @param req The request.
24
- * @param res The response.
25
- */
26
- handleHttp: (req: ServerRequest, res: ServerResponse) => Promise<void>;
27
- protected _httpHandler: HttpHandler;
28
- constructor(appConfig?: AppConfig);
29
- protected _handleHttpRequest(request: ServerRequest, response: ServerResponse): Promise<void>;
30
- protected _setupHandlerIfNeeded(): void;
31
- /**
32
- * Register a controller class with this application.
33
- *
34
- * @param controllerCtor {Function} The controller class (constructor function).
35
- * @return {Binding} The newly created binding, you can use the reference to further
36
- * modify the binding, e.g. lock the value to prevent further modifications.
37
- *
38
- * ```ts
39
- * @spec(apiSpec)
40
- * class MyController {
41
- * }
42
- * app.controller(MyController).lock();
43
- * ```
44
- */
45
- controller<T>(controllerCtor: Constructor<T>): Binding;
46
- protected _logError(err: Error, statusCode: number, req: ServerRequest): void;
47
- }
48
- export interface AppConfig {
49
- components: Array<Constructor<Component>>;
50
- sequences: Array<Constructor<Sequence>>;
51
- }
@@ -1,82 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/core
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 context_1 = require("@loopback/context");
8
- const metadata_1 = require("./router/metadata");
9
- const http_handler_1 = require("./http-handler");
10
- const sequence_1 = require("./sequence");
11
- const debug = require('debug')('loopback:core:application');
12
- class Application extends context_1.Context {
13
- constructor(appConfig) {
14
- super();
15
- this.appConfig = appConfig;
16
- if (appConfig && appConfig.components) {
17
- for (const component of appConfig.components) {
18
- // TODO(superkhau): Need to figure a way around this hack,
19
- // `componentClassName.constructor.name` + `componentClassName.name`
20
- // doesn't work
21
- const componentClassName = component.toString().split(' ')[1];
22
- this.bind(`component.${componentClassName}`).toClass(component);
23
- }
24
- }
25
- if (appConfig && appConfig.sequences) {
26
- for (const sequence of appConfig.sequences) {
27
- // TODO(superkhau): Need to figure a way around this hack,
28
- // `componentClassName.constructor.name` + `componentClassName.name`
29
- // doesn't work
30
- const sequenceClassName = sequence.toString().split(' ')[1];
31
- this.bind(`sequence.${sequenceClassName}`).toClass(sequence);
32
- }
33
- }
34
- this.handleHttp = (req, res) => this._handleHttpRequest(req, res);
35
- this.bind('logError').to(this._logError.bind(this));
36
- // TODO(bajtos, ritch, superkhau) figure out how to integrate this single
37
- // sequence with custom sequences contributed by components
38
- this.bind('sequence').toClass(sequence_1.Sequence);
39
- }
40
- _handleHttpRequest(request, response) {
41
- this._setupHandlerIfNeeded();
42
- return this._httpHandler.handleRequest(request, response);
43
- }
44
- _setupHandlerIfNeeded() {
45
- // TODO(bajtos) support hot-reloading of controllers
46
- // after the app started. The idea is to rebuild the HttpHandler
47
- // instance whenever a controller was added/deleted.
48
- if (this._httpHandler)
49
- return;
50
- this._httpHandler = new http_handler_1.HttpHandler(this);
51
- for (const b of this.find('controllers.*')) {
52
- const ctor = b.valueConstructor;
53
- if (!ctor) {
54
- throw new Error(`The controller ${b.key} was not bound via .toClass()`);
55
- }
56
- const apiSpec = metadata_1.getApiSpec(ctor);
57
- this._httpHandler.registerController(b.key, apiSpec);
58
- }
59
- }
60
- /**
61
- * Register a controller class with this application.
62
- *
63
- * @param controllerCtor {Function} The controller class (constructor function).
64
- * @return {Binding} The newly created binding, you can use the reference to further
65
- * modify the binding, e.g. lock the value to prevent further modifications.
66
- *
67
- * ```ts
68
- * @spec(apiSpec)
69
- * class MyController {
70
- * }
71
- * app.controller(MyController).lock();
72
- * ```
73
- */
74
- controller(controllerCtor) {
75
- return this.bind('controllers.' + controllerCtor.name).toClass(controllerCtor);
76
- }
77
- _logError(err, statusCode, req) {
78
- console.error('Unhandled error in %s %s: %s %s', req.method, req.url, statusCode, err.stack || err);
79
- }
80
- }
81
- exports.Application = Application;
82
- //# sourceMappingURL=application.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE"}
@@ -1,3 +0,0 @@
1
- import { Application } from '../application';
2
- import { Handler } from '../internal-types';
3
- export declare function httpHandler(app: Application): Handler;
@@ -1,21 +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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- function httpHandler(app) {
16
- return (req, res) => __awaiter(this, void 0, void 0, function* () {
17
- yield app.handleHttp(req, res);
18
- });
19
- }
20
- exports.httpHandler = httpHandler;
21
- //# sourceMappingURL=http.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/handlers/http.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;;;;;;;;;AAMhE,qBAA4B,GAAgB;IAC1C,MAAM,CAAC,CAAO,GAAkB,EAAE,GAAmB;QACnD,MAAM,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC,CAAA,CAAC;AACJ,CAAC;AAJD,kCAIC"}
@@ -1 +0,0 @@
1
- export * from './http';
@@ -1,11 +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
- function __export(m) {
7
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
8
- }
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- __export(require("./http"));
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;;;;AAEhE,4BAAuB"}
@@ -1,16 +0,0 @@
1
- /// <reference types="node" />
2
- import { Context } from '@loopback/context';
3
- import { OpenApiSpec } from '@loopback/openapi-spec';
4
- import { ServerRequest, ServerResponse } from 'http';
5
- import { RoutingTable } from './router/routing-table';
6
- export declare class HttpHandler {
7
- protected _rootContext: Context;
8
- protected _routes: RoutingTable<string>;
9
- handleRequest: (request: ServerRequest, response: ServerResponse) => Promise<void>;
10
- constructor(_rootContext: Context);
11
- registerController(name: string, spec: OpenApiSpec): void;
12
- protected _handleRequest(request: ServerRequest, response: ServerResponse): Promise<void>;
13
- protected _createRequestContext(req: ServerRequest, res: ServerResponse): Context;
14
- protected _bindFindRoute(context: Context): void;
15
- protected _bindInvokeMethod(context: Context): void;
16
- }
@@ -1,72 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/core
4
- // This file is licensed under the MIT License.
5
- // License text available at https://opensource.org/licenses/MIT
6
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const context_1 = require("@loopback/context");
16
- const HttpErrors = require("http-errors");
17
- const routing_table_1 = require("./router/routing-table");
18
- const debug = require('debug')('loopback:core:http-handler');
19
- class HttpHandler {
20
- constructor(_rootContext) {
21
- this._rootContext = _rootContext;
22
- this._routes = new routing_table_1.RoutingTable();
23
- this.handleRequest = (req, res) => this._handleRequest(req, res);
24
- }
25
- registerController(name, spec) {
26
- this._routes.registerController(name, spec);
27
- }
28
- _handleRequest(request, response) {
29
- return __awaiter(this, void 0, void 0, function* () {
30
- const parsedRequest = routing_table_1.parseRequestUrl(request);
31
- const requestContext = this._createRequestContext(request, response);
32
- this._bindFindRoute(requestContext);
33
- this._bindInvokeMethod(requestContext);
34
- const sequence = yield requestContext.get('sequence');
35
- return sequence.run(parsedRequest, response);
36
- });
37
- }
38
- _createRequestContext(req, res) {
39
- const requestContext = new context_1.Context(this._rootContext);
40
- requestContext.bind('http.request').to(req);
41
- requestContext.bind('http.response').to(res);
42
- return requestContext;
43
- }
44
- _bindFindRoute(context) {
45
- context.bind('findRoute').toDynamicValue(() => {
46
- return (request) => {
47
- const req = context.getSync('http.request');
48
- const found = this._routes.find(req);
49
- if (!found)
50
- throw new HttpErrors.NotFound(`Endpoint "${req.method} ${req.path}" not found.`);
51
- // bind routing information to context
52
- const ctor = context.getBinding(found.controller).valueConstructor;
53
- if (!ctor)
54
- throw new Error(`The controller ${found.controller} was not bound via .toClass()`);
55
- context.bind('controller.current.ctor').to(ctor);
56
- context.bind('controller.current.operation').to(found.methodName);
57
- return found;
58
- };
59
- });
60
- }
61
- _bindInvokeMethod(context) {
62
- context.bind('invokeMethod').toDynamicValue(() => {
63
- return (controllerName, method, args) => __awaiter(this, void 0, void 0, function* () {
64
- const controller = yield context.get(controllerName);
65
- const result = yield controller[method](...args);
66
- return result;
67
- });
68
- });
69
- }
70
- }
71
- exports.HttpHandler = HttpHandler;
72
- //# sourceMappingURL=http-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-handler.js","sourceRoot":"","sources":["../src/http-handler.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;;;;;;;;;AAEhE,+CAA0C;AAI1C,0CAA0C;AAG1C,0DAAqE;AAQrE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,4BAA4B,CAAC,CAAC;AAE7D;IAKE,YAAsB,YAAqB;QAArB,iBAAY,GAAZ,YAAY,CAAS;QAJjC,YAAO,GAAyB,IAAI,4BAAY,EAAU,CAAC;QAKnE,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,kBAAkB,CAAC,IAAY,EAAE,IAAiB;QAChD,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEe,cAAc,CAAC,OAAsB,EAAE,QAAwB;;YAC7E,MAAM,aAAa,GAAkB,+BAAe,CAAC,OAAO,CAAC,CAAC;YAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAErE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;YACpC,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAEvC,MAAM,QAAQ,GAAa,MAAM,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;KAAA;IAES,qBAAqB,CAAC,GAAkB,EAAE,GAAmB;QACrE,MAAM,cAAc,GAAG,IAAI,iBAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACtD,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC5C,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC;IACxB,CAAC;IAES,cAAc,CAAC,OAAgB;QACvC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC;YACvC,MAAM,CAAC,CAAC,OAAsB;gBAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;oBACT,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC;gBAEnF,sCAAsC;gBACtC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC;gBACnE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACR,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,UAAU,+BAA+B,CAAC,CAAC;gBACrF,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAElE,MAAM,CAAC,KAAK,CAAC;YACf,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,iBAAiB,CAAC,OAAgB;QAC1C,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC;YAC1C,MAAM,CAAC,CAAO,cAAsB,EAAE,MAAc,EAAE,IAAmB;gBACvE,MAAM,UAAU,GAAmC,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACrF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;gBACjD,MAAM,CAAC,MAAM,CAAC;YAChB,CAAC,CAAA,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA5DD,kCA4DC"}
package/lib6/index.d.ts DELETED
@@ -1,16 +0,0 @@
1
- export { Application } from './application';
2
- export { Component } from './component';
3
- export { api } from './router/metadata';
4
- export { Sequence } from './sequence';
5
- export { Server, ServerConfig, ServerState } from './server';
6
- export { inject } from '@loopback/context';
7
- export * from '@loopback/openapi-spec';
8
- export { ServerRequest, ServerResponse } from 'http';
9
- import * as HttpErrors from 'http-errors';
10
- export { HttpErrors };
11
- export { ParsedRequest, OperationRetval, FindRoute, InvokeMethod, LogError, OperationArgs } from './internal-types';
12
- export { parseOperationArgs } from './parser';
13
- export { parseRequestUrl } from './router/routing-table';
14
- export { RoutingTable, ResolvedRoute } from './router/routing-table';
15
- export { HttpHandler } from './http-handler';
16
- export { writeResultToResponse } from './writer';
package/lib6/index.js DELETED
@@ -1,33 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/core
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
- // package dependencies
8
- var application_1 = require("./application");
9
- exports.Application = application_1.Application;
10
- var metadata_1 = require("./router/metadata");
11
- exports.api = metadata_1.api;
12
- var sequence_1 = require("./sequence");
13
- exports.Sequence = sequence_1.Sequence;
14
- var server_1 = require("./server");
15
- exports.Server = server_1.Server;
16
- exports.ServerState = server_1.ServerState;
17
- // loopback dependencies
18
- var context_1 = require("@loopback/context");
19
- exports.inject = context_1.inject;
20
- // import all errors from external http-errors package
21
- const HttpErrors = require("http-errors");
22
- exports.HttpErrors = HttpErrors;
23
- var parser_1 = require("./parser");
24
- exports.parseOperationArgs = parser_1.parseOperationArgs;
25
- var routing_table_1 = require("./router/routing-table");
26
- exports.parseRequestUrl = routing_table_1.parseRequestUrl;
27
- var routing_table_2 = require("./router/routing-table");
28
- exports.RoutingTable = routing_table_2.RoutingTable;
29
- var http_handler_1 = require("./http-handler");
30
- exports.HttpHandler = http_handler_1.HttpHandler;
31
- var writer_1 = require("./writer");
32
- exports.writeResultToResponse = writer_1.writeResultToResponse;
33
- //# sourceMappingURL=index.js.map
package/lib6/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAEhE,uBAAuB;AACvB,6CAA0C;AAAlC,oCAAA,WAAW,CAAA;AAEnB,8CAAsC;AAA9B,yBAAA,GAAG,CAAA;AACX,uCAAoC;AAA5B,8BAAA,QAAQ,CAAA;AAChB,mCAA2D;AAAnD,0BAAA,MAAM,CAAA;AAAgB,+BAAA,WAAW,CAAA;AAEzC,wBAAwB;AACxB,6CAAyC;AAAjC,2BAAA,MAAM,CAAA;AAMd,sDAAsD;AACtD,0CAA0C;AAGlC,gCAAU;AAWlB,mCAA4C;AAApC,sCAAA,kBAAkB,CAAA;AAC1B,wDAAuD;AAA/C,0CAAA,eAAe,CAAA;AACvB,wDAAmE;AAA3D,uCAAA,YAAY,CAAA;AACpB,+CAA2C;AAAnC,qCAAA,WAAW,CAAA;AACnB,mCAA+C;AAAvC,yCAAA,qBAAqB,CAAA"}
@@ -1,20 +0,0 @@
1
- /// <reference types="node" />
2
- import { ServerRequest } from 'http';
3
- import { ResolvedRoute } from './router/routing-table';
4
- export interface ParsedRequest extends ServerRequest {
5
- path: string;
6
- query: {
7
- [key: string]: string;
8
- };
9
- url: string;
10
- pathname: string;
11
- method: string;
12
- }
13
- export declare type FindRoute = (request: ParsedRequest) => ResolvedRoute<string>;
14
- export declare type InvokeMethod = (controller: string, method: string, args: OperationArgs) => Promise<OperationRetval>;
15
- export declare type LogError = (err: Error, statusCode: number, request: ServerRequest) => void;
16
- export declare type PathParameterValues = {
17
- [key: string]: any;
18
- };
19
- export declare type OperationArgs = any[];
20
- export declare type OperationRetval = any;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/core
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
- // tslint:enable:no-any
8
- //# sourceMappingURL=internal-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal-types.js","sourceRoot":"","sources":["../src/internal-types.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAwBhE,uBAAuB"}
package/lib6/invoke.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /// <reference types="node" />
2
- import { ServerResponse as Response } from 'http';
3
- import { HandlerCallback } from './router/SwaggerRouter';
4
- export declare type OperationArgs = any[];
5
- export declare function invoke(controller: Object, operationName: string, args: OperationArgs, response: Response, next: HandlerCallback): void;
package/lib6/invoke.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/core
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 debug = require('debug')('loopback:invoker');
8
- // tslint:enable:no-any
9
- function invoke(controller, operationName, args, response, next) {
10
- debug('invoke %s with arguments', operationName, args);
11
- // TODO(bajtos) support sync operations that return the value directly (no Promise)
12
- controller[operationName](...args).then(function onSuccess(result) {
13
- debug('%s() result -', operationName, result);
14
- // TODO(bajtos) handle non-string results via JSON.stringify
15
- if (result) {
16
- // TODO(ritch) remove this, should be configurable
17
- response.setHeader('Content-Type', 'application/json');
18
- // TODO(bajtos) handle errors - JSON.stringify can throw
19
- if (typeof result === 'object')
20
- result = JSON.stringify(result);
21
- response.write(result);
22
- }
23
- response.end();
24
- // Do not call next(), the request was handled.
25
- }, function onError(err) {
26
- debug('%s() failed - ', operationName, err.stack || err);
27
- next(err);
28
- });
29
- }
30
- exports.invoke = invoke;
package/lib6/parser.d.ts DELETED
@@ -1,3 +0,0 @@
1
- import { OperationObject } from '@loopback/openapi-spec';
2
- import { OperationArgs, ParsedRequest, PathParameterValues } from './internal-types';
3
- export declare function parseOperationArgs(request: ParsedRequest, operationSpec: OperationObject, pathParams: PathParameterValues): Promise<OperationArgs>;
package/lib6/parser.js DELETED
@@ -1,83 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/core
4
- // This file is licensed under the MIT License.
5
- // License text available at https://opensource.org/licenses/MIT
6
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- const _1 = require("./");
16
- const promisify_1 = require("./promisify");
17
- const jsonBody = require('body/json');
18
- // tslint:enable:no-any
19
- const parseJsonBody = promisify_1.promisify(jsonBody);
20
- function parseOperationArgs(request, operationSpec, pathParams) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- const args = [];
23
- const body = yield loadRequestBodyIfNeeded(operationSpec, request);
24
- return buildOperationArguments(operationSpec, request, pathParams, body);
25
- });
26
- }
27
- exports.parseOperationArgs = parseOperationArgs;
28
- function loadRequestBodyIfNeeded(operationSpec, request) {
29
- if (!hasArgumentsFromBody(operationSpec))
30
- return Promise.resolve();
31
- const contentType = request.headers['content-type'];
32
- if (contentType && !/json/.test(contentType)) {
33
- const err = new _1.HttpErrors.UnsupportedMediaType(`Content-type ${contentType} is not supported.`);
34
- return Promise.reject(err);
35
- }
36
- return parseJsonBody(request).catch((err) => {
37
- err.statusCode = 400;
38
- return Promise.reject(err);
39
- });
40
- }
41
- function hasArgumentsFromBody(operationSpec) {
42
- if (!operationSpec.parameters || !operationSpec.parameters.length)
43
- return false;
44
- for (const paramSpec of operationSpec.parameters) {
45
- if ('$ref' in paramSpec)
46
- continue;
47
- const source = paramSpec.in;
48
- if (source === 'formData' || source === 'body')
49
- return true;
50
- }
51
- return false;
52
- }
53
- function buildOperationArguments(operationSpec, request, pathParams, body) {
54
- const args = [];
55
- for (const paramSpec of operationSpec.parameters || []) {
56
- if ('$ref' in paramSpec) {
57
- // TODO(bajtos) implement $ref parameters
58
- throw new Error('$ref parameters are not supported yet.');
59
- }
60
- const spec = paramSpec;
61
- switch (spec.in) {
62
- case 'query':
63
- args.push(request.query[spec.name]);
64
- break;
65
- case 'path':
66
- args.push(pathParams[spec.name]);
67
- break;
68
- case 'header':
69
- args.push(request.headers[spec.name.toLowerCase()]);
70
- break;
71
- case 'formData':
72
- args.push(body ? body[spec.name] : undefined);
73
- break;
74
- case 'body':
75
- args.push(body);
76
- break;
77
- default:
78
- throw new _1.HttpErrors.NotImplemented('Parameters with "in: ' + spec.in + '" are not supported yet.');
79
- }
80
- }
81
- return args;
82
- }
83
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export declare function promisify<T>(func: (callback: (err: any, result: T) => void) => void): () => Promise<T>;
2
- export declare function promisify<T, A1>(func: (arg1: A1, callback: (err: any, result: T) => void) => void): (arg1: A1) => Promise<T>;
3
- export declare function promisify<T, A1, A2>(func: (arg1: A1, arg2: A2, callback: (err: any, result: T) => void) => void): (arg1: A1, arg2: A2) => Promise<T>;
package/lib6/promisify.js DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- // Copyright IBM Corp. 2017. All Rights Reserved.
3
- // Node module: @loopback/core
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
- // TODO(bajtos) Move this file to a standalone module, or find an existing
8
- // npm module that we could use instead. Just make sure the existing
9
- // module is using native utils.promisify() when available.
10
- // tslint:disable:no-any
11
- const util = require("util");
12
- const nativePromisify = util.promisify;
13
- function promisify(func) {
14
- if (nativePromisify)
15
- return nativePromisify(func);
16
- // The simplest implementation of Promisify
17
- return (...args) => {
18
- return new Promise((resolve, reject) => {
19
- try {
20
- func(...args, (err, result) => {
21
- if (err)
22
- reject(err);
23
- else
24
- resolve(result);
25
- });
26
- }
27
- catch (err) {
28
- reject(err);
29
- }
30
- });
31
- };
32
- }
33
- exports.promisify = promisify;
34
- //# sourceMappingURL=promisify.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"promisify.js","sourceRoot":"","sources":["../src/promisify.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,8BAA8B;AAC9B,+CAA+C;AAC/C,gEAAgE;;AAEhE,0EAA0E;AAC1E,oEAAoE;AACpE,2DAA2D;AAE3D,wBAAwB;AAExB,6BAA6B;AAE7B,MAAM,eAAe,GAAI,IAAY,CAAC,SAAS,CAAC;AAMhD,mBAA6B,IAA8B;IACzD,EAAE,CAAC,CAAC,eAAe,CAAC;QAClB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IAE/B,2CAA2C;IAC3C,MAAM,CAAC,CAAC,GAAG,IAAI;QACb,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YACjC,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,GAAS,EAAE,MAAY;oBACpC,EAAE,CAAC,CAAC,GAAG,CAAC;wBAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACrB,IAAI;wBAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAjBD,8BAiBC"}