@creator.co/wapi 1.1.8 → 1.2.0-alpha2

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 (79) hide show
  1. package/.eslintrc.cjs +22 -22
  2. package/README.md +1 -0
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.js +5 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/package.json +50 -0
  7. package/dist/src/API/Request.d.ts +4 -5
  8. package/dist/src/API/Request.js +3 -4
  9. package/dist/src/API/Request.js.map +1 -1
  10. package/dist/src/API/Response.d.ts +1 -1
  11. package/dist/src/API/Response.js.map +1 -1
  12. package/dist/src/BaseEvent/EventProcessor.js +0 -1
  13. package/dist/src/BaseEvent/EventProcessor.js.map +1 -1
  14. package/dist/src/BaseEvent/Process.d.ts +4 -7
  15. package/dist/src/BaseEvent/Process.js +1 -2
  16. package/dist/src/BaseEvent/Process.js.map +1 -1
  17. package/dist/src/BaseEvent/Transaction.d.ts +6 -6
  18. package/dist/src/BaseEvent/Transaction.js +2 -4
  19. package/dist/src/BaseEvent/Transaction.js.map +1 -1
  20. package/dist/src/Config/Configuration.d.ts +28 -0
  21. package/dist/src/Config/Configuration.js +93 -0
  22. package/dist/src/Config/Configuration.js.map +1 -0
  23. package/dist/src/Config/EnvironmentVar.d.ts +17 -0
  24. package/dist/src/Config/EnvironmentVar.js +155 -0
  25. package/dist/src/Config/EnvironmentVar.js.map +1 -0
  26. package/dist/src/Globals.d.ts +11 -0
  27. package/dist/src/Globals.js +12 -0
  28. package/dist/src/Globals.js.map +1 -1
  29. package/dist/src/Logger/Logger.js +42 -11
  30. package/dist/src/Logger/Logger.js.map +1 -1
  31. package/dist/src/Mailer/Mailer.js +50 -24
  32. package/dist/src/Mailer/Mailer.js.map +1 -1
  33. package/dist/src/Server/Router.d.ts +30 -0
  34. package/dist/src/Server/Router.js +21 -0
  35. package/dist/src/Server/Router.js.map +1 -0
  36. package/dist/src/Server/lib/ContainerServer.d.ts +11 -0
  37. package/dist/src/Server/lib/ContainerServer.js +100 -0
  38. package/dist/src/Server/lib/ContainerServer.js.map +1 -0
  39. package/dist/src/Server/lib/Server.d.ts +9 -0
  40. package/dist/src/Server/lib/Server.js +137 -0
  41. package/dist/src/Server/lib/Server.js.map +1 -0
  42. package/dist/src/Server/lib/container/GenericHandler.d.ts +4 -0
  43. package/dist/src/Server/lib/container/GenericHandler.js +138 -0
  44. package/dist/src/Server/lib/container/GenericHandler.js.map +1 -0
  45. package/dist/src/Server/lib/container/GenericHandlerEvent.d.ts +14 -0
  46. package/dist/src/Server/lib/container/GenericHandlerEvent.js +164 -0
  47. package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -0
  48. package/dist/src/Server/lib/container/HealthHandler.d.ts +3 -0
  49. package/dist/src/Server/lib/container/HealthHandler.js +44 -0
  50. package/dist/src/Server/lib/container/HealthHandler.js.map +1 -0
  51. package/dist/src/Server/lib/container/Proxy.d.ts +15 -0
  52. package/dist/src/Server/lib/container/Proxy.js +153 -0
  53. package/dist/src/Server/lib/container/Proxy.js.map +1 -0
  54. package/dist/src/Server/lib/container/Utils.d.ts +6 -0
  55. package/dist/src/Server/lib/container/Utils.js +109 -0
  56. package/dist/src/Server/lib/container/Utils.js.map +1 -0
  57. package/dist/src/Validation/Validator.d.ts +5 -0
  58. package/dist/src/Validation/Validator.js +39 -0
  59. package/dist/src/Validation/Validator.js.map +1 -0
  60. package/index.ts +8 -6
  61. package/package.json +14 -3
  62. package/src/API/Request.ts +6 -12
  63. package/src/API/Response.ts +1 -1
  64. package/src/BaseEvent/EventProcessor.ts +3 -2
  65. package/src/BaseEvent/Process.ts +11 -10
  66. package/src/BaseEvent/Transaction.ts +24 -16
  67. package/src/Config/Configuration.ts +83 -0
  68. package/src/Config/EnvironmentVar.ts +94 -0
  69. package/src/Globals.ts +15 -0
  70. package/src/Server/Router.ts +51 -0
  71. package/src/Server/lib/ContainerServer.ts +27 -0
  72. package/src/Server/lib/Server.ts +66 -0
  73. package/src/Server/lib/container/GenericHandler.ts +63 -0
  74. package/src/Server/lib/container/GenericHandlerEvent.ts +133 -0
  75. package/src/Server/lib/container/HealthHandler.ts +5 -0
  76. package/src/Server/lib/container/Proxy.ts +107 -0
  77. package/src/Server/lib/container/Utils.ts +45 -0
  78. package/src/Validation/Validator.ts +35 -0
  79. package/tsconfig.json +2 -0
