@ikonintegration/ikapi 5.0.2 → 5.0.4

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 (132) hide show
  1. package/package.json +1 -1
  2. package/src/BaseEvent/Launchable/ContainerExec.ts +6 -2
  3. package/src/Mailer/Mailer.ts +42 -52
  4. package/dist/index.d.ts +0 -17
  5. package/dist/index.js +0 -28
  6. package/dist/index.js.map +0 -1
  7. package/dist/package-lock.json +0 -11901
  8. package/dist/package.json +0 -82
  9. package/dist/src/API/Request.d.ts +0 -125
  10. package/dist/src/API/Request.js +0 -185
  11. package/dist/src/API/Request.js.map +0 -1
  12. package/dist/src/API/Response.d.ts +0 -188
  13. package/dist/src/API/Response.js +0 -270
  14. package/dist/src/API/Response.js.map +0 -1
  15. package/dist/src/BaseEvent/DynamoTransaction.d.ts +0 -70
  16. package/dist/src/BaseEvent/DynamoTransaction.js +0 -104
  17. package/dist/src/BaseEvent/DynamoTransaction.js.map +0 -1
  18. package/dist/src/BaseEvent/EventProcessor.d.ts +0 -58
  19. package/dist/src/BaseEvent/EventProcessor.js +0 -101
  20. package/dist/src/BaseEvent/EventProcessor.js.map +0 -1
  21. package/dist/src/BaseEvent/Launchable/ContainerExec.d.ts +0 -42
  22. package/dist/src/BaseEvent/Launchable/ContainerExec.js +0 -102
  23. package/dist/src/BaseEvent/Launchable/ContainerExec.js.map +0 -1
  24. package/dist/src/BaseEvent/Launchable/index.d.ts +0 -34
  25. package/dist/src/BaseEvent/Launchable/index.js +0 -43
  26. package/dist/src/BaseEvent/Launchable/index.js.map +0 -1
  27. package/dist/src/BaseEvent/Launchable/types.d.ts +0 -10
  28. package/dist/src/BaseEvent/Launchable/types.js +0 -2
  29. package/dist/src/BaseEvent/Launchable/types.js.map +0 -1
  30. package/dist/src/BaseEvent/Process.d.ts +0 -50
  31. package/dist/src/BaseEvent/Process.js +0 -64
  32. package/dist/src/BaseEvent/Process.js.map +0 -1
  33. package/dist/src/BaseEvent/StepTransaction.d.ts +0 -23
  34. package/dist/src/BaseEvent/StepTransaction.js +0 -27
  35. package/dist/src/BaseEvent/StepTransaction.js.map +0 -1
  36. package/dist/src/BaseEvent/Transaction.d.ts +0 -149
  37. package/dist/src/BaseEvent/Transaction.js +0 -224
  38. package/dist/src/BaseEvent/Transaction.js.map +0 -1
  39. package/dist/src/Cache/Redis.d.ts +0 -29
  40. package/dist/src/Cache/Redis.js +0 -80
  41. package/dist/src/Cache/Redis.js.map +0 -1
  42. package/dist/src/Cache/types.d.ts +0 -31
  43. package/dist/src/Cache/types.js +0 -2
  44. package/dist/src/Cache/types.js.map +0 -1
  45. package/dist/src/Config/Configuration.d.ts +0 -123
  46. package/dist/src/Config/Configuration.js +0 -109
  47. package/dist/src/Config/Configuration.js.map +0 -1
  48. package/dist/src/Config/EnvironmentVar.d.ts +0 -74
  49. package/dist/src/Config/EnvironmentVar.js +0 -138
  50. package/dist/src/Config/EnvironmentVar.js.map +0 -1
  51. package/dist/src/Crypto/Crypto.d.ts +0 -45
  52. package/dist/src/Crypto/Crypto.js +0 -72
  53. package/dist/src/Crypto/Crypto.js.map +0 -1
  54. package/dist/src/Database/Database.d.ts +0 -21
  55. package/dist/src/Database/Database.js +0 -15
  56. package/dist/src/Database/Database.js.map +0 -1
  57. package/dist/src/Database/DatabaseManager.d.ts +0 -47
  58. package/dist/src/Database/DatabaseManager.js +0 -60
  59. package/dist/src/Database/DatabaseManager.js.map +0 -1
  60. package/dist/src/Database/DatabaseTransaction.d.ts +0 -101
  61. package/dist/src/Database/DatabaseTransaction.js +0 -126
  62. package/dist/src/Database/DatabaseTransaction.js.map +0 -1
  63. package/dist/src/Database/index.d.ts +0 -10
  64. package/dist/src/Database/index.js +0 -15
  65. package/dist/src/Database/index.js.map +0 -1
  66. package/dist/src/Database/integrations/dynamo/DynamoDatabase.d.ts +0 -35
  67. package/dist/src/Database/integrations/dynamo/DynamoDatabase.js +0 -59
  68. package/dist/src/Database/integrations/dynamo/DynamoDatabase.js.map +0 -1
  69. package/dist/src/Database/integrations/kysely/KyselyDatabase.d.ts +0 -66
  70. package/dist/src/Database/integrations/kysely/KyselyDatabase.js +0 -86
  71. package/dist/src/Database/integrations/kysely/KyselyDatabase.js.map +0 -1
  72. package/dist/src/Database/integrations/kysely/KyselyTransaction.d.ts +0 -70
  73. package/dist/src/Database/integrations/kysely/KyselyTransaction.js +0 -118
  74. package/dist/src/Database/integrations/kysely/KyselyTransaction.js.map +0 -1
  75. package/dist/src/Database/integrations/pgsql/PostgresDatabase.d.ts +0 -36
  76. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js +0 -54
  77. package/dist/src/Database/integrations/pgsql/PostgresDatabase.js.map +0 -1
  78. package/dist/src/Database/integrations/pgsql/PostgresTransaction.d.ts +0 -63
  79. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js +0 -61
  80. package/dist/src/Database/integrations/pgsql/PostgresTransaction.js.map +0 -1
  81. package/dist/src/Database/types.d.ts +0 -76
  82. package/dist/src/Database/types.js +0 -2
  83. package/dist/src/Database/types.js.map +0 -1
  84. package/dist/src/Globals.d.ts +0 -93
  85. package/dist/src/Globals.js +0 -99
  86. package/dist/src/Globals.js.map +0 -1
  87. package/dist/src/Logger/Logger.d.ts +0 -161
  88. package/dist/src/Logger/Logger.js +0 -299
  89. package/dist/src/Logger/Logger.js.map +0 -1
  90. package/dist/src/Mailer/Mailer.d.ts +0 -78
  91. package/dist/src/Mailer/Mailer.js +0 -182
  92. package/dist/src/Mailer/Mailer.js.map +0 -1
  93. package/dist/src/Publisher/Publisher.d.ts +0 -39
  94. package/dist/src/Publisher/Publisher.js +0 -77
  95. package/dist/src/Publisher/Publisher.js.map +0 -1
  96. package/dist/src/Server/RouteResolver.d.ts +0 -33
  97. package/dist/src/Server/RouteResolver.js +0 -100
  98. package/dist/src/Server/RouteResolver.js.map +0 -1
  99. package/dist/src/Server/Router.d.ts +0 -157
  100. package/dist/src/Server/Router.js +0 -32
  101. package/dist/src/Server/Router.js.map +0 -1
  102. package/dist/src/Server/lib/ContainerServer.d.ts +0 -42
  103. package/dist/src/Server/lib/ContainerServer.js +0 -66
  104. package/dist/src/Server/lib/ContainerServer.js.map +0 -1
  105. package/dist/src/Server/lib/Server.d.ts +0 -45
  106. package/dist/src/Server/lib/Server.js +0 -93
  107. package/dist/src/Server/lib/Server.js.map +0 -1
  108. package/dist/src/Server/lib/container/GenericHandler.d.ts +0 -9
  109. package/dist/src/Server/lib/container/GenericHandler.js +0 -82
  110. package/dist/src/Server/lib/container/GenericHandler.js.map +0 -1
  111. package/dist/src/Server/lib/container/GenericHandlerEvent.d.ts +0 -52
  112. package/dist/src/Server/lib/container/GenericHandlerEvent.js +0 -132
  113. package/dist/src/Server/lib/container/GenericHandlerEvent.js.map +0 -1
  114. package/dist/src/Server/lib/container/HealthHandler.d.ts +0 -9
  115. package/dist/src/Server/lib/container/HealthHandler.js +0 -19
  116. package/dist/src/Server/lib/container/HealthHandler.js.map +0 -1
  117. package/dist/src/Server/lib/container/Proxy.d.ts +0 -67
  118. package/dist/src/Server/lib/container/Proxy.js +0 -143
  119. package/dist/src/Server/lib/container/Proxy.js.map +0 -1
  120. package/dist/src/Server/lib/container/Utils.d.ts +0 -14
  121. package/dist/src/Server/lib/container/Utils.js +0 -37
  122. package/dist/src/Server/lib/container/Utils.js.map +0 -1
  123. package/dist/src/Util/AsyncSingleton.d.ts +0 -31
  124. package/dist/src/Util/AsyncSingleton.js +0 -83
  125. package/dist/src/Util/AsyncSingleton.js.map +0 -1
  126. package/dist/src/Util/Utils.d.ts +0 -61
  127. package/dist/src/Util/Utils.js +0 -147
  128. package/dist/src/Util/Utils.js.map +0 -1
  129. package/dist/src/Validation/Validator.d.ts +0 -17
  130. package/dist/src/Validation/Validator.js +0 -39
  131. package/dist/src/Validation/Validator.js.map +0 -1
  132. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../../../src/Server/lib/Server.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { Request, Response } from 'express';
