@creator.co/wapi 1.2.1-beta5 → 1.2.2
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/.github/workflows/npmpublish.yml +11 -19
- package/.github/workflows/prs.yml +13 -0
- package/jest.config.ts +39 -0
- package/package.json +15 -4
- package/src/API/Request.ts +120 -10
- package/src/API/Response.ts +236 -8
- package/src/API/Utils.ts +56 -1
- package/src/BaseEvent/EventProcessor.ts +84 -11
- package/src/BaseEvent/Process.ts +62 -1
- package/src/BaseEvent/Transaction.ts +5 -8
- package/src/Config/Configuration.ts +111 -5
- package/src/Config/EnvironmentVar.ts +90 -1
- package/src/Crypto/Crypto.ts +77 -18
- package/src/Crypto/JWT.ts +49 -3
- package/src/Globals.ts +141 -3
- package/src/Logger/Logger.ts +173 -19
- package/src/Mailer/Mailer.ts +95 -0
- package/src/Publisher/Publisher.ts +50 -4
- package/src/Server/RouteResolver.ts +142 -0
- package/src/Server/Router.ts +77 -0
- package/src/Server/lib/ContainerServer.ts +48 -1
- package/src/Server/lib/Server.ts +78 -38
- package/src/Server/lib/container/GenericHandler.ts +7 -5
- package/src/Server/lib/container/GenericHandlerEvent.ts +59 -17
- package/src/Server/lib/container/HealthHandler.ts +1 -1
- package/src/Server/lib/container/Proxy.ts +92 -11
- package/src/Server/lib/container/Utils.ts +16 -25
- package/src/Validation/Validator.ts +18 -2
- package/tests/API/Request.test.ts +263 -0
- package/tests/API/Response.test.ts +372 -0
- package/tests/API/Utils.test.ts +157 -0
- package/tests/BaseEvent/EventProcessor.test.ts +278 -0
- package/tests/BaseEvent/Process.test.ts +49 -0
- package/tests/BaseEvent/Transaction.test.ts +231 -0
- package/tests/Config/Config.test.ts +193 -0
- package/tests/Config/EnvironmentVar.test.ts +223 -0
- package/tests/Crypto/Crypto.test.ts +90 -0
- package/tests/Crypto/JWT.test.ts +92 -0
- package/tests/Logger/Logger.test.ts +108 -0
- package/tests/Mailer/Mailer.test.ts +67 -0
- package/tests/Publisher/Publisher.test.ts +60 -0
- package/tests/Server/RouteResolver.test.ts +106 -0
- package/tests/Server/Router.test.ts +38 -0
- package/tests/Server/lib/ContainerServer.test.ts +329 -0
- package/tests/Server/lib/Server.test.ts +12 -0
- package/tests/Server/lib/container/GenericHandler.test.ts +141 -0
- package/tests/Server/lib/container/GenericHandlerEvent.test.ts +103 -0
- package/tests/Server/lib/container/HealthHandler.test.ts +30 -0
- package/tests/Server/lib/container/Proxy.test.ts +278 -0
- package/tests/Server/lib/container/Utils.test.ts +48 -0
- package/tests/Test.utils.ts +95 -0
- package/tests/Validation/Validator.test.ts +88 -0
- package/tests/main.test.ts +15 -0
- package/tsconfig.json +1 -0
- package/dist/index.d.ts +0 -11
- package/dist/index.js +0 -24
- package/dist/index.js.map +0 -1
- package/dist/package.json +0 -53
- package/dist/src/API/Request.d.ts +0 -21
- package/dist/src/API/Request.js +0 -86
- package/dist/src/API/Request.js.map +0 -1
- package/dist/src/API/Response.d.ts +0 -39
- package/dist/src/API/Response.js +0 -232
- package/dist/src/API/Response.js.map +0 -1
- package/dist/src/API/Utils.d.ts +0 -8
- package/dist/src/API/Utils.js +0 -49
- package/dist/src/API/Utils.js.map +0 -1
- package/dist/src/BaseEvent/EventProcessor.d.ts +0 -13
- package/dist/src/BaseEvent/EventProcessor.js +0 -151
- package/dist/src/BaseEvent/EventProcessor.js.map +0 -1
- package/dist/src/BaseEvent/Process.d.ts +0 -12
- package/dist/src/BaseEvent/Process.js +0 -114
- package/dist/src/BaseEvent/Process.js.map +0 -1
- package/dist/src/BaseEvent/Transaction.d.ts +0 -29
- package/dist/src/BaseEvent/Transaction.js +0 -248
- package/dist/src/BaseEvent/Transaction.js.map +0 -1
- package/dist/src/Config/Configuration.d.ts +0 -34
- package/dist/src/Config/Configuration.js +0 -93
- package/dist/src/Config/Configuration.js.map +0 -1
- package/dist/src/Config/EnvironmentVar.d.ts +0 -17
- package/dist/src/Config/EnvironmentVar.js +0 -152
- package/dist/src/Config/EnvironmentVar.js.map +0 -1
- package/dist/src/Crypto/Crypto.d.ts +0 -8
- package/dist/src/Crypto/Crypto.js +0 -84
- package/dist/src/Crypto/Crypto.js.map +0 -1
- package/dist/src/Crypto/JWT.d.ts +0 -16
- package/dist/src/Crypto/JWT.js +0 -49
- package/dist/src/Crypto/JWT.js.map +0 -1
- package/dist/src/Globals.d.ts +0 -21
- package/dist/src/Globals.js +0 -35
- package/dist/src/Globals.js.map +0 -1
- package/dist/src/Logger/Logger.d.ts +0 -34
- package/dist/src/Logger/Logger.js +0 -345
- package/dist/src/Logger/Logger.js.map +0 -1
- package/dist/src/Mailer/Mailer.d.ts +0 -12
- package/dist/src/Mailer/Mailer.js +0 -234
- package/dist/src/Mailer/Mailer.js.map +0 -1
- package/dist/src/Publisher/Publisher.d.ts +0 -10
- package/dist/src/Publisher/Publisher.js +0 -109
- package/dist/src/Publisher/Publisher.js.map +0 -1
- package/dist/src/Server/Router.d.ts +0 -27
- package/dist/src/Server/Router.js +0 -22
- package/dist/src/Server/Router.js.map +0 -1
- package/dist/src/Server/lib/ContainerServer.d.ts +0 -11
- package/dist/src/Server/lib/ContainerServer.js +0 -103
- package/dist/src/Server/lib/ContainerServer.js.map +0 -1
- package/dist/src/Server/lib/Server.d.ts +0 -9
- package/dist/src/Server/lib/Server.js +0 -141
- package/dist/src/Server/lib/Server.js.map +0 -1
- package/dist/src/Server/lib/container/GenericHandler.d.ts +0 -4
- package/dist/src/Server/lib/container/GenericHandler.js +0 -136
- package/dist/src/Server/lib/container/GenericHandler.js.map +0 -1
- package/dist/src/Server/lib/container/GenericHandlerEvent.d.ts +0 -14
- package/dist/src/Server/lib/container/GenericHandlerEvent.js +0 -164
- package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +0 -1
- package/dist/src/Server/lib/container/HealthHandler.d.ts +0 -3
- package/dist/src/Server/lib/container/HealthHandler.js +0 -44
- package/dist/src/Server/lib/container/HealthHandler.js.map +0 -1
- package/dist/src/Server/lib/container/Proxy.d.ts +0 -15
- package/dist/src/Server/lib/container/Proxy.js +0 -157
- package/dist/src/Server/lib/container/Proxy.js.map +0 -1
- package/dist/src/Server/lib/container/Utils.d.ts +0 -6
- package/dist/src/Server/lib/container/Utils.js +0 -109
- package/dist/src/Server/lib/container/Utils.js.map +0 -1
- package/dist/src/Validation/Validator.d.ts +0 -5
- package/dist/src/Validation/Validator.js +0 -31
- package/dist/src/Validation/Validator.js.map +0 -1
|
@@ -1,109 +0,0 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
-
var client_sns_1 = require("@aws-sdk/client-sns");
|
|
51
|
-
var sha1 = require("sha1");
|
|
52
|
-
//reusable client
|
|
53
|
-
// eslint-disable-next-line no-var
|
|
54
|
-
var PUBLISHER_CONN = null;
|
|
55
|
-
// eslint-disable-next-line no-var
|
|
56
|
-
var PUBLISHER_CONN_HASH = null;
|
|
57
|
-
//
|
|
58
|
-
var Publisher = /** @class */ (function () {
|
|
59
|
-
function Publisher(config) {
|
|
60
|
-
if (config && config.region) {
|
|
61
|
-
this.region = config.region;
|
|
62
|
-
// console.debug(`Using region: ${this.region}`);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/* Public */
|
|
66
|
-
Publisher.prototype.publishOnTopic = function (messageObject, topic, additionalProps) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
68
|
-
var resp, params, e_1;
|
|
69
|
-
return __generator(this, function (_a) {
|
|
70
|
-
switch (_a.label) {
|
|
71
|
-
case 0:
|
|
72
|
-
resp = null;
|
|
73
|
-
_a.label = 1;
|
|
74
|
-
case 1:
|
|
75
|
-
_a.trys.push([1, 4, , 5]);
|
|
76
|
-
this._connect();
|
|
77
|
-
params = __assign({ Message: JSON.stringify(messageObject), TopicArn: topic }, (additionalProps ? additionalProps : {}));
|
|
78
|
-
if (!PUBLISHER_CONN) return [3 /*break*/, 3];
|
|
79
|
-
return [4 /*yield*/, PUBLISHER_CONN.send(new client_sns_1.PublishCommand(params))];
|
|
80
|
-
case 2:
|
|
81
|
-
resp = _a.sent();
|
|
82
|
-
_a.label = 3;
|
|
83
|
-
case 3: return [3 /*break*/, 5];
|
|
84
|
-
case 4:
|
|
85
|
-
e_1 = _a.sent();
|
|
86
|
-
console.error("Error while publishing into topic ".concat(topic, " with error: ").concat(e_1));
|
|
87
|
-
return [3 /*break*/, 5];
|
|
88
|
-
case 5:
|
|
89
|
-
console.debug("Publisher resp", resp);
|
|
90
|
-
return [2 /*return*/, resp];
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
/* Private */
|
|
96
|
-
Publisher.prototype._connect = function () {
|
|
97
|
-
if ((!PUBLISHER_CONN && !PUBLISHER_CONN_HASH) ||
|
|
98
|
-
PUBLISHER_CONN_HASH != sha1(this.region)) {
|
|
99
|
-
PUBLISHER_CONN = new client_sns_1.SNSClient({
|
|
100
|
-
apiVersion: "2010-03-31",
|
|
101
|
-
region: this.region,
|
|
102
|
-
});
|
|
103
|
-
PUBLISHER_CONN_HASH = sha1(this.region).toString();
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
return Publisher;
|
|
107
|
-
}());
|
|
108
|
-
exports.default = Publisher;
|
|
109
|
-
//# sourceMappingURL=Publisher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Publisher.js","sourceRoot":"","sources":["../../../src/Publisher/Publisher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAK4B;AAC5B,2BAA4B;AAC5B,iBAAiB;AACjB,kCAAkC;AAClC,IAAI,cAAc,GAAqB,IAAI,CAAA;AAC3C,kCAAkC;AAClC,IAAI,mBAAmB,GAAkB,IAAI,CAAA;AAK7C,EAAE;AACF;IAEE,mBAAY,MAAwB;QAClC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAC3B,iDAAiD;SAClD;IACH,CAAC;IACD,YAAY;IACN,kCAAc,GAApB,UACE,aAAkB,EAClB,KAAa,EACb,eAAwB;;;;;;wBAEpB,IAAI,GAAgC,IAAI,CAAA;;;;wBAE1C,IAAI,CAAC,QAAQ,EAAE,CAAA;wBAET,MAAM,cACV,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EACtC,QAAQ,EAAE,KAAK,IACZ,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5C,CAAA;6BACG,cAAc,EAAd,wBAAc;wBACT,qBAAM,cAAc,CAAC,IAAI,CAAC,IAAI,2BAAc,CAAC,MAAM,CAAC,CAAC,EAAA;;wBAA5D,IAAI,GAAG,SAAqD,CAAA;;;;;wBAE9D,OAAO,CAAC,KAAK,CACX,4CAAqC,KAAK,0BAAgB,GAAC,CAAE,CAC9D,CAAA;;;wBAEH,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;wBACrC,sBAAO,IAAI,EAAA;;;;KACZ;IACD,aAAa;IACb,4BAAQ,GAAR;QACE,IACE,CAAC,CAAC,cAAc,IAAI,CAAC,mBAAmB,CAAC;YACzC,mBAAmB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EACxC;YACA,cAAc,GAAG,IAAI,sBAAS,CAAC;gBAC7B,UAAU,EAAE,YAAY;gBACxB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;YACF,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;SACnD;IACH,CAAC;IACH,gBAAC;AAAD,CAAC,AA9CD,IA8CC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { ResponseErrorType } from "../API/Response";
|
|
3
|
-
import Transaction, { TransactionConfig, TransactionExecution } from "../BaseEvent/Transaction";
|
|
4
|
-
export interface Route<InputType = any, OutputType = any> {
|
|
5
|
-
path: string;
|
|
6
|
-
method: string;
|
|
7
|
-
handler: TransactionExecution<Transaction<InputType, OutputType | ResponseErrorType>, OutputType | ResponseErrorType>;
|
|
8
|
-
inputSchema?: z.ZodObject<any>;
|
|
9
|
-
}
|
|
10
|
-
export type RouterConfig = TransactionConfig & {
|
|
11
|
-
routes: Route[];
|
|
12
|
-
port?: number;
|
|
13
|
-
timeout?: number;
|
|
14
|
-
cors?: {
|
|
15
|
-
origin?: string | string[];
|
|
16
|
-
headers?: string[];
|
|
17
|
-
allowCredentials?: boolean;
|
|
18
|
-
};
|
|
19
|
-
healthCheckRoute?: string;
|
|
20
|
-
};
|
|
21
|
-
export default class Router {
|
|
22
|
-
private readonly config;
|
|
23
|
-
private readonly server;
|
|
24
|
-
constructor(config: RouterConfig);
|
|
25
|
-
getExport(): CallableFunction;
|
|
26
|
-
private isContainer;
|
|
27
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var ContainerServer_1 = require("./lib/ContainerServer");
|
|
4
|
-
var Server_1 = require("./lib/Server");
|
|
5
|
-
var Utils_1 = require("../API/Utils");
|
|
6
|
-
var Router = /** @class */ (function () {
|
|
7
|
-
function Router(config) {
|
|
8
|
-
this.config = config;
|
|
9
|
-
this.server = this.isContainer()
|
|
10
|
-
? new ContainerServer_1.default(config)
|
|
11
|
-
: new Server_1.default(config);
|
|
12
|
-
}
|
|
13
|
-
Router.prototype.getExport = function () {
|
|
14
|
-
return this.server.getExport();
|
|
15
|
-
};
|
|
16
|
-
Router.prototype.isContainer = function () {
|
|
17
|
-
return Utils_1.default.isHybridlessContainer();
|
|
18
|
-
};
|
|
19
|
-
return Router;
|
|
20
|
-
}());
|
|
21
|
-
exports.default = Router;
|
|
22
|
-
//# sourceMappingURL=Router.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/Server/Router.ts"],"names":[],"mappings":";;AAEA,yDAAmD;AACnD,uCAAiC;AAEjC,sCAAgC;AAqChC;IAGE,gBAAY,MAAoB;QAC9B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;YAC9B,CAAC,CAAC,IAAI,yBAAe,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,IAAI,gBAAM,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IACM,0BAAS,GAAhB;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAA;IAChC,CAAC;IACO,4BAAW,GAAnB;QACE,OAAO,eAAK,CAAC,qBAAqB,EAAE,CAAA;IACtC,CAAC;IACH,aAAC;AAAD,CAAC,AAfD,IAeC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import Proxy from "./container/Proxy";
|
|
2
|
-
import Server from "./Server";
|
|
3
|
-
import { RouterConfig } from "../Router";
|
|
4
|
-
export default class ContainerServer extends Server {
|
|
5
|
-
protected readonly proxy: Proxy;
|
|
6
|
-
constructor(config: RouterConfig);
|
|
7
|
-
getExport(): CallableFunction;
|
|
8
|
-
start(): Promise<void>;
|
|
9
|
-
stop(err: any): Promise<void>;
|
|
10
|
-
private listenProcessEvents;
|
|
11
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
18
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
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) : adopt(result.value).then(fulfilled, rejected); }
|
|
23
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
24
|
-
});
|
|
25
|
-
};
|
|
26
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
27
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
28
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
29
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
30
|
-
function step(op) {
|
|
31
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
32
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
33
|
-
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;
|
|
34
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
35
|
-
switch (op[0]) {
|
|
36
|
-
case 0: case 1: t = op; break;
|
|
37
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
38
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
39
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
40
|
-
default:
|
|
41
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
42
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
43
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
44
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
45
|
-
if (t[2]) _.ops.pop();
|
|
46
|
-
_.trys.pop(); continue;
|
|
47
|
-
}
|
|
48
|
-
op = body.call(thisArg, _);
|
|
49
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
50
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
54
|
-
var Proxy_1 = require("./container/Proxy");
|
|
55
|
-
var Server_1 = require("./Server");
|
|
56
|
-
var ContainerServer = /** @class */ (function (_super) {
|
|
57
|
-
__extends(ContainerServer, _super);
|
|
58
|
-
function ContainerServer(config) {
|
|
59
|
-
var _this = _super.call(this, config) || this;
|
|
60
|
-
_this.proxy = new Proxy_1.default(config, _this.handleServerlessEvent.bind(_this));
|
|
61
|
-
_this.listenProcessEvents();
|
|
62
|
-
return _this;
|
|
63
|
-
}
|
|
64
|
-
ContainerServer.prototype.getExport = function () {
|
|
65
|
-
// start server socket
|
|
66
|
-
this.start();
|
|
67
|
-
// return empty function, we are all done
|
|
68
|
-
return function () { };
|
|
69
|
-
};
|
|
70
|
-
/* private */
|
|
71
|
-
ContainerServer.prototype.start = function () {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
73
|
-
return __generator(this, function (_a) {
|
|
74
|
-
switch (_a.label) {
|
|
75
|
-
case 0: return [4 /*yield*/, this.proxy.load()];
|
|
76
|
-
case 1:
|
|
77
|
-
_a.sent();
|
|
78
|
-
return [2 /*return*/];
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
ContainerServer.prototype.stop = function (err) {
|
|
84
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
-
return __generator(this, function (_a) {
|
|
86
|
-
switch (_a.label) {
|
|
87
|
-
case 0: return [4 /*yield*/, this.proxy.unload(err)];
|
|
88
|
-
case 1:
|
|
89
|
-
_a.sent();
|
|
90
|
-
return [2 /*return*/];
|
|
91
|
-
}
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
ContainerServer.prototype.listenProcessEvents = function () {
|
|
96
|
-
// start process listeners
|
|
97
|
-
process.on("unhandledRejection", this.stop.bind(this)); // listen to exceptions
|
|
98
|
-
process.on("SIGINT", this.stop.bind(this)); // listen on SIGINT signal and gracefully stop the server
|
|
99
|
-
};
|
|
100
|
-
return ContainerServer;
|
|
101
|
-
}(Server_1.default));
|
|
102
|
-
exports.default = ContainerServer;
|
|
103
|
-
//# sourceMappingURL=ContainerServer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerServer.js","sourceRoot":"","sources":["../../../../src/Server/lib/ContainerServer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAqC;AACrC,mCAA6B;AAG7B;IAA6C,mCAAM;IAEjD,yBAAY,MAAoB;QAAhC,YACE,kBAAM,MAAM,CAAC,SAGd;QAFC,KAAI,CAAC,KAAK,GAAG,IAAI,eAAK,CAAC,MAAM,EAAE,KAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC,CAAA;QACrE,KAAI,CAAC,mBAAmB,EAAE,CAAA;;IAC5B,CAAC;IACM,mCAAS,GAAhB;QACE,sBAAsB;QACtB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,yCAAyC;QACzC,OAAO,cAAO,CAAC,CAAA;IACjB,CAAC;IACD,aAAa;IACA,+BAAK,GAAlB;;;;4BACE,qBAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAA;;wBAAvB,SAAuB,CAAA;;;;;KACxB;IACY,8BAAI,GAAjB,UAAkB,GAAG;;;;4BACnB,qBAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAA;;wBAA5B,SAA4B,CAAA;;;;;KAC7B;IACO,6CAAmB,GAA3B;QACE,0BAA0B;QAC1B,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,uBAAuB;QAC9E,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA,CAAC,yDAAyD;IACtG,CAAC;IACH,sBAAC;AAAD,CAAC,AAzBD,CAA6C,gBAAM,GAyBlD"}
|
|
@@ -1,9 +0,0 @@
|
|
|
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 static routeMatches;
|
|
9
|
-
}
|
|
@@ -1,141 +0,0 @@
|
|
|
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 pathToRegexp = 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.bind(this);
|
|
60
|
-
};
|
|
61
|
-
Server.prototype.handleServerlessEvent = function (event, context) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
63
|
-
var config;
|
|
64
|
-
var _this = this;
|
|
65
|
-
return __generator(this, function (_a) {
|
|
66
|
-
switch (_a.label) {
|
|
67
|
-
case 0:
|
|
68
|
-
config = this.config;
|
|
69
|
-
// init transaction
|
|
70
|
-
return [4 /*yield*/, new Transaction_1.default(event, context, config).execute(function (transaction) { return __awaiter(_this, void 0, void 0, function () {
|
|
71
|
-
var _a, _b, route, handler, validationResp, e_1_1;
|
|
72
|
-
var e_1, _c;
|
|
73
|
-
return __generator(this, function (_d) {
|
|
74
|
-
switch (_d.label) {
|
|
75
|
-
case 0:
|
|
76
|
-
_d.trys.push([0, 5, 6, 7]);
|
|
77
|
-
_a = __values(config.routes), _b = _a.next();
|
|
78
|
-
_d.label = 1;
|
|
79
|
-
case 1:
|
|
80
|
-
if (!!_b.done) return [3 /*break*/, 4];
|
|
81
|
-
route = _b.value;
|
|
82
|
-
handler = Server.routeMatches(route.path, route.method, transaction);
|
|
83
|
-
if (!handler) return [3 /*break*/, 3];
|
|
84
|
-
transaction.logger.log("Router accepted route:", route.path);
|
|
85
|
-
// Validate input
|
|
86
|
-
if (route.inputSchema) {
|
|
87
|
-
validationResp = Validator_1.default.validateSchema(transaction.request.getBody(), route.inputSchema);
|
|
88
|
-
if (validationResp && validationResp instanceof Response_1.default)
|
|
89
|
-
return [2 /*return*/, validationResp];
|
|
90
|
-
}
|
|
91
|
-
return [4 /*yield*/, route.handler(transaction)];
|
|
92
|
-
case 2:
|
|
93
|
-
// Continue to route handler
|
|
94
|
-
return [2 /*return*/, _d.sent()];
|
|
95
|
-
case 3:
|
|
96
|
-
_b = _a.next();
|
|
97
|
-
return [3 /*break*/, 1];
|
|
98
|
-
case 4: return [3 /*break*/, 7];
|
|
99
|
-
case 5:
|
|
100
|
-
e_1_1 = _d.sent();
|
|
101
|
-
e_1 = { error: e_1_1 };
|
|
102
|
-
return [3 /*break*/, 7];
|
|
103
|
-
case 6:
|
|
104
|
-
try {
|
|
105
|
-
if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
|
|
106
|
-
}
|
|
107
|
-
finally { if (e_1) throw e_1.error; }
|
|
108
|
-
return [7 /*endfinally*/];
|
|
109
|
-
case 7:
|
|
110
|
-
//No route found :/
|
|
111
|
-
return [2 /*return*/, new Response_1.default(404, { err: "Route not found!" })];
|
|
112
|
-
}
|
|
113
|
-
});
|
|
114
|
-
}); })];
|
|
115
|
-
case 1:
|
|
116
|
-
// init transaction
|
|
117
|
-
_a.sent();
|
|
118
|
-
return [2 /*return*/];
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
|
-
// Helper function to match route
|
|
124
|
-
Server.routeMatches = function (routePath, routeMethod, transaction) {
|
|
125
|
-
var path = transaction.request.getPath();
|
|
126
|
-
var keys = [];
|
|
127
|
-
var result = pathToRegexp(routePath, keys).exec(path);
|
|
128
|
-
if (result) {
|
|
129
|
-
var reqMethod = transaction.request.getMethod();
|
|
130
|
-
if (reqMethod.toLowerCase() == routeMethod.toLowerCase()) {
|
|
131
|
-
//Fix path params on proxy
|
|
132
|
-
transaction.request.setFixedPathParams(keys, result);
|
|
133
|
-
return true;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return false;
|
|
137
|
-
};
|
|
138
|
-
return Server;
|
|
139
|
-
}());
|
|
140
|
-
exports.default = Server;
|
|
141
|
-
//# sourceMappingURL=Server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/lib/Server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA8C;AAE9C,+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,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;IAEY,sCAAqB,GAAlC,UACE,KAA2B,EAC3B,OAAgB;;;;;;;wBAEV,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;wBAC1B,mBAAmB;wBACnB,qBAAM,IAAI,qBAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CACnD,UAAO,WAAW;;;;;;;4CACI,KAAA,SAAA,MAAM,CAAC,MAAM,CAAA;;;;4CAAtB,KAAK;4CAER,OAAO,GAAG,MAAM,CAAC,YAAY,CACjC,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,WAAW,CACZ,CAAA;iDACG,OAAO,EAAP,wBAAO;4CACT,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;4CAC5D,iBAAiB;4CACjB,IAAI,KAAK,CAAC,WAAW,EAAE;gDACf,cAAc,GAAG,mBAAS,CAAC,cAAc,CAC7C,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,EAC7B,KAAK,CAAC,WAAW,CAClB,CAAA;gDACD,IAAI,cAAc,IAAI,cAAc,YAAY,kBAAQ;oDACtD,sBAAO,cAAc,EAAA;6CACxB;4CAEM,qBAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAA;;wCADvC,4BAA4B;wCAC5B,sBAAO,SAAgC,EAAA;;;;;;;;;;;;;;;;wCAG3C,mBAAmB;wCACnB,sBAAO,IAAI,kBAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,EAAA;;;iCACtD,CACF,EAAA;;wBA5BD,mBAAmB;wBACnB,SA2BC,CAAA;;;;;KACF;IACD,iCAAiC;IAClB,mBAAY,GAA3B,UACE,SAAiB,EACjB,WAAmB,EACnB,WAAwB;QAExB,IAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;QAC1C,IAAM,IAAI,GAAG,EAAE,CAAA;QACf,IAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvD,IAAI,MAAM,EAAE;YACV,IAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAA;YACjD,IAAI,SAAS,CAAC,WAAW,EAAE,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE;gBACxD,0BAA0B;gBAC1B,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACpD,OAAO,IAAI,CAAA;aACZ;SACF;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IACH,aAAC;AAAD,CAAC,AAhED,IAgEC"}
|
|
@@ -1,136 +0,0 @@
|
|
|
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 Utils_1 = require("../../../API/Utils");
|
|
63
|
-
var Globals_1 = require("../../../Globals");
|
|
64
|
-
exports.default = (function (serverlessHandler) {
|
|
65
|
-
return function (request, res) { return __awaiter(void 0, void 0, void 0, function () {
|
|
66
|
-
var startTime, resp, event_1, invokationResp, e_1;
|
|
67
|
-
return __generator(this, function (_a) {
|
|
68
|
-
switch (_a.label) {
|
|
69
|
-
case 0:
|
|
70
|
-
startTime = Date.now();
|
|
71
|
-
resp = null;
|
|
72
|
-
_a.label = 1;
|
|
73
|
-
case 1:
|
|
74
|
-
_a.trys.push([1, 3, , 4]);
|
|
75
|
-
event_1 = new GenericHandlerEvent_1.default(request, serverlessHandler);
|
|
76
|
-
return [4 /*yield*/, event_1.invoke()
|
|
77
|
-
// Respond
|
|
78
|
-
];
|
|
79
|
-
case 2:
|
|
80
|
-
invokationResp = _a.sent();
|
|
81
|
-
// Respond
|
|
82
|
-
resp = processServerlessResponse(invokationResp, res);
|
|
83
|
-
return [3 /*break*/, 4];
|
|
84
|
-
case 3:
|
|
85
|
-
e_1 = _a.sent();
|
|
86
|
-
console.error("[Proxy] - Exception during execution!", e_1);
|
|
87
|
-
console.error(e_1.stack);
|
|
88
|
-
resp = res.status(Globals_1.default.Resp_STATUSCODE_EXCEPTION).json(__assign(__assign({}, e_1), { err: Globals_1.default.Resp_MSG_EXCEPTION, errCode: Globals_1.default.Resp_CODE_EXCEPTION }));
|
|
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.status(Globals_1.default.Resp_STATUSCODE_INVALIDRESP).json({
|
|
108
|
-
err: Globals_1.default.Resp_MSG_INVALIDRESP,
|
|
109
|
-
errCode: Globals_1.default.Resp_CODE_INVALIDRESP,
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
// Check for headers
|
|
114
|
-
if ((_b = invokation === null || invokation === void 0 ? void 0 : invokation.data) === null || _b === void 0 ? void 0 : _b.headers) {
|
|
115
|
-
try {
|
|
116
|
-
for (var _c = __values(Object.keys(invokation.data.headers)), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
117
|
-
var hKey = _d.value;
|
|
118
|
-
res.header(hKey, invokation.data.headers[hKey]);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
122
|
-
finally {
|
|
123
|
-
try {
|
|
124
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
125
|
-
}
|
|
126
|
-
finally { if (e_2) throw e_2.error; }
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
// valid
|
|
130
|
-
var response = res
|
|
131
|
-
.status(invokation.data.statusCode)
|
|
132
|
-
.json(Utils_1.default.parseObjectNullIfEmpty(invokation.data.body) || {});
|
|
133
|
-
return response;
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
//# sourceMappingURL=GenericHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GenericHandler.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,6DAE8B;AAC9B,4CAAsC;AACtC,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,OAAO,CAAC,KAAK,CAAC,GAAC,CAAC,KAAK,CAAC,CAAA;oBACtB,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,iBAAO,CAAC,yBAAyB,CAAC,CAAC,IAAI,uBACpD,GAAC,KACJ,GAAG,EAAE,iBAAO,CAAC,kBAAkB,EAC/B,OAAO,EAAE,iBAAO,CAAC,mBAAmB,IACpC,CAAA;;;oBAEJ,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,CAAC,MAAM,CAAC,iBAAO,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC;YAC1D,GAAG,EAAE,iBAAO,CAAC,oBAAoB;YACjC,OAAO,EAAE,iBAAO,CAAC,qBAAqB;SACvC,CAAC,CAAA;KACH;SAAM;QACL,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,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;iBAChD;;;;;;;;;SACF;QACD,QAAQ;QACR,IAAM,QAAQ,GAAG,GAAG;aACjB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;aAClC,IAAI,CAAC,eAAK,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;QACjE,OAAO,QAAQ,CAAA;KAChB;AACH,CAAC,CAAA"}
|
|
@@ -1,14 +0,0 @@
|
|
|
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
|
-
}
|