@fintalk.ai/lambda-handlers 1.0.3 → 1.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.
- package/lib/constants.d.ts +6 -0
- package/lib/constants.js +10 -0
- package/lib/constants.js.map +1 -0
- package/lib/errors/bad-request-error.d.ts +4 -0
- package/lib/errors/bad-request-error.js +34 -0
- package/lib/errors/bad-request-error.js.map +1 -0
- package/lib/errors/conflict-error.d.ts +4 -0
- package/lib/errors/conflict-error.js +33 -0
- package/lib/errors/conflict-error.js.map +1 -0
- package/lib/errors/fintalk-error.d.ts +36 -0
- package/lib/errors/fintalk-error.js +54 -0
- package/lib/errors/fintalk-error.js.map +1 -0
- package/lib/errors/forbidden-error.d.ts +4 -0
- package/lib/errors/forbidden-error.js +33 -0
- package/lib/errors/forbidden-error.js.map +1 -0
- package/lib/errors/gone-error.d.ts +4 -0
- package/lib/errors/gone-error.js +33 -0
- package/lib/errors/gone-error.js.map +1 -0
- package/lib/errors/internal-server-error.d.ts +4 -0
- package/lib/errors/internal-server-error.js +33 -0
- package/lib/errors/internal-server-error.js.map +1 -0
- package/lib/errors/not-acceptable-error.d.ts +4 -0
- package/lib/errors/not-acceptable-error.js +33 -0
- package/lib/errors/not-acceptable-error.js.map +1 -0
- package/lib/errors/not-found-error.d.ts +4 -0
- package/lib/errors/not-found-error.js +33 -0
- package/lib/errors/not-found-error.js.map +1 -0
- package/lib/errors/payment-required-error.d.ts +4 -0
- package/lib/errors/payment-required-error.js +33 -0
- package/lib/errors/payment-required-error.js.map +1 -0
- package/lib/errors/precondition-failed-error.d.ts +4 -0
- package/lib/errors/precondition-failed-error.js +33 -0
- package/lib/errors/precondition-failed-error.js.map +1 -0
- package/lib/errors/service-unavailable-error.d.ts +4 -0
- package/lib/errors/service-unavailable-error.js +33 -0
- package/lib/errors/service-unavailable-error.js.map +1 -0
- package/lib/errors/teapot-error.d.ts +4 -0
- package/lib/errors/teapot-error.js +33 -0
- package/lib/errors/teapot-error.js.map +1 -0
- package/lib/errors/too-many-requests-error.d.ts +4 -0
- package/lib/errors/too-many-requests-error.js +33 -0
- package/lib/errors/too-many-requests-error.js.map +1 -0
- package/lib/errors/unauthorized-error.d.ts +4 -0
- package/lib/errors/unauthorized-error.js +33 -0
- package/lib/errors/unauthorized-error.js.map +1 -0
- package/lib/errors/unprocessable-entity-error.d.ts +4 -0
- package/lib/errors/unprocessable-entity-error.js +34 -0
- package/lib/errors/unprocessable-entity-error.js.map +1 -0
- package/lib/handlers/api-proxy.d.ts +13 -0
- package/lib/handlers/api-proxy.js +163 -0
- package/lib/handlers/api-proxy.js.map +1 -0
- package/lib/handlers/api.d.ts +7 -0
- package/lib/handlers/api.js +106 -0
- package/lib/handlers/api.js.map +1 -0
- package/lib/handlers/invoke.d.ts +7 -0
- package/lib/handlers/invoke.js +83 -0
- package/lib/handlers/invoke.js.map +1 -0
- package/lib/handlers/sqs-v2.d.ts +21 -0
- package/lib/handlers/sqs-v2.js +140 -0
- package/lib/handlers/sqs-v2.js.map +1 -0
- package/lib/handlers/sqs.d.ts +7 -0
- package/lib/handlers/sqs.js +77 -0
- package/lib/handlers/sqs.js.map +1 -0
- package/lib/index.d.ts +22 -0
- package/lib/index.js +64 -0
- package/lib/index.js.map +1 -0
- package/lib/models.d.ts +72 -0
- package/lib/models.js +3 -0
- package/lib/models.js.map +1 -0
- package/lib/utils/compare-ignore-case.d.ts +2 -0
- package/lib/utils/compare-ignore-case.js +10 -0
- package/lib/utils/compare-ignore-case.js.map +1 -0
- package/lib/utils/extract-ip.d.ts +3 -0
- package/lib/utils/extract-ip.js +12 -0
- package/lib/utils/extract-ip.js.map +1 -0
- package/lib/utils/extract-user.d.ts +4 -0
- package/lib/utils/extract-user.js +57 -0
- package/lib/utils/extract-user.js.map +1 -0
- package/lib/utils/get-user-id.d.ts +3 -0
- package/lib/utils/get-user-id.js +18 -0
- package/lib/utils/get-user-id.js.map +1 -0
- package/lib/utils/json-parse.d.ts +2 -0
- package/lib/utils/json-parse.js +27 -0
- package/lib/utils/json-parse.js.map +1 -0
- package/lib/utils/lower-case-headers.d.ts +3 -0
- package/lib/utils/lower-case-headers.js +22 -0
- package/lib/utils/lower-case-headers.js.map +1 -0
- package/lib/utils/parse-body.d.ts +2 -0
- package/lib/utils/parse-body.js +19 -0
- package/lib/utils/parse-body.js.map +1 -0
- package/lib/utils/parse-request.d.ts +5 -0
- package/lib/utils/parse-request.js +44 -0
- package/lib/utils/parse-request.js.map +1 -0
- package/package.json +3 -6
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var qs_1 = __importDefault(require("qs"));
|
|
7
|
+
var json_parse_1 = __importDefault(require("./json-parse"));
|
|
8
|
+
var parse = qs_1.default.parse;
|
|
9
|
+
var parseBody = function (contentType, body) {
|
|
10
|
+
if (!body) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
if (contentType === 'application/x-www-form-urlencoded') {
|
|
14
|
+
return parse(body);
|
|
15
|
+
}
|
|
16
|
+
return (0, json_parse_1.default)(body);
|
|
17
|
+
};
|
|
18
|
+
exports.default = parseBody;
|
|
19
|
+
//# sourceMappingURL=parse-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-body.js","sourceRoot":"","sources":["../../src/utils/parse-body.ts"],"names":[],"mappings":";;;;;AAAA,0CAAmB;AAEnB,4DAAoC;AAE5B,IAAA,KAAK,GAAK,YAAE,MAAP,CAAO;AAEpB,IAAM,SAAS,GAAG,UAAC,WAAoB,EAAE,IAAoB;IAC3D,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,WAAW,KAAK,mCAAmC,EAAE;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;KACnB;IACD,OAAO,IAAA,oBAAS,EAAC,IAAI,CAAC,CAAA;AACxB,CAAC,CAAA;AAED,kBAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { APIGatewayProxyEvent, Context } from 'aws-lambda';
|
|
2
|
+
import { Request } from '../models';
|
|
3
|
+
export declare const parsePathParams: (path?: string, url?: string) => Record<string, string>;
|
|
4
|
+
declare const parseRequest: (event: APIGatewayProxyEvent, context: Context, path?: string) => Request;
|
|
5
|
+
export default parseRequest;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parsePathParams = void 0;
|
|
7
|
+
var node_match_path_1 = require("node-match-path");
|
|
8
|
+
var extract_ip_1 = __importDefault(require("./extract-ip"));
|
|
9
|
+
var extract_user_1 = __importDefault(require("./extract-user"));
|
|
10
|
+
var lower_case_headers_1 = __importDefault(require("./lower-case-headers"));
|
|
11
|
+
var parse_body_1 = __importDefault(require("./parse-body"));
|
|
12
|
+
var parsePathParams = function (path, url) {
|
|
13
|
+
if (!path || !url) {
|
|
14
|
+
return {};
|
|
15
|
+
}
|
|
16
|
+
var params = (0, node_match_path_1.match)(path, url).params;
|
|
17
|
+
return params !== null && params !== void 0 ? params : {};
|
|
18
|
+
};
|
|
19
|
+
exports.parsePathParams = parsePathParams;
|
|
20
|
+
var parseRequest = function (event, context, path) {
|
|
21
|
+
var _a, _b, _c, _d, _e;
|
|
22
|
+
var headers = (0, lower_case_headers_1.default)(event.headers);
|
|
23
|
+
var params = (0, exports.parsePathParams)(path, event.path);
|
|
24
|
+
return {
|
|
25
|
+
id: event.requestContext.requestId,
|
|
26
|
+
body: (0, parse_body_1.default)(headers['content-type'], event.body),
|
|
27
|
+
headers: headers,
|
|
28
|
+
ip: (0, extract_ip_1.default)(headers, event.requestContext.identity.sourceIp),
|
|
29
|
+
method: event.httpMethod ? event.httpMethod.toUpperCase() : 'INVOKE',
|
|
30
|
+
multiValueQuery: (_a = event.multiValueQueryStringParameters) !== null && _a !== void 0 ? _a : {},
|
|
31
|
+
params: params,
|
|
32
|
+
path: event.path,
|
|
33
|
+
pathParameters: (_b = event.pathParameters) !== null && _b !== void 0 ? _b : {},
|
|
34
|
+
query: (_c = event.queryStringParameters) !== null && _c !== void 0 ? _c : {},
|
|
35
|
+
rawBody: (_d = event.body) !== null && _d !== void 0 ? _d : undefined,
|
|
36
|
+
requestContext: event.requestContext,
|
|
37
|
+
context: context,
|
|
38
|
+
stageVariables: (_e = event.stageVariables) !== null && _e !== void 0 ? _e : {},
|
|
39
|
+
userAgent: headers['user-agent'],
|
|
40
|
+
user: (0, extract_user_1.default)(headers),
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
exports.default = parseRequest;
|
|
44
|
+
//# sourceMappingURL=parse-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-request.js","sourceRoot":"","sources":["../../src/utils/parse-request.ts"],"names":[],"mappings":";;;;;;AAIA,mDAAuC;AAIvC,4DAAoC;AACpC,gEAAwC;AACxC,4EAAmD;AACnD,4DAAoC;AAE7B,IAAM,eAAe,GAAG,UAAC,IAAa,EAAE,GAAY;IACzD,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;QACjB,OAAO,EAAE,CAAA;KACV;IAEO,IAAA,MAAM,GAAK,IAAA,uBAAK,EAAC,IAAI,EAAE,GAAG,CAAC,OAArB,CAAqB;IAEnC,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;AACrB,CAAC,CAAA;AARY,QAAA,eAAe,mBAQ3B;AAED,IAAM,YAAY,GAAG,UACnB,KAA2B,EAC3B,OAAgB,EAChB,IAAa;;IAEb,IAAM,OAAO,GAAG,IAAA,4BAAgB,EAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;IAEhD,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;QAClC,IAAI,EAAE,IAAA,oBAAS,EAAC,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC;QACpD,OAAO,SAAA;QACP,EAAE,EAAE,IAAA,oBAAS,EAAC,OAAO,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC9D,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ;QACpE,eAAe,EAAE,MAAA,KAAK,CAAC,+BAA+B,mCAAI,EAAE;QAC5D,MAAM,QAAA;QACN,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,cAAc,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE;QAC1C,KAAK,EAAE,MAAA,KAAK,CAAC,qBAAqB,mCAAI,EAAE;QACxC,OAAO,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,SAAS;QAChC,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,OAAO,SAAA;QACP,cAAc,EAAE,MAAA,KAAK,CAAC,cAAc,mCAAI,EAAE;QAC1C,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC;QAChC,IAAI,EAAE,IAAA,sBAAW,EAAC,OAAO,CAAC;KAC3B,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,YAAY,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fintalk.ai/lambda-handlers",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.4",
|
|
4
4
|
"description": "Lambda Handlers w/ Typescript Support",
|
|
5
5
|
"author": "Fintalk.AI",
|
|
6
6
|
"homepage": "https://github.com/fintalk-ai/lambda-handlers#readme",
|
|
@@ -51,9 +51,9 @@
|
|
|
51
51
|
"jest-mock": "^28.1.0",
|
|
52
52
|
"jest-mock-extended": "^2.0.6",
|
|
53
53
|
"node-match-path": "^0.6.3",
|
|
54
|
-
"npm-run-all": "^4.1.5",
|
|
55
54
|
"qs": "^6.10.3",
|
|
56
|
-
"rimraf": "^3.0.2"
|
|
55
|
+
"rimraf": "^3.0.2",
|
|
56
|
+
"npm-run-all": "^4.1.5"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
59
|
"@types/aws-lambda": ">=8.10.92",
|
|
@@ -61,8 +61,5 @@
|
|
|
61
61
|
"fintalk-logger": "~1.1.3",
|
|
62
62
|
"node-match-path": ">=0.6.3",
|
|
63
63
|
"qs": ">=6.10.3"
|
|
64
|
-
},
|
|
65
|
-
"dependencies": {
|
|
66
|
-
"typescript": "^5.1.3"
|
|
67
64
|
}
|
|
68
65
|
}
|