@creator.co/wapi 1.6.1 → 2.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npmpublish.yml +1 -1
- package/.github/workflows/prs.yml +1 -1
- package/dist/index.js +45 -31
- package/dist/index.js.map +1 -1
- package/dist/jest.config.js +2 -4
- package/dist/jest.config.js.map +1 -1
- package/dist/package.json +12 -12
- package/dist/src/API/Request.js +53 -59
- package/dist/src/API/Request.js.map +1 -1
- package/dist/src/API/Response.js +81 -156
- package/dist/src/API/Response.js.map +1 -1
- package/dist/src/BaseEvent/EventProcessor.js +54 -132
- package/dist/src/BaseEvent/EventProcessor.js.map +1 -1
- package/dist/src/BaseEvent/Process.js +40 -98
- package/dist/src/BaseEvent/Process.js.map +1 -1
- package/dist/src/BaseEvent/Transaction.js +122 -310
- package/dist/src/BaseEvent/Transaction.js.map +1 -1
- package/dist/src/Cache/Redis.js +55 -119
- package/dist/src/Cache/Redis.js.map +1 -1
- package/dist/src/Cache/types.js +1 -2
- package/dist/src/Config/Configuration.js +46 -86
- package/dist/src/Config/Configuration.js.map +1 -1
- package/dist/src/Config/EnvironmentVar.js +57 -119
- package/dist/src/Config/EnvironmentVar.js.map +1 -1
- package/dist/src/Crypto/Crypto.js +35 -82
- package/dist/src/Crypto/Crypto.js.map +1 -1
- package/dist/src/Crypto/JWT.js +12 -27
- package/dist/src/Crypto/JWT.js.map +1 -1
- package/dist/src/Database/Database.js +3 -8
- package/dist/src/Database/Database.js.map +1 -1
- package/dist/src/Database/DatabaseManager.js +23 -28
- package/dist/src/Database/DatabaseManager.js.map +1 -1
- package/dist/src/Database/DatabaseTransaction.js +50 -166
- package/dist/src/Database/DatabaseTransaction.js.map +1 -1
- package/dist/src/Database/index.js +11 -15
- package/dist/src/Database/index.js.map +1 -1
- package/dist/src/Database/integrations/knex/KnexDatabase.js +22 -76
- package/dist/src/Database/integrations/knex/KnexDatabase.js.map +1 -1
- package/dist/src/Database/integrations/knex/KnexTransaction.js +19 -85
- package/dist/src/Database/integrations/knex/KnexTransaction.js.map +1 -1
- package/dist/src/Database/integrations/kysely/KyselyDatabase.js +37 -88
- package/dist/src/Database/integrations/kysely/KyselyDatabase.js.map +1 -1
- package/dist/src/Database/integrations/kysely/KyselyTransaction.js +46 -114
- package/dist/src/Database/integrations/kysely/KyselyTransaction.js.map +1 -1
- package/dist/src/Database/integrations/pgsql/PostgresDatabase.js +20 -71
- package/dist/src/Database/integrations/pgsql/PostgresDatabase.js.map +1 -1
- package/dist/src/Database/integrations/pgsql/PostgresTransaction.js +19 -85
- package/dist/src/Database/integrations/pgsql/PostgresTransaction.js.map +1 -1
- package/dist/src/Database/types.js +1 -2
- package/dist/src/Globals.js +93 -98
- package/dist/src/Globals.js.map +1 -1
- package/dist/src/Logger/Logger.js +88 -222
- package/dist/src/Logger/Logger.js.map +1 -1
- package/dist/src/Mailer/Mailer.js +83 -204
- package/dist/src/Mailer/Mailer.js.map +1 -1
- package/dist/src/Publisher/Publisher.js +43 -107
- package/dist/src/Publisher/Publisher.js.map +1 -1
- package/dist/src/Server/RouteResolver.js +22 -49
- package/dist/src/Server/RouteResolver.js.map +1 -1
- package/dist/src/Server/Router.js +12 -16
- package/dist/src/Server/Router.js.map +1 -1
- package/dist/src/Server/lib/ContainerServer.js +21 -83
- package/dist/src/Server/lib/ContainerServer.js.map +1 -1
- package/dist/src/Server/lib/Server.js +50 -99
- package/dist/src/Server/lib/Server.js.map +1 -1
- package/dist/src/Server/lib/container/GenericHandler.js +32 -107
- package/dist/src/Server/lib/container/GenericHandler.js.map +1 -1
- package/dist/src/Server/lib/container/GenericHandlerEvent.js +37 -81
- package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +1 -1
- package/dist/src/Server/lib/container/HealthHandler.js +3 -35
- package/dist/src/Server/lib/container/HealthHandler.js.map +1 -1
- package/dist/src/Server/lib/container/Proxy.js +64 -127
- package/dist/src/Server/lib/container/Proxy.js.map +1 -1
- package/dist/src/Server/lib/container/Utils.js +12 -55
- package/dist/src/Server/lib/container/Utils.js.map +1 -1
- package/dist/src/Util/AsyncSingleton.js +40 -164
- package/dist/src/Util/AsyncSingleton.js.map +1 -1
- package/dist/src/Util/Utils.js +18 -24
- package/dist/src/Util/Utils.js.map +1 -1
- package/dist/src/Validation/Validator.js +10 -16
- package/dist/src/Validation/Validator.js.map +1 -1
- package/package.json +12 -12
- package/tests/Logger/Logger.test.ts +5 -3
- package/tsconfig.json +3 -1
|
@@ -1,15 +1,3 @@
|
|
|
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
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -19,100 +7,47 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
19
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
8
|
});
|
|
21
9
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
-
var Utils_1 = require("../../../Util/Utils");
|
|
10
|
+
import GenericHandlerEvent from './GenericHandlerEvent';
|
|
11
|
+
import Globals from '../../../Globals';
|
|
12
|
+
import Utils from '../../../Util/Utils';
|
|
64
13
|
/**
|
|
65
14
|
* Creates an async function that handles serverless events and sends a response.
|
|
66
15
|
* @param {Server['handleServerlessEvent']} serverlessHandler - The serverless handler function.
|
|
67
16
|
* @returns {Function} - An async function that handles the request and sends a response.
|
|
68
17
|
*/
|
|
69
|
-
|
|
18
|
+
export default (serverlessHandler) => {
|
|
70
19
|
/**
|
|
71
20
|
* Handles an HTTP request by invoking a serverless function and processing the response.
|
|
72
21
|
* @param {Request} request - The HTTP request object.
|
|
73
22
|
* @param {Response} res - The HTTP response object.
|
|
74
23
|
* @returns None
|
|
75
24
|
*/
|
|
76
|
-
return
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
case 3:
|
|
95
|
-
e_1 = _a.sent();
|
|
96
|
-
console.error('[Proxy] - Exception during execution!', e_1);
|
|
97
|
-
console.error(e_1.stack);
|
|
98
|
-
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 }));
|
|
99
|
-
return [3 /*break*/, 4];
|
|
100
|
-
case 4:
|
|
101
|
-
console.debug("[Proxy] - Request took ".concat(Date.now() - startTime, "ms"));
|
|
102
|
-
return [2 /*return*/];
|
|
103
|
-
}
|
|
104
|
-
});
|
|
105
|
-
}); };
|
|
106
|
-
});
|
|
25
|
+
return (request, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const startTime = Date.now();
|
|
27
|
+
try {
|
|
28
|
+
// Generate event with request stuff (http to serverless translation)
|
|
29
|
+
const event = new GenericHandlerEvent(request, serverlessHandler);
|
|
30
|
+
// Invoke
|
|
31
|
+
const invokationResp = yield event.invoke();
|
|
32
|
+
// Respond
|
|
33
|
+
processServerlessResponse(invokationResp, res);
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
console.error('[Proxy] - Exception during execution!', e);
|
|
37
|
+
console.error(e.stack);
|
|
38
|
+
res.status(Globals.Resp_STATUSCODE_EXCEPTION).json(Object.assign(Object.assign({}, e), { err: Globals.Resp_MSG_EXCEPTION, errCode: Globals.Resp_CODE_EXCEPTION }));
|
|
39
|
+
}
|
|
40
|
+
console.debug(`[Proxy] - Request took ${Date.now() - startTime}ms`);
|
|
41
|
+
});
|
|
42
|
+
};
|
|
107
43
|
/**
|
|
108
44
|
* Processes the response received from a serverless function invocation and sends the appropriate response back to the client.
|
|
109
45
|
* @param {GenericHandlerEventResponse} invokation - The response object received from the serverless function invocation.
|
|
110
46
|
* @param {Response} res - The response object to send back to the client.
|
|
111
47
|
* @returns The response object to send back to the client.
|
|
112
48
|
*/
|
|
113
|
-
|
|
114
|
-
var
|
|
115
|
-
var _b, _c;
|
|
49
|
+
const processServerlessResponse = (invokation, res) => {
|
|
50
|
+
var _a, _b;
|
|
116
51
|
// translate answer to http layer
|
|
117
52
|
if (invokation && invokation.err) {
|
|
118
53
|
// err came
|
|
@@ -120,36 +55,26 @@ var processServerlessResponse = function (invokation, res) {
|
|
|
120
55
|
}
|
|
121
56
|
else if (!invokation || !invokation.data) {
|
|
122
57
|
// invalid response came
|
|
123
|
-
return res.status(
|
|
124
|
-
err:
|
|
125
|
-
errCode:
|
|
58
|
+
return res.status(Globals.Resp_STATUSCODE_INVALIDRESP).json({
|
|
59
|
+
err: Globals.Resp_MSG_INVALIDRESP,
|
|
60
|
+
errCode: Globals.Resp_CODE_INVALIDRESP,
|
|
126
61
|
});
|
|
127
62
|
}
|
|
128
63
|
else {
|
|
129
64
|
// Check for headers
|
|
130
65
|
if (invokation.data.headers) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
var hKey = _e.value;
|
|
134
|
-
res.header(hKey, invokation.data.headers[hKey]);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
138
|
-
finally {
|
|
139
|
-
try {
|
|
140
|
-
if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
|
|
141
|
-
}
|
|
142
|
-
finally { if (e_2) throw e_2.error; }
|
|
66
|
+
for (const hKey of Object.keys(invokation.data.headers)) {
|
|
67
|
+
res.header(hKey, invokation.data.headers[hKey]);
|
|
143
68
|
}
|
|
144
69
|
}
|
|
145
70
|
//
|
|
146
|
-
|
|
71
|
+
let response = res.status(invokation.data.statusCode);
|
|
147
72
|
// check for stream
|
|
148
|
-
if ((
|
|
73
|
+
if ((_b = (_a = invokation.data) === null || _a === void 0 ? void 0 : _a.body) === null || _b === void 0 ? void 0 : _b.pipe) {
|
|
149
74
|
invokation.data.body.pipe(response);
|
|
150
75
|
}
|
|
151
76
|
else {
|
|
152
|
-
response = response.json(
|
|
77
|
+
response = response.json(Utils.parseObjectNullIfEmpty(invokation.data.body) || {});
|
|
153
78
|
}
|
|
154
79
|
return response;
|
|
155
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericHandler.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GenericHandler.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,48 +7,20 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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 Utils_1 = require("./Utils");
|
|
41
|
-
var Globals_1 = require("../../../Globals");
|
|
10
|
+
import * as cuid from 'cuid';
|
|
11
|
+
import { parseMultiValueQueryStringParameters, parseQueryStringParameters } from './Utils';
|
|
12
|
+
import Globals from '../../../Globals';
|
|
42
13
|
/**
|
|
43
14
|
* Represents a generic handler event for serverless functions.
|
|
44
15
|
*/
|
|
45
|
-
|
|
16
|
+
export default class GenericHandlerEvent {
|
|
46
17
|
/**
|
|
47
18
|
* Constructs a new instance of the class.
|
|
48
19
|
* @param {Request} request - The request object.
|
|
49
20
|
* @param {Server['handleServerlessEvent']} serverlessHandler - The serverless handler function.
|
|
50
21
|
* @returns None
|
|
51
22
|
*/
|
|
52
|
-
|
|
23
|
+
constructor(request, serverlessHandler) {
|
|
53
24
|
this.request = request;
|
|
54
25
|
this.serverlessHandler = serverlessHandler;
|
|
55
26
|
}
|
|
@@ -57,43 +28,30 @@ var GenericHandlerEvent = /** @class */ (function () {
|
|
|
57
28
|
* Invokes the handler function asynchronously and returns a promise that resolves to a GenericHandlerEventResponse.
|
|
58
29
|
* @returns {Promise<GenericHandlerEventResponse>} A promise that resolves to a GenericHandlerEventResponse.
|
|
59
30
|
*/
|
|
60
|
-
|
|
61
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
62
|
-
|
|
63
|
-
return
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
case 1:
|
|
78
|
-
// Invoke
|
|
79
|
-
_a.sent();
|
|
80
|
-
return [3 /*break*/, 3];
|
|
81
|
-
case 2:
|
|
82
|
-
e_1 = _a.sent();
|
|
83
|
-
reject(e_1); // forward rejection
|
|
84
|
-
return [3 /*break*/, 3];
|
|
85
|
-
case 3: return [2 /*return*/];
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}); })];
|
|
89
|
-
});
|
|
31
|
+
invoke() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
// eslint-disable-next-line no-async-promise-executor
|
|
34
|
+
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
35
|
+
try {
|
|
36
|
+
// Build event and context
|
|
37
|
+
const event = this.buildEvent();
|
|
38
|
+
const context = this.buildContext(event, (err, data) => {
|
|
39
|
+
resolve({ err, data });
|
|
40
|
+
});
|
|
41
|
+
// Invoke
|
|
42
|
+
yield this.serverlessHandler(event, context);
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
reject(e); // forward rejection
|
|
46
|
+
}
|
|
47
|
+
}));
|
|
90
48
|
});
|
|
91
|
-
}
|
|
49
|
+
}
|
|
92
50
|
/**
|
|
93
51
|
* Builds and returns an APIGatewayProxyEvent object based on the current request.
|
|
94
52
|
* @returns {APIGatewayProxyEvent} - The constructed APIGatewayProxyEvent object.
|
|
95
53
|
*/
|
|
96
|
-
|
|
54
|
+
buildEvent() {
|
|
97
55
|
var _a, _b, _c, _d;
|
|
98
56
|
return {
|
|
99
57
|
body: this.request.body || null, //enforce key
|
|
@@ -102,10 +60,10 @@ var GenericHandlerEvent = /** @class */ (function () {
|
|
|
102
60
|
httpMethod: (_a = this.request.method) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
|
|
103
61
|
isBase64Encoded: false,
|
|
104
62
|
multiValueHeaders: (this.request.headers || {}),
|
|
105
|
-
multiValueQueryStringParameters:
|
|
63
|
+
multiValueQueryStringParameters: parseMultiValueQueryStringParameters(this.request.url),
|
|
106
64
|
path: this.request.path,
|
|
107
65
|
pathParameters: null,
|
|
108
|
-
queryStringParameters: this.request.url ?
|
|
66
|
+
queryStringParameters: this.request.url ? parseQueryStringParameters(this.request.url) : {},
|
|
109
67
|
requestContext: {
|
|
110
68
|
accountId: process.env.AWS_ACCOUNT_ID || 'undefined',
|
|
111
69
|
apiId: '',
|
|
@@ -135,33 +93,33 @@ var GenericHandlerEvent = /** @class */ (function () {
|
|
|
135
93
|
},
|
|
136
94
|
path: this.request.path,
|
|
137
95
|
protocol: 'HTTP/1.1',
|
|
138
|
-
requestId:
|
|
96
|
+
requestId: `${cuid()}-${cuid()}`,
|
|
139
97
|
requestTime: new Date().toISOString(),
|
|
140
98
|
requestTimeEpoch: Date.now(),
|
|
141
99
|
resourceId: '',
|
|
142
|
-
resourcePath:
|
|
100
|
+
resourcePath: Globals.Listener_HTTP_ProxyRoute,
|
|
143
101
|
stage: process.env.STAGE || '',
|
|
144
102
|
},
|
|
145
|
-
resource:
|
|
103
|
+
resource: Globals.Listener_HTTP_ProxyRoute,
|
|
146
104
|
stageVariables: null,
|
|
147
105
|
};
|
|
148
|
-
}
|
|
106
|
+
}
|
|
149
107
|
/**
|
|
150
108
|
* Builds and returns a context object for an AWS Lambda function.
|
|
151
109
|
* @param {APIGatewayProxyEvent} event - The event object passed to the Lambda function.
|
|
152
110
|
* @param {(err?: Error | string, data?: any) => void} callback - The callback function to be called when the Lambda function completes.
|
|
153
111
|
* @returns {Context} - The context object for the Lambda function.
|
|
154
112
|
*/
|
|
155
|
-
|
|
113
|
+
buildContext(event, callback) {
|
|
156
114
|
return {
|
|
157
115
|
awsRequestId: event.requestContext.requestId,
|
|
158
116
|
callbackWaitsForEmptyEventLoop: true,
|
|
159
|
-
getRemainingTimeInMillis:
|
|
117
|
+
getRemainingTimeInMillis: () => {
|
|
160
118
|
return 0;
|
|
161
119
|
},
|
|
162
|
-
done:
|
|
163
|
-
fail:
|
|
164
|
-
succeed:
|
|
120
|
+
done: (err, data) => callback(err, data),
|
|
121
|
+
fail: err => callback(err),
|
|
122
|
+
succeed: res => callback(undefined, res),
|
|
165
123
|
functionName: 'container-function',
|
|
166
124
|
functionVersion: 'LATEST',
|
|
167
125
|
invokedFunctionArn: 'none',
|
|
@@ -169,8 +127,6 @@ var GenericHandlerEvent = /** @class */ (function () {
|
|
|
169
127
|
logGroupName: 'undefined',
|
|
170
128
|
logStreamName: 'undefined',
|
|
171
129
|
};
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
}());
|
|
175
|
-
exports.default = GenericHandlerEvent;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
176
132
|
//# sourceMappingURL=GenericHandlerEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericHandlerEvent.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandlerEvent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GenericHandlerEvent.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandlerEvent.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,44 +7,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
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
10
|
/**
|
|
40
11
|
* Handles a request and sends a response with the message 'Healthy!'.
|
|
41
12
|
* @param {Request} _request - The request object.
|
|
42
13
|
* @param {Response} res - The response object.
|
|
43
14
|
* @returns None
|
|
44
15
|
*/
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return [2 /*return*/];
|
|
49
|
-
});
|
|
50
|
-
}); });
|
|
16
|
+
export default (_request, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
+
res.send('Healthy!');
|
|
18
|
+
});
|
|
51
19
|
//# sourceMappingURL=HealthHandler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HealthHandler.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/HealthHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HealthHandler.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/HealthHandler.ts"],"names":[],"mappings":";;;;;;;;;AAEA;;;;;GAKG;AACH,eAAe,CAAO,QAAiB,EAAE,GAAa,EAAE,EAAE;IACxD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AACtB,CAAC,CAAA,CAAA"}
|