2
- import Server from '../Server.js';
3
- /**
4
- * Creates an async function that handles serverless events and sends a response.
5
- * @param {Server['handleServerlessEvent']} serverlessHandler - The serverless handler function.
6
- * @returns {Function} - An async function that handles the request and sends a response.
7
- */
8
- declare const _default: (serverlessHandler: Server["handleServerlessEvent"]) => (request: Request, res: Response) => Promise<void>;
9
- export default _default;
@@ -1,82 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import GenericHandlerEvent from './GenericHandlerEvent.js';
11
- import Globals from '../../../Globals.js';
12
- import Utils from '../../../Util/Utils.js';
13
- /**
14
- * Creates an async function that handles serverless events and sends a response.
15
- * @param {Server['handleServerlessEvent']} serverlessHandler - The serverless handler function.
16
- * @returns {Function} - An async function that handles the request and sends a response.
17
- */
18
- export default (serverlessHandler) => {
19
- /**
20
- * Handles an HTTP request by invoking a serverless function and processing the response.
21
- * @param {Request} request - The HTTP request object.
22
- * @param {Response} res - The HTTP response object.
23
- * @returns None
24
- */
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
- };
43
- /**
44
- * Processes the response received from a serverless function invocation and sends the appropriate response back to the client.
45
- * @param {GenericHandlerEventResponse} invokation - The response object received from the serverless function invocation.
46
- * @param {Response} res - The response object to send back to the client.
47
- * @returns The response object to send back to the client.
48
- */
49
- const processServerlessResponse = (invokation, res) => {
50
- var _a, _b;
51
- // translate answer to http layer
52
- if (invokation && invokation.err) {
53
- // err came
54
- return res.json({ err: invokation.err }).status(400);
55
- }
56
- else if (!invokation || !invokation.data) {
57
- // invalid response came
58
- return res.status(Globals.Resp_STATUSCODE_INVALIDRESP).json({
59
- err: Globals.Resp_MSG_INVALIDRESP,
60
- errCode: Globals.Resp_CODE_INVALIDRESP,
61
- });
62
- }
63
- else {
64
- // Check for headers
65
- if (invokation.data.headers) {
66
- for (const hKey of Object.keys(invokation.data.headers)) {
67
- res.header(hKey, invokation.data.headers[hKey]);
68
- }
69
- }
70
- //
71
- let response = res.status(invokation.data.statusCode);
72
- // check for stream
73
- if ((_b = (_a = invokation.data) === null || _a === void 0 ? void 0 : _a.body) === null || _b === void 0 ? void 0 : _b.pipe) {
74
- invokation.data.body.pipe(response);
75
- }
76
- else {
77
- response = response.json(Utils.parseObjectNullIfEmpty(invokation.data.body) || {});
78
- }
79
- return response;
80
- }
81
- };
82
- //# sourceMappingURL=GenericHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenericHandler.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandler.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- import { Request } from 'express';
2
- import Server from '../Server.js';
3
- /**
4
- * Represents the response object returned by a generic event handler.
5
- * @typedef {Object} GenericHandlerEventResponse
6
- * @property {Error | string} [err] - An optional error object or error message.
7
- * @property {*} [data] - An optional data object.
8
- */
9
- export type GenericHandlerEventResponse = {
10
- err?: Error | string;
11
- data?: any;
12
- };
13
- /**
14
- * Represents a generic handler event for serverless functions.
15
- */
16
- export default class GenericHandlerEvent {
17
- /**
18
- * Represents an HTTP request.
19
- * @property {Request} request - The HTTP request object.
20
- */
21
- request: Request;
22
- /**
23
- * The handler function for serverless events in a server.
24
- * @param {Server['handleServerlessEvent']} serverlessHandler - The function that handles serverless events.
25
- * @returns None
26
- */
27
- serverlessHandler: Server['handleServerlessEvent'];
28
- /**
29
- * Constructs a new instance of the class.
30
- * @param {Request} request - The request object.
31
- * @param {Server['handleServerlessEvent']} serverlessHandler - The serverless handler function.
32
- * @returns None
33
- */
34
- constructor(request: Request, serverlessHandler: Server['handleServerlessEvent']);
35
- /**
36
- * Invokes the handler function asynchronously and returns a promise that resolves to a GenericHandlerEventResponse.
37
- * @returns {Promise<GenericHandlerEventResponse>} A promise that resolves to a GenericHandlerEventResponse.
38
- */
39
- invoke(): Promise<GenericHandlerEventResponse>;
40
- /**
41
- * Builds and returns an APIGatewayProxyEvent object based on the current request.
42
- * @returns {APIGatewayProxyEvent} - The constructed APIGatewayProxyEvent object.
43
- */
44
- private buildEvent;
45
- /**
46
- * Builds and returns a context object for an AWS Lambda function.
47
- * @param {APIGatewayProxyEvent} event - The event object passed to the Lambda function.
48
- * @param {(err?: Error | string, data?: any) => void} callback - The callback function to be called when the Lambda function completes.
49
- * @returns {Context} - The context object for the Lambda function.
50
- */
51
- private buildContext;
52
- }
@@ -1,132 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import cuid from 'cuid';
11
- import { parseMultiValueQueryStringParameters, parseQueryStringParameters } from './Utils.js';
12
- import Globals from '../../../Globals.js';
13
- /**
14
- * Represents a generic handler event for serverless functions.
15
- */
16
- export default class GenericHandlerEvent {
17
- /**
18
- * Constructs a new instance of the class.
19
- * @param {Request} request - The request object.
20
- * @param {Server['handleServerlessEvent']} serverlessHandler - The serverless handler function.
21
- * @returns None
22
- */
23
- constructor(request, serverlessHandler) {
24
- this.request = request;
25
- this.serverlessHandler = serverlessHandler;
26
- }
27
- /**
28
- * Invokes the handler function asynchronously and returns a promise that resolves to a GenericHandlerEventResponse.
29
- * @returns {Promise<GenericHandlerEventResponse>} A promise that resolves to a GenericHandlerEventResponse.
30
- */
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
- }));
48
- });
49
- }
50
- /**
51
- * Builds and returns an APIGatewayProxyEvent object based on the current request.
52
- * @returns {APIGatewayProxyEvent} - The constructed APIGatewayProxyEvent object.
53
- */
54
- buildEvent() {
55
- var _a, _b, _c, _d;
56
- return {
57
- body: this.request.body || null, //enforce key
58
- rawBody: this.request['rawBody'],
59
- headers: (this.request.headers || {}),
60
- httpMethod: (_a = this.request.method) === null || _a === void 0 ? void 0 : _a.toUpperCase(),
61
- isBase64Encoded: false,
62
- multiValueHeaders: (this.request.headers || {}),
63
- multiValueQueryStringParameters: parseMultiValueQueryStringParameters(this.request.url),
64
- path: this.request.path,
65
- pathParameters: null,
66
- queryStringParameters: this.request.url ? parseQueryStringParameters(this.request.url) : {},
67
- requestContext: {
68
- accountId: process.env.AWS_ACCOUNT_ID || 'undefined',
69
- apiId: '',
70
- authorizer: null,
71
- domainName: undefined,
72
- domainPrefix: undefined,
73
- extendedRequestId: cuid(),
74
- httpMethod: this.request.method ? this.request.method.toUpperCase() : '',
75
- identity: {
76
- accessKey: null,
77
- accountId: process.env.AWS_ACCOUNT_ID || null,
78
- caller: null,
79
- apiKey: null,
80
- apiKeyId: null,
81
- clientCert: null,
82
- cognitoAuthenticationProvider: null,
83
- cognitoAuthenticationType: null,
84
- cognitoIdentityId: null,
85
- cognitoIdentityPoolId: null,
86
- principalOrgId: null,
87
- sourceIp: ((_b = this.request.headers) === null || _b === void 0 ? void 0 : _b['x-forwarded-for']) ||
88
- ((_c = this.request.socket) === null || _c === void 0 ? void 0 : _c.remoteAddress) ||
89
- '',
90
- user: null,
91
- userAgent: ((_d = this.request.headers) === null || _d === void 0 ? void 0 : _d['user-agent']) || null,
92
- userArn: null,
93
- },
94
- path: this.request.path,
95
- protocol: 'HTTP/1.1',
96
- requestId: `${cuid()}-${cuid()}`,
97
- requestTime: new Date().toISOString(),
98
- requestTimeEpoch: Date.now(),
99
- resourceId: '',
100
- resourcePath: Globals.Listener_HTTP_ProxyRoute,
101
- stage: process.env.STAGE || '',
102
- },
103
- resource: Globals.Listener_HTTP_ProxyRoute,
104
- stageVariables: null,
105
- };
106
- }
107
- /**
108
- * Builds and returns a context object for an AWS Lambda function.
109
- * @param {APIGatewayProxyEvent} event - The event object passed to the Lambda function.
110
- * @param {(err?: Error | string, data?: any) => void} callback - The callback function to be called when the Lambda function completes.
111
- * @returns {Context} - The context object for the Lambda function.
112
- */
113
- buildContext(event, callback) {
114
- return {
115
- awsRequestId: event.requestContext.requestId,
116
- callbackWaitsForEmptyEventLoop: true,
117
- getRemainingTimeInMillis: () => {
118
- return 0;
119
- },
120
- done: (err, data) => callback(err, data),
121
- fail: err => callback(err),
122
- succeed: res => callback(undefined, res),
123
- functionName: 'container-function',
124
- functionVersion: 'LATEST',
125
- invokedFunctionArn: 'none',
126
- memoryLimitInMB: '-1',
127
- logGroupName: 'undefined',
128
- logStreamName: 'undefined',
129
- };
130
- }
131
- }
132
- //# sourceMappingURL=GenericHandlerEvent.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GenericHandlerEvent.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/GenericHandlerEvent.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { Request, Response } from 'express';
2
- /**
3
- * Handles a request and sends a response with the message 'Healthy!'.
4
- * @param {Request} _request - The request object.
5
- * @param {Response} res - The response object.
6
- * @returns None
7
- */
8
- declare const _default: (_request: Request, res: Response) => Promise<void>;
9
- export default _default;
@@ -1,19 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- /**
11
- * Handles a request and sends a response with the message 'Healthy!'.
12
- * @param {Request} _request - The request object.
13
- * @param {Response} res - The response object.
14
- * @returns None
15
- */
16
- export default (_request, res) => __awaiter(void 0, void 0, void 0, function* () {
17
- res.send('Healthy!');
18
- });
19
- //# sourceMappingURL=HealthHandler.js.map
@@ -1 +0,0 @@
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"}
@@ -1,67 +0,0 @@
1
- import Server from './../Server.js';
2
- import { RouterConfig } from '../../Router.js';
3
- /**
4
- * Represents a Proxy class that handles routing and server functionality.
5
- */
6
- export default class Proxy {
7
- /**
8
- * A boolean flag indicating whether the process is currently stopping or not.
9
- */
10
- private stopping;
11
- /**
12
- * The configuration object for the router.
13
- */
14
- private readonly config;
15
- /**
16
- * The Express application instance for the server.
17
- * @readonly
18
- * @type {express.Express}
19
- */
20
- private readonly app;
21
- /**
22
- * The handler function for serverless events in the Server class.
23
- * @param {ServerlessEvent} event - The serverless event object.
24
- * @returns None
25
- */
26
- private readonly serverlessHandler;
27
- /**
28
- * Represents a listener for an HTTP server.
29
- * @private
30
- * @type {HTTPServer}
31
- */
32
- private listener;
33
- /**
34
- * Constructs a new instance of the Router class.
35
- * @param {RouterConfig} config - The configuration object for the router.
36
- * @param {Server['handleServerlessEvent']} serverlessHandler - The handler function for serverless events.
37
- * @returns None
38
- */
39
- constructor(config: RouterConfig, serverlessHandler: Server['handleServerlessEvent']);
40
- /**
41
- * Loads the necessary components and initializes the application.
42
- * @returns None
43
- */
44
- load(): Promise<void>;
45
- /**
46
- * Unloads the current module, stopping any active listeners.
47
- * @param {any} [err] - Optional error object to pass to the stopListeners method.
48
- * @returns {Promise<void>} - A promise that resolves once the listeners have been stopped.
49
- */
50
- unload(err?: any): Promise<void>;
51
- /**
52
- * Starts the listeners for the proxy server.
53
- * @returns {Promise<void>} A promise that resolves when the listeners have started.
54
- */
55
- private startListeners;
56
- /**
57
- * Stops the listeners and exits the process.
58
- * @param {any} [err] - Optional error object.
59
- * @returns {Promise<void>} - A promise that resolves when the listeners are stopped and the process is exited.
60
- */
61
- private stopListeners;
62
- /**
63
- * Installs the routes for the proxy server.
64
- * @returns None
65
- */
66
- private installRoutes;
67
- }
@@ -1,143 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import fs from 'fs';
11
- import { createServer } from 'http';
12
- import cors from 'cors';
13
- import express from 'express';
14
- import GenericHandler from './GenericHandler.js';
15
- import HealthHandler from './HealthHandler.js';
16
- import Globals from '../../../Globals.js';
17
- import Utils from '../../../Util/Utils.js';
18
- /* Get package.json version from IKApi on ESM */
19
- const { version: appVersion } = JSON.parse(fs.readFileSync('package.json').toString());
20
- /**
21
- * Represents a Proxy class that handles routing and server functionality.
22
- */
23
- export default class Proxy {
24
- /**
25
- * Constructs a new instance of the Router class.
26
- * @param {RouterConfig} config - The configuration object for the router.
27
- * @param {Server['handleServerlessEvent']} serverlessHandler - The handler function for serverless events.
28
- * @returns None
29
- */
30
- constructor(config, serverlessHandler) {
31
- this.stopping = false;
32
- this.config = config;
33
- this.serverlessHandler = serverlessHandler;
34
- this.app = express();
35
- /* Opinionated Express configs */
36
- this.app.use(express.json({
37
- verify(req, res, buf) {
38
- req['rawBody'] = buf;
39
- },
40
- }));
41
- // apply cors config
42
- const corsConfig = this.config.cors || Utils.parseObjectNullIfEmpty(process.env.CORS);
43
- this.app.use(cors(corsConfig
44
- ? {
45
- origin: corsConfig.origin,
46
- allowedHeaders: corsConfig.headers,
47
- credentials: !!corsConfig.allowCredentials,
48
- }
49
- : {}));
50
- // //This supposedly fix some 502 codes where nodejs socket would hang during
51
- // //a request and if behind ALB, it would cause 502 codes. Had experiencied this
52
- // //and 502 codes reduced dramastically, but still some appearances. Maybe this
53
- // //is just a palliative work-around for the real issue; TODO: need to investigate
54
- // //in the future.
55
- // this.listener.listener.keepAliveTimeout = 120e3
56
- // this.listener.listener.headersTimeout = 120e3
57
- }
58
- /**
59
- * Loads the necessary components and initializes the application.
60
- * @returns None
61
- */
62
- load() {
63
- return __awaiter(this, void 0, void 0, function* () {
64
- yield this.startListeners();
65
- this.installRoutes();
66
- });
67
- }
68
- /**
69
- * Unloads the current module, stopping any active listeners.
70
- * @param {any} [err] - Optional error object to pass to the stopListeners method.
71
- * @returns {Promise<void>} - A promise that resolves once the listeners have been stopped.
72
- */
73
- unload(err) {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- yield this.stopListeners(err);
76
- });
77
- }
78
- /**
79
- * Starts the listeners for the proxy server.
80
- * @returns {Promise<void>} A promise that resolves when the listeners have started.
81
- */
82
- startListeners() {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- // eslint-disable-next-line no-async-promise-executor
85
- return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
86
- const port = this.config.port || Globals.Listener_HTTP_DefaultPort;
87
- console.log(`[Proxy] - [STARTING] - v.${appVersion} - :${port}`);
88
- // Create Server
89
- this.listener = createServer(this.app);
90
- // Set defaults
91
- this.listener.setTimeout(this.config.timeout || Globals.Listener_HTTP_DefaultTimeout);
92
- // Call hook if available
93
- if (this.config.containerSetupHook)
94
- yield this.config.containerSetupHook(this.listener, this.app);
95
- // Start Server
96
- this.listener.listen(port, () => {
97
- console.log(`[Proxy] - [STARTED]`);
98
- resolve();
99
- });
100
- }));
101
- });
102
- }
103
- /**
104
- * Stops the listeners and exits the process.
105
- * @param {any} [err] - Optional error object.
106
- * @returns {Promise<void>} - A promise that resolves when the listeners are stopped and the process is exited.
107
- */
108
- stopListeners(err) {
109
- return __awaiter(this, void 0, void 0, function* () {
110
- if (this.stopping)
111
- return;
112
- this.stopping = true;
113
- console.debug('[Proxy] - [STOPPING]');
114
- return new Promise(resolve => {
115
- this.listener.close(_err => {
116
- const err2 = err || _err;
117
- if (err2)
118
- console.log('[Proxy] - exit output:', err2);
119
- console.log('[Proxy] - [STOPPED]');
120
- process.exit(err2 ? 1 : 0);
121
- resolve(null);
122
- });
123
- });
124
- });
125
- }
126
- /**
127
- * Installs the routes for the proxy server.
128
- * @returns None
129
- */
130
- installRoutes() {
131
- //Health check route -- This is a bypass route to only check if
132
- //runtime proxy is working and responding to calls.
133
- console.log(`[Proxy] - [HEALTH-ROUTE] - ${this.config.healthCheckRoute || Globals.Listener_HTTP_DefaultHealthCheckRoute}`);
134
- this.app
135
- .route(this.config.healthCheckRoute || Globals.Listener_HTTP_DefaultHealthCheckRoute)
136
- .get(HealthHandler);
137
- //Main route -- We use a wildcard route because is not the job of the runtime and neither
138
- //the task to deny/constrain routes that invoked this task; all the job is done by the
139
- //load balancer and we just foward everything we have to the function.
140
- this.app.route(Globals.Listener_HTTP_ProxyRoute).all(GenericHandler(this.serverlessHandler));
141
- }
142
- }
143
- //# sourceMappingURL=Proxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Proxy.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Proxy.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Parses the multi-value query string parameters from the given URL.
3
- * @param {string} url - The URL containing the query string parameters.
4
- * @returns {Object} - An object representing the parsed query string parameters.
5
- */
6
- export declare function parseMultiValueQueryStringParameters(url: string): any;
7
- /**
8
- * Parses the query string parameters from a given URL.
9
- * @param {string} url - The URL to parse the query string parameters from.
10
- * @returns {object | null} - An object containing the parsed query string parameters, or null if there are no parameters.
11
- */
12
- export declare function parseQueryStringParameters(url: any): {
13
- [k: string]: string;
14
- };
@@ -1,37 +0,0 @@
1
- /**
2
- * Parses the multi-value query string parameters from the given URL.
3
- * @param {string} url - The URL containing the query string parameters.
4
- * @returns {Object} - An object representing the parsed query string parameters.
5
- */
6
- export function parseMultiValueQueryStringParameters(url) {
7
- // dummy placeholder url for the WHATWG URL constructor
8
- // https://github.com/nodejs/node/issues/12682
9
- const { searchParams } = new URL(url, 'http://example');
10
- //
11
- if (Array.from(searchParams).length === 0)
12
- return {};
13
- const map = new Map();
14
- // eslint-disable-next-line no-restricted-syntax
15
- for (const [key, value] of searchParams) {
16
- const item = map.get(key);
17
- if (item)
18
- item.push(value);
19
- else
20
- map.set(key, [value]);
21
- }
22
- return Object.fromEntries(map);
23
- }
24
- /**
25
- * Parses the query string parameters from a given URL.
26
- * @param {string} url - The URL to parse the query string parameters from.
27
- * @returns {object | null} - An object containing the parsed query string parameters, or null if there are no parameters.
28
- */
29
- export function parseQueryStringParameters(url) {
30
- // dummy placeholder url for the WHATWG URL constructor
31
- // https://github.com/nodejs/node/issues/12682
32
- const { searchParams } = new URL(url, 'http://example');
33
- if (Array.from(searchParams).length === 0)
34
- return {};
35
- return Object.fromEntries(searchParams);
36
- }
37
- //# sourceMappingURL=Utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../src/Server/lib/container/Utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,oCAAoC,CAAC,GAAW;IAC9D,uDAAuD;IACvD,8CAA8C;IAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IACvD,EAAE;IACF,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;IACrB,gDAAgD;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzB,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;YACrB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAAG;IAC5C,uDAAuD;IACvD,8CAA8C;IAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAA;IACvD,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpD,OAAO,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;AACzC,CAAC"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Represents a class that can be used to create a singleton instance of a class that is created asynchronously.
3
- */
4
- export default class AsyncSingleton<T, R> {
5
- private readonly factory;
6
- private readonly checker;
7
- private queue;
8
- private instantiating;
9
- private value?;
10
- /**
11
- * Creates a new instance of the AsyncSingleton class.
12
- * @param factory The factory function that creates the instance.
13
- * @param checker The function that checks if the instance is valid.
14
- */
15
- constructor(factory: (r: R) => Promise<T>, checker?: (value: T) => Promise<boolean>);
16
- /**
17
- * Gets the instance of the class.
18
- * @param r The configuration object for creating the instance.
19
- */
20
- instance(r: R): Promise<T>;
21
- /**
22
- * Gets the current value, may be undefined or invalid.
23
- */
24
- getValue(): T | undefined;
25
- /**
26
- * Clears the current value and rejects all pending promises.
27
- */
28
- clear(): void;
29
- private initHere;
30
- private awaitOtherInit;
31
- }