@@ -0,0 +1,9 @@
1
+ import { APIGatewayProxyEvent, Context } from "aws-lambda";
2
+ import { RouterConfig } from "../Router";
3
+ export default class Server {
4
+ protected readonly config: RouterConfig;
5
+ constructor(config: RouterConfig);
6
+ getExport(): CallableFunction;
7
+ handleServerlessEvent(event: APIGatewayProxyEvent, context: Context): Promise<void>;
8
+ private routeMatches;
9
+ }
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ var path_to_regexp_1 = require("path-to-regexp");
51
+ var Response_1 = require("../../API/Response");
52
+ var Transaction_1 = require("../../BaseEvent/Transaction");
53
+ var Validator_1 = require("../../Validation/Validator");
54
+ var Server = /** @class */ (function () {
55
+ function Server(config) {
56
+ this.config = config;
57
+ }
58
+ Server.prototype.getExport = function () {
59
+ return this.handleServerlessEvent;
60
+ };
61
+ Server.prototype.handleServerlessEvent = function (event, context) {
62
+ return __awaiter(this, void 0, void 0, function () {
63
+ var _this = this;
64
+ return __generator(this, function (_a) {
65
+ switch (_a.label) {
66
+ case 0:
67
+ // init transaction
68
+ return [4 /*yield*/, new Transaction_1.default(event, context, this.config).execute(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
69
+ var _a, _b, route, handler, validationResp, e_1_1;
70
+ var e_1, _c;
71
+ return __generator(this, function (_d) {
72
+ switch (_d.label) {
73
+ case 0:
74
+ _d.trys.push([0, 5, 6, 7]);
75
+ _a = __values(this.config.routes), _b = _a.next();
76
+ _d.label = 1;
77
+ case 1:
78
+ if (!!_b.done) return [3 /*break*/, 4];
79
+ route = _b.value;
80
+ handler = this.routeMatches(route.path, route.method, event);
81
+ if (!handler) return [3 /*break*/, 3];
82
+ transaction.logger.log("Router accepted route:", route);
83
+ // Validate input?
84
+ if (route.inputValidation) {
85
+ validationResp = Validator_1.default.validateSchema(transaction.request.getBody(), route.inputValidation);
86
+ if (validationResp && validationResp instanceof Response_1.default)
87
+ return [2 /*return*/, validationResp];
88
+ }
89
+ return [4 /*yield*/, route.handler(transaction)];
90
+ case 2:
91
+ // Continue to route handler
92
+ return [2 /*return*/, _d.sent()];
93
+ case 3:
94
+ _b = _a.next();
95
+ return [3 /*break*/, 1];
96
+ case 4: return [3 /*break*/, 7];
97
+ case 5:
98
+ e_1_1 = _d.sent();
99
+ e_1 = { error: e_1_1 };
100
+ return [3 /*break*/, 7];
101
+ case 6:
102
+ try {
103
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
104
+ }
105
+ finally { if (e_1) throw e_1.error; }
106
+ return [7 /*endfinally*/];
107
+ case 7:
108
+ //No route found :/
109
+ return [2 /*return*/, new Response_1.default(404, { err: "Route not found!" })];
110
+ }
111
+ });
112
+ }); })];
113
+ case 1:
114
+ // init transaction
115
+ _a.sent();
116
+ return [2 /*return*/];
117
+ }
118
+ });
119
+ });
120
+ };
121
+ // Helper function to match route
122
+ Server.prototype.routeMatches = function (routePath, routeMethod, event) {
123
+ var path = event.path;
124
+ var keys = [];
125
+ var result = (0, path_to_regexp_1.pathToRegexp)(routePath, keys).exec(path);
126
+ if (result) {
127
+ var reqMethod = event.httpMethod;
128
+ if (reqMethod.toLowerCase() == routeMethod.toLowerCase()) {
129
+ return true;
130
+ }
131
+ }
132
+ return false;
133
+ };
134
+ return Server;
135
+ }());
136
+ exports.default = Server;
137
+ //# sourceMappingURL=Server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/lib/Server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iDAA6C;AAE7C,+CAAyC;AACzC,2DAAqD;AACrD,wDAAkD;AAGlD;IAEE,gBAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAEM,0BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,qBAAqB,CAAA;IACnC,CAAC;IAEY,sCAAqB,GAAlC,UACE,KAA2B,EAC3B,OAAgB;;;;;;oBAEhB,mBAAmB;oBACnB,qBAAM,IAAI,qBAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CACxD,UAAO,WAAW;;;;;;;wCACI,KAAA,SAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;;;;wCAA3B,KAAK;wCAER,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;6CAC9D,OAAO,EAAP,wBAAO;wCACT,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAA;wCACvD,kBAAkB;wCAClB,IAAI,KAAK,CAAC,eAAe,EAAE;4CACnB,cAAc,GAAG,mBAAS,CAAC,cAAc,CAC7C,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAC7B,KAAK,CAAC,eAAe,CACtB,CAAA;4CACD,IAAI,cAAc,IAAI,cAAc,YAAY,kBAAQ;gDACtD,sBAAO,cAAc,EAAA;yCACxB;wCAEM,qBAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAA;;oCADvC,4BAA4B;oCAC5B,sBAAO,SAAgC,EAAA;;;;;;;;;;;;;;;;oCAG3C,mBAAmB;oCACnB,sBAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAA;;;6BACtD,CACF,EAAA;;wBAxBD,mBAAmB;wBACnB,SAuBC,CAAA;;;;;KACF;IACD,iCAAiC;IACzB,6BAAY,GAApB,UACE,SAAiB,EACjB,WAAmB,EACnB,KAA2B;QAE3B,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;QACvB,IAAM,IAAI,GAAG,EAAE,CAAA;QACf,IAAM,MAAM,GAAG,IAAA,6BAAY,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvD,IAAI,MAAM,EAAE;YACV,IAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAA;YAClC,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE;gBACxD,OAAO,IAAI,CAAA;aACZ;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACH,aAAC;AAAD,CAAC,AAzDD,IAyDC"}
@@ -0,0 +1,4 @@
1
+ import { Request, Response } from "express";
2
+ import Server from "../Server";
3
+ declare const _default: (serverlessHandler: Server["handleServerlessEvent"]) => (request: Request, res: Response) => Promise<any>;
4
+ export default _default;
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ var __values = (this && this.__values) || function(o) {
50
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
51
+ if (m) return m.call(o);
52
+ if (o && typeof o.length === "number") return {
53
+ next: function () {
54
+ if (o && i >= o.length) o = void 0;
55
+ return { value: o && o[i++], done: !o };
56
+ }
57
+ };
58
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
59
+ };
60
+ Object.defineProperty(exports, "__esModule", { value: true });
61
+ var GenericHandlerEvent_1 = require("./GenericHandlerEvent");
62
+ var Globals_1 = require("../../../Globals");
63
+ exports.default = (function (serverlessHandler) {
64
+ return function (request, res) { return __awaiter(void 0, void 0, void 0, function () {
65
+ var startTime, resp, event_1, invokationResp, e_1;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ startTime = Date.now();
70
+ resp = null;
71
+ _a.label = 1;
72
+ case 1:
73
+ _a.trys.push([1, 3, , 4]);
74
+ event_1 = new GenericHandlerEvent_1.default(request, serverlessHandler);
75
+ return [4 /*yield*/, event_1.invoke()
76
+ // Respond
77
+ ];
78
+ case 2:
79
+ invokationResp = _a.sent();
80
+ // Respond
81
+ resp = processServerlessResponse(invokationResp, res);
82
+ return [3 /*break*/, 4];
83
+ case 3:
84
+ e_1 = _a.sent();
85
+ console.error("[Proxy] - Exception during execution!", e_1);
86
+ resp = res
87
+ .json(__assign(__assign({}, e_1), { err: Globals_1.default.Resp_MSG_EXCEPTION, errCode: Globals_1.default.Resp_CODE_EXCEPTION }))
88
+ .status(Globals_1.default.Resp_STATUSCODE_EXCEPTION); //bad gateway
89
+ return [3 /*break*/, 4];
90
+ case 4:
91
+ console.debug("[Proxy] - Request took ".concat(Date.now() - startTime, "ms"));
92
+ return [2 /*return*/, resp];
93
+ }
94
+ });
95
+ }); };
96
+ });
97
+ var processServerlessResponse = function (invokation, res) {
98
+ var e_2, _a;
99
+ var _b;
100
+ // translate answer to http layer
101
+ if (invokation && invokation.err) {
102
+ // err came
103
+ return res.json({ err: invokation.err }).status(400);
104
+ }
105
+ else if (!invokation || !invokation.data) {
106
+ // invalid response came
107
+ return res
108
+ .json({
109
+ err: Globals_1.default.Resp_MSG_INVALIDRESP,
110
+ errCode: Globals_1.default.Resp_CODE_INVALIDRESP,
111
+ })
112
+ .status(Globals_1.default.Resp_STATUSCODE_INVALIDRESP);
113
+ }
114
+ else {
115
+ // valid
116
+ var response = res
117
+ .json(invokation.data.body || {})
118
+ .status(invokation.data.statusCode);
119
+ // Check for headers
120
+ if ((_b = invokation === null || invokation === void 0 ? void 0 : invokation.data) === null || _b === void 0 ? void 0 : _b.headers) {
121
+ try {
122
+ for (var _c = __values(Object.keys(invokation.data.headers)), _d = _c.next(); !_d.done; _d = _c.next()) {
123
+ var hKey = _d.value;
124
+ response.header(hKey, invokation.data.headers[hKey]);
125
+ }
126
+ }
127
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
128
+ finally {
129
+ try {
130
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
131
+ }
132
+ finally { if (e_2) throw e_2.error; }
133
+ }
134
+ }
135
+ return response;
136
+ }
137
+ };
138
+ //# sourceMappingURL=GenericHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericHandler.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6DAE8B;AAC9B,4CAAsC;AAGtC,mBAAe,UAAC,iBAAkD;IAChE,OAAO,UAAO,OAAgB,EAAE,GAAa;;;;;oBACrC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;oBACxB,IAAI,GAAG,IAAI,CAAA;;;;oBAGP,UAAQ,IAAI,6BAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;oBAE1C,qBAAM,OAAK,CAAC,MAAM,EAAE;wBAC3C,UAAU;sBADiC;;oBAArC,cAAc,GAAG,SAAoB;oBAC3C,UAAU;oBACV,IAAI,GAAG,yBAAyB,CAAC,cAAc,EAAE,GAAG,CAAC,CAAA;;;;oBAErD,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,GAAC,CAAC,CAAA;oBACzD,IAAI,GAAG,GAAG;yBACP,IAAI,uBACA,GAAC,KACJ,GAAG,EAAE,iBAAO,CAAC,kBAAkB,EAC/B,OAAO,EAAE,iBAAO,CAAC,mBAAmB,IACpC;yBACD,MAAM,CAAC,iBAAO,CAAC,yBAAyB,CAAC,CAAA,CAAC,aAAa;;;oBAE5D,OAAO,CAAC,KAAK,CAAC,iCAA0B,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,OAAI,CAAC,CAAA;oBACnE,sBAAO,IAAI,EAAA;;;SACZ,CAAA;AACH,CAAC,EAAA;AACD,IAAM,yBAAyB,GAAG,UAChC,UAAuC,EACvC,GAAa;;;IAEb,iCAAiC;IACjC,IAAI,UAAU,IAAI,UAAU,CAAC,GAAG,EAAE;QAChC,WAAW;QACX,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;KACrD;SAAM,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAC1C,wBAAwB;QACxB,OAAO,GAAG;aACP,IAAI,CAAC;YACJ,GAAG,EAAE,iBAAO,CAAC,oBAAoB;YACjC,OAAO,EAAE,iBAAO,CAAC,qBAAqB;SACvC,CAAC;aACD,MAAM,CAAC,iBAAO,CAAC,2BAA2B,CAAC,CAAA;KAC/C;SAAM;QACL,QAAQ;QACR,IAAM,QAAQ,GAAG,GAAG;aACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;aAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACrC,oBAAoB;QACpB,IAAI,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,0CAAE,OAAO,EAAE;;gBAC7B,KAAmB,IAAA,KAAA,SAAA,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,gBAAA,4BAAE;oBAApD,IAAM,IAAI,WAAA;oBACb,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;iBACrD;;;;;;;;;SACF;QACD,OAAO,QAAQ,CAAA;KAChB;AACH,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { Request } from "express";
2
+ import Server from "../Server";
3
+ export type GenericHandlerEventResponse = {
4
+ err?: Error | string;
5
+ data?: any;
6
+ };
7
+ export default class GenericHandlerEvent {
8
+ request: Request;
9
+ serverlessHandler: Server["handleServerlessEvent"];
10
+ constructor(request: Request, serverlessHandler: Server["handleServerlessEvent"]);
11
+ invoke(): Promise<GenericHandlerEventResponse>;
12
+ private buildEvent;
13
+ private buildContext;
14
+ }
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var cuid = require("cuid");
40
+ var unflatten_1 = require("unflatten");
41
+ var Utils_1 = require("./Utils");
42
+ var Globals_1 = require("../../../Globals");
43
+ //
44
+ var GenericHandlerEvent = /** @class */ (function () {
45
+ function GenericHandlerEvent(request, serverlessHandler) {
46
+ this.request = request;
47
+ this.serverlessHandler = serverlessHandler;
48
+ }
49
+ GenericHandlerEvent.prototype.invoke = function () {
50
+ return __awaiter(this, void 0, void 0, function () {
51
+ var _this = this;
52
+ return __generator(this, function (_a) {
53
+ // eslint-disable-next-line no-async-promise-executor
54
+ return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
55
+ var event_1, context, e_1;
56
+ return __generator(this, function (_a) {
57
+ switch (_a.label) {
58
+ case 0:
59
+ _a.trys.push([0, 2, , 3]);
60
+ event_1 = this.buildEvent();
61
+ context = this.buildContext(event_1, function (err, data) {
62
+ resolve({ err: err, data: data });
63
+ });
64
+ // Invoke
65
+ return [4 /*yield*/, this.serverlessHandler(event_1, context)];
66
+ case 1:
67
+ // Invoke
68
+ _a.sent();
69
+ return [3 /*break*/, 3];
70
+ case 2:
71
+ e_1 = _a.sent();
72
+ reject(e_1); // forward rejection
73
+ return [3 /*break*/, 3];
74
+ case 3: return [2 /*return*/];
75
+ }
76
+ });
77
+ }); })];
78
+ });
79
+ });
80
+ };
81
+ /* private */
82
+ GenericHandlerEvent.prototype.buildEvent = function () {
83
+ var _a;
84
+ return {
85
+ body: this.request.body || null,
86
+ headers: this.request.headers ? (0, unflatten_1.default)(this.request.headers, 2) : [],
87
+ httpMethod: this.request.method
88
+ ? this.request.method.toUpperCase()
89
+ : null,
90
+ isBase64Encoded: false,
91
+ multiValueHeaders: (0, Utils_1.parseMultiValueHeaders)(this.request.headers ? this.request.headers || [] : []),
92
+ multiValueQueryStringParameters: (0, Utils_1.parseMultiValueQueryStringParameters)(this.request.url),
93
+ path: this.request.path,
94
+ pathParameters: this.request.params
95
+ ? (0, Utils_1.nullIfEmpty)(this.request.params)
96
+ : null,
97
+ queryStringParameters: this.request.query
98
+ ? (0, Utils_1.parseQueryStringParameters)(this.request.query)
99
+ : null,
100
+ requestContext: {
101
+ accountId: process.env.AWS_ACCOUNT_ID || null,
102
+ apiId: null,
103
+ authorizer: null,
104
+ domainName: null,
105
+ domainPrefix: null,
106
+ extendedRequestId: cuid(),
107
+ httpMethod: this.request.method
108
+ ? this.request.method.toUpperCase()
109
+ : null,
110
+ identity: {
111
+ accessKey: null,
112
+ accountId: process.env.AWS_ACCOUNT_ID || null,
113
+ caller: null,
114
+ apiKey: null,
115
+ apiKeyId: null,
116
+ clientCert: null,
117
+ cognitoAuthenticationProvider: null,
118
+ cognitoAuthenticationType: null,
119
+ cognitoIdentityId: null,
120
+ cognitoIdentityPoolId: null,
121
+ principalOrgId: null,
122
+ sourceIp: ((_a = this.request.headers) === null || _a === void 0 ? void 0 : _a["x-forwarded-for"]) ||
123
+ this.request.socket.remoteAddress,
124
+ user: null,
125
+ userAgent: this.request.headers
126
+ ? this.request.headers["user-agent"]
127
+ : null,
128
+ userArn: null,
129
+ },
130
+ path: this.request.path,
131
+ protocol: "HTTP/1.1",
132
+ requestId: "".concat(cuid(), "-").concat(cuid()),
133
+ requestTime: new Date().toISOString(),
134
+ requestTimeEpoch: Date.now(),
135
+ resourceId: null,
136
+ resourcePath: Globals_1.default.Listener_HTTP_ProxyRoute,
137
+ stage: process.env.STAGE,
138
+ },
139
+ resource: Globals_1.default.Listener_HTTP_ProxyRoute,
140
+ stageVariables: null,
141
+ };
142
+ };
143
+ GenericHandlerEvent.prototype.buildContext = function (event, callback) {
144
+ return {
145
+ awsRequestId: event.requestContext.requestId,
146
+ callbackWaitsForEmptyEventLoop: true,
147
+ getRemainingTimeInMillis: function () {
148
+ return 0;
149
+ },
150
+ done: function (err, data) { return callback(err, data); },
151
+ fail: function (err) { return callback(err); },
152
+ succeed: function (res) { return callback(null, res); },
153
+ functionName: null,
154
+ functionVersion: "LATEST",
155
+ invokedFunctionArn: null,
156
+ memoryLimitInMB: "-1",
157
+ logGroupName: null,
158
+ logStreamName: null,
159
+ };
160
+ };
161
+ return GenericHandlerEvent;
162
+ }());
163
+ exports.default = GenericHandlerEvent;
164
+ //# sourceMappingURL=GenericHandlerEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericHandlerEvent.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandlerEvent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2BAA4B;AAE5B,uCAAiC;AAEjC,iCAKgB;AAChB,4CAAsC;AAItC,EAAE;AACF;IAGE,6BACE,OAAgB,EAChB,iBAAkD;QAElD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;IAC5C,CAAC;IACY,oCAAM,GAAnB;;;;gBACE,qDAAqD;gBACrD,sBAAO,IAAI,OAAO,CAAC,UAAO,OAAO,EAAE,MAAM;;;;;;oCAG/B,UAAQ,IAAI,CAAC,UAAU,EAAE,CAAA;oCACzB,OAAO,GAAG,IAAI,CAAC,YAAY,CAC/B,OAAK,EACL,UAAC,GAAoB,EAAE,IAAU;wCAC/B,OAAO,CAAC,EAAE,GAAG,KAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;oCACxB,CAAC,CACF,CAAA;oCACD,SAAS;oCACT,qBAAM,IAAI,CAAC,iBAAiB,CAAC,OAAK,EAAE,OAAO,CAAC,EAAA;;oCAD5C,SAAS;oCACT,SAA4C,CAAA;;;;oCAE5C,MAAM,CAAC,GAAC,CAAC,CAAA,CAAC,oBAAoB;;;;;yBAEjC,CAAC,EAAA;;;KACH;IACD,aAAa;IACL,wCAAU,GAAlB;;QACE,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,mBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACvE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;gBACnC,CAAC,CAAC,IAAI;YACR,eAAe,EAAE,KAAK;YACtB,iBAAiB,EAAE,IAAA,8BAAsB,EACvC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACvD;YACD,+BAA+B,EAAE,IAAA,4CAAoC,EACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CACjB;YACD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;gBACjC,CAAC,CAAC,IAAA,mBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAClC,CAAC,CAAC,IAAI;YACR,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACvC,CAAC,CAAC,IAAA,kCAA0B,EAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAChD,CAAC,CAAC,IAAI;YACR,cAAc,EAAE;gBACd,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI;gBAC7C,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;gBAClB,iBAAiB,EAAE,IAAI,EAAE;gBACzB,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;oBAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE;oBACnC,CAAC,CAAC,IAAI;gBACR,QAAQ,EAAE;oBACR,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,IAAI;oBAC7C,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;oBAChB,6BAA6B,EAAE,IAAI;oBACnC,yBAAyB,EAAE,IAAI;oBAC/B,iBAAiB,EAAE,IAAI;oBACvB,qBAAqB,EAAE,IAAI;oBAC3B,cAAc,EAAE,IAAI;oBACpB,QAAQ,EACN,CAAQ,MAAA,IAAI,CAAC,OAAO,CAAC,OAAO,0CAAG,iBAAiB,CAAC;wBACjD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa;oBACnC,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;wBAC7B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;wBACpC,CAAC,CAAC,IAAI;oBACR,OAAO,EAAE,IAAI;iBACd;gBACD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,UAAG,IAAI,EAAE,cAAI,IAAI,EAAE,CAAE;gBAChC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE;gBAC5B,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,iBAAO,CAAC,wBAAwB;gBAC9C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK;aACzB;YACD,QAAQ,EAAE,iBAAO,CAAC,wBAAwB;YAC1C,cAAc,EAAE,IAAI;SACrB,CAAA;IACH,CAAC;IACO,0CAAY,GAApB,UACE,KAA2B,EAC3B,QAAoD;QAEpD,OAAO;YACL,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;YAC5C,8BAA8B,EAAE,IAAI;YACpC,wBAAwB,EAAE;gBACxB,OAAO,CAAC,CAAA;YACV,CAAC;YACD,IAAI,EAAE,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,EAAnB,CAAmB;YACxC,IAAI,EAAE,UAAC,GAAG,IAAK,OAAA,QAAQ,CAAC,GAAG,CAAC,EAAb,CAAa;YAC5B,OAAO,EAAE,UAAC,GAAG,IAAK,OAAA,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,EAAnB,CAAmB;YACrC,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,QAAQ;YACzB,kBAAkB,EAAE,IAAI;YACxB,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;SACpB,CAAA;IACH,CAAC;IACH,0BAAC;AAAD,CAAC,AApHD,IAoHC"}
@@ -0,0 +1,3 @@
1
+ import { Request, Response } from "express";
2
+ declare const _default: (_request: Request, res: Response) => Promise<Response<any, Record<string, any>>>;
3
+ export default _default;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.default = (function (_request, res) { return __awaiter(void 0, void 0, void 0, function () {
40
+ return __generator(this, function (_a) {
41
+ return [2 /*return*/, res.send("Healthy!")];
42
+ });
43
+ }); });
44
+ //# sourceMappingURL=HealthHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HealthHandler.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/HealthHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,mBAAe,UAAO,QAAiB,EAAE,GAAa;;QACpD,sBAAO,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAA;;KAC5B,EAAA"}
@@ -0,0 +1,15 @@
1
+ import Server from "./../Server";
2
+ import { RouterConfig } from "../../Router";
3
+ export default class Proxy {
4
+ private stopping;
5
+ private readonly config;
6
+ private readonly app;
7
+ private readonly serverlessHandler;
8
+ private listener;
9
+ constructor(config: RouterConfig, serverlessHandler: Server["handleServerlessEvent"]);
10
+ load(): Promise<void>;
11
+ unload(err: any): Promise<void>;
12
+ private startListeners;
13
+ private stopListeners;
14
+ private installRoutes;
15
+ }