@webiny/handler-aws 5.39.0-beta.0 → 5.39.0-beta.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/createHandler.d.ts +2 -0
- package/createHandler.js +29 -0
- package/createHandler.js.map +1 -0
- package/dynamodb/index.d.ts +5 -8
- package/dynamodb/index.js +18 -13
- package/dynamodb/index.js.map +1 -1
- package/dynamodb/plugins/DynamoDBEventHandler.d.ts +6 -5
- package/dynamodb/plugins/DynamoDBEventHandler.js +1 -4
- package/dynamodb/plugins/DynamoDBEventHandler.js.map +1 -1
- package/dynamodb/register.d.ts +1 -0
- package/dynamodb/register.js +28 -0
- package/dynamodb/register.js.map +1 -0
- package/eventBridge/index.d.ts +7 -10
- package/eventBridge/index.js +19 -14
- package/eventBridge/index.js.map +1 -1
- package/eventBridge/plugins/EventBridgeEventHandler.d.ts +6 -5
- package/eventBridge/plugins/EventBridgeEventHandler.js +1 -4
- package/eventBridge/plugins/EventBridgeEventHandler.js.map +1 -1
- package/eventBridge/register.d.ts +4 -0
- package/eventBridge/register.js +21 -0
- package/eventBridge/register.js.map +1 -0
- package/execute.js +5 -4
- package/execute.js.map +1 -1
- package/gateway/index.d.ts +6 -10
- package/gateway/index.js +12 -11
- package/gateway/index.js.map +1 -1
- package/gateway/register.d.ts +1 -0
- package/gateway/register.js +21 -0
- package/gateway/register.js.map +1 -0
- package/index.d.ts +32 -5
- package/index.js +125 -23
- package/index.js.map +1 -1
- package/package.json +10 -8
- package/plugins/handlerClient.js +7 -8
- package/plugins/handlerClient.js.map +1 -1
- package/raw/index.d.ts +1 -5
- package/raw/index.js +12 -12
- package/raw/index.js.map +1 -1
- package/raw/plugins/RawEventHandler.d.ts +2 -2
- package/raw/plugins/RawEventHandler.js +4 -0
- package/raw/plugins/RawEventHandler.js.map +1 -1
- package/registry.d.ts +11 -0
- package/registry.js +38 -0
- package/registry.js.map +1 -0
- package/s3/index.d.ts +7 -9
- package/s3/index.js +21 -16
- package/s3/index.js.map +1 -1
- package/s3/plugins/S3EventHandler.d.ts +6 -5
- package/s3/plugins/S3EventHandler.js +1 -4
- package/s3/plugins/S3EventHandler.js.map +1 -1
- package/s3/register.d.ts +4 -0
- package/s3/register.js +25 -0
- package/s3/register.js.map +1 -0
- package/sns/index.d.ts +9 -0
- package/sns/index.js +77 -0
- package/sns/index.js.map +1 -0
- package/sns/plugins/SNSEventHandler.d.ts +20 -0
- package/sns/plugins/SNSEventHandler.js +21 -0
- package/sns/plugins/SNSEventHandler.js.map +1 -0
- package/sns/register.d.ts +1 -0
- package/sns/register.js +25 -0
- package/sns/register.js.map +1 -0
- package/sourceHandler.d.ts +2 -0
- package/sourceHandler.js +12 -0
- package/sourceHandler.js.map +1 -0
- package/sqs/index.d.ts +7 -9
- package/sqs/index.js +21 -16
- package/sqs/index.js.map +1 -1
- package/sqs/plugins/SQSEventHandler.d.ts +6 -5
- package/sqs/plugins/SQSEventHandler.js +1 -4
- package/sqs/plugins/SQSEventHandler.js.map +1 -1
- package/sqs/register.d.ts +1 -0
- package/sqs/register.js +28 -0
- package/sqs/register.js.map +1 -0
- package/types.d.ts +25 -1
- package/types.js +31 -1
- package/types.js.map +1 -1
- package/utils/composedHandler.d.ts +6 -0
- package/utils/composedHandler.js +24 -0
- package/utils/composedHandler.js.map +1 -0
package/gateway/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_awsLambda","_interopRequireDefault","require","_handler","_plugins","_types","getHeader","headers","header","key","toLowerCase","undefined","defaultContentType","defaultCharset","attachRequiredProperties","event","contentType","join","body","startsWith","createHandler","params","context","
|
|
1
|
+
{"version":3,"names":["_awsLambda","_interopRequireDefault","require","_handler","_plugins","_types","getHeader","headers","header","key","toLowerCase","undefined","defaultContentType","defaultCharset","attachRequiredProperties","event","contentType","join","body","startsWith","createHandler","params","context","app","createBaseHandler","options","logger","debug","registerDefaultPlugins","webiny","plugins","byType","RoutePlugin","type","length","Error","appLambda","awsLambdaFastify","decorateRequest","serializeLambdaArguments","decorationPropertyName","enforceBase64","response","Base64EncodeHeader","encoded","binary","lambdaOptions","exports"],"sources":["index.ts"],"sourcesContent":["import awsLambdaFastify, { LambdaResponse } from \"@fastify/aws-lambda\";\nimport { createHandler as createBaseHandler, createRoute, RoutePlugin } from \"@webiny/handler\";\nimport { APIGatewayEvent, Context as LambdaContext } from \"aws-lambda\";\nimport { registerDefaultPlugins } from \"~/plugins\";\nimport { Base64EncodeHeader, HandlerFactoryParams } from \"~/types\";\nimport { APIGatewayProxyEventHeaders } from \"aws-lambda/trigger/api-gateway-proxy\";\n\nexport { RoutePlugin, createRoute };\n\nexport type HandlerParams = HandlerFactoryParams;\n\nexport interface HandlerCallable {\n (event: APIGatewayEvent, ctx: LambdaContext): Promise<LambdaResponse>;\n}\n\nconst getHeader = (headers: APIGatewayProxyEventHeaders, header: string): string | undefined => {\n for (const key in headers) {\n if (key.toLowerCase() !== header) {\n continue;\n }\n return headers[key];\n }\n return undefined;\n};\n\nconst defaultContentType = \"application/json\";\nconst defaultCharset = \"utf-8\";\n/**\n * We need to attach default headers to the request, so it does not break if there is none sent.\n */\nconst attachRequiredProperties = (event: APIGatewayEvent): void => {\n /**\n * A possibility that headers are not defined?\n * Maybe during testing?\n */\n if (!event.headers) {\n event.headers = {};\n }\n const contentType = getHeader(event.headers, \"content-type\");\n /**\n * We check the existing content type and add the default one if it does not exist.\n *\n * Also, if the content-type is the application/json, and the body is not sent, we add it.\n */\n if (!contentType) {\n event.headers[\"content-type\"] = [defaultContentType, `charset=${defaultCharset}`].join(\";\");\n event.body = \"{}\";\n } else if (!event.body && contentType.startsWith(defaultContentType)) {\n event.body = \"{}\";\n }\n};\n\nexport const createHandler = (params: HandlerParams): HandlerCallable => {\n return async (event, context) => {\n const app = createBaseHandler({\n ...params,\n options: {\n logger: params.debug === true,\n ...(params.options || {})\n }\n });\n /**\n * We always must add our default plugins to the app.\n */\n registerDefaultPlugins(app.webiny);\n\n if (app.webiny.plugins.byType<RoutePlugin>(RoutePlugin.type).length === 0) {\n throw new Error(\n `To run @webiny/handler-aws/gateway, you must have at least one RoutePlugin set.`\n );\n }\n attachRequiredProperties(event);\n\n const appLambda = awsLambdaFastify(app, {\n decorateRequest: true,\n serializeLambdaArguments: true,\n decorationPropertyName: \"awsLambda\",\n enforceBase64: response => {\n return (\n !!response.headers[Base64EncodeHeader.encoded] ||\n !!response.headers[Base64EncodeHeader.binary]\n );\n },\n ...(params.lambdaOptions || {})\n });\n return appLambda(event, context);\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAWA,MAAMI,SAAS,GAAGA,CAACC,OAAoC,EAAEC,MAAc,KAAyB;EAC5F,KAAK,MAAMC,GAAG,IAAIF,OAAO,EAAE;IACvB,IAAIE,GAAG,CAACC,WAAW,CAAC,CAAC,KAAKF,MAAM,EAAE;MAC9B;IACJ;IACA,OAAOD,OAAO,CAACE,GAAG,CAAC;EACvB;EACA,OAAOE,SAAS;AACpB,CAAC;AAED,MAAMC,kBAAkB,GAAG,kBAAkB;AAC7C,MAAMC,cAAc,GAAG,OAAO;AAC9B;AACA;AACA;AACA,MAAMC,wBAAwB,GAAIC,KAAsB,IAAW;EAC/D;AACJ;AACA;AACA;EACI,IAAI,CAACA,KAAK,CAACR,OAAO,EAAE;IAChBQ,KAAK,CAACR,OAAO,GAAG,CAAC,CAAC;EACtB;EACA,MAAMS,WAAW,GAAGV,SAAS,CAACS,KAAK,CAACR,OAAO,EAAE,cAAc,CAAC;EAC5D;AACJ;AACA;AACA;AACA;EACI,IAAI,CAACS,WAAW,EAAE;IACdD,KAAK,CAACR,OAAO,CAAC,cAAc,CAAC,GAAG,CAACK,kBAAkB,EAAG,WAAUC,cAAe,EAAC,CAAC,CAACI,IAAI,CAAC,GAAG,CAAC;IAC3FF,KAAK,CAACG,IAAI,GAAG,IAAI;EACrB,CAAC,MAAM,IAAI,CAACH,KAAK,CAACG,IAAI,IAAIF,WAAW,CAACG,UAAU,CAACP,kBAAkB,CAAC,EAAE;IAClEG,KAAK,CAACG,IAAI,GAAG,IAAI;EACrB;AACJ,CAAC;AAEM,MAAME,aAAa,GAAIC,MAAqB,IAAsB;EACrE,OAAO,OAAON,KAAK,EAAEO,OAAO,KAAK;IAC7B,MAAMC,GAAG,GAAG,IAAAC,sBAAiB,EAAC;MAC1B,GAAGH,MAAM;MACTI,OAAO,EAAE;QACLC,MAAM,EAAEL,MAAM,CAACM,KAAK,KAAK,IAAI;QAC7B,IAAIN,MAAM,CAACI,OAAO,IAAI,CAAC,CAAC;MAC5B;IACJ,CAAC,CAAC;IACF;AACR;AACA;IACQ,IAAAG,+BAAsB,EAACL,GAAG,CAACM,MAAM,CAAC;IAElC,IAAIN,GAAG,CAACM,MAAM,CAACC,OAAO,CAACC,MAAM,CAAcC,oBAAW,CAACC,IAAI,CAAC,CAACC,MAAM,KAAK,CAAC,EAAE;MACvE,MAAM,IAAIC,KAAK,CACV,iFACL,CAAC;IACL;IACArB,wBAAwB,CAACC,KAAK,CAAC;IAE/B,MAAMqB,SAAS,GAAG,IAAAC,kBAAgB,EAACd,GAAG,EAAE;MACpCe,eAAe,EAAE,IAAI;MACrBC,wBAAwB,EAAE,IAAI;MAC9BC,sBAAsB,EAAE,WAAW;MACnCC,aAAa,EAAEC,QAAQ,IAAI;QACvB,OACI,CAAC,CAACA,QAAQ,CAACnC,OAAO,CAACoC,yBAAkB,CAACC,OAAO,CAAC,IAC9C,CAAC,CAACF,QAAQ,CAACnC,OAAO,CAACoC,yBAAkB,CAACE,MAAM,CAAC;MAErD,CAAC;MACD,IAAIxB,MAAM,CAACyB,aAAa,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAOV,SAAS,CAACrB,KAAK,EAAEO,OAAO,CAAC;EACpC,CAAC;AACL,CAAC;AAACyB,OAAA,CAAA3B,aAAA,GAAAA,aAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _registry = require("../registry");
|
|
4
|
+
var _sourceHandler = require("../sourceHandler");
|
|
5
|
+
var _index = require("./index");
|
|
6
|
+
const handler = (0, _sourceHandler.createSourceHandler)({
|
|
7
|
+
name: "handler-aws-api-gateway",
|
|
8
|
+
canUse: event => {
|
|
9
|
+
return !!event.httpMethod;
|
|
10
|
+
},
|
|
11
|
+
handle: async ({
|
|
12
|
+
params,
|
|
13
|
+
event,
|
|
14
|
+
context
|
|
15
|
+
}) => {
|
|
16
|
+
return (0, _index.createHandler)(params)(event, context);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
_registry.registry.register(handler);
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_registry","require","_sourceHandler","_index","handler","createSourceHandler","name","canUse","event","httpMethod","handle","params","context","createHandler","registry","register"],"sources":["register.ts"],"sourcesContent":["import { registry } from \"~/registry\";\nimport { APIGatewayEvent } from \"aws-lambda\";\nimport { createSourceHandler } from \"~/sourceHandler\";\nimport { createHandler, HandlerParams } from \"./index\";\n\nconst handler = createSourceHandler<APIGatewayEvent, HandlerParams>({\n name: \"handler-aws-api-gateway\",\n canUse: event => {\n return !!event.httpMethod;\n },\n handle: async ({ params, event, context }) => {\n return createHandler(params)(event, context);\n }\n});\n\nregistry.register(handler);\n"],"mappings":";;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAEA,MAAMG,OAAO,GAAG,IAAAC,kCAAmB,EAAiC;EAChEC,IAAI,EAAE,yBAAyB;EAC/BC,MAAM,EAAEC,KAAK,IAAI;IACb,OAAO,CAAC,CAACA,KAAK,CAACC,UAAU;EAC7B,CAAC;EACDC,MAAM,EAAE,MAAAA,CAAO;IAAEC,MAAM;IAAEH,KAAK;IAAEI;EAAQ,CAAC,KAAK;IAC1C,OAAO,IAAAC,oBAAa,EAACF,MAAM,CAAC,CAACH,KAAK,EAAEI,OAAO,CAAC;EAChD;AACJ,CAAC,CAAC;AAEFE,kBAAQ,CAACC,QAAQ,CAACX,OAAO,CAAC"}
|
package/index.d.ts
CHANGED
|
@@ -1,7 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import "./gateway/register";
|
|
2
|
+
import "./s3/register";
|
|
3
|
+
import "./dynamodb/register";
|
|
4
|
+
import "./sqs/register";
|
|
5
|
+
import "./eventBridge/register";
|
|
6
|
+
import "./sns/register";
|
|
7
|
+
/**
|
|
8
|
+
* API Gateway
|
|
9
|
+
*/
|
|
10
|
+
export { createHandler as createApiGatewayHandler, HandlerParams as CreateApiGatewayHandlerParams, HandlerCallable as ApiGatewayHandlerCallable, RoutePlugin, createRoute as createApiGatewayRoute } from "./gateway";
|
|
11
|
+
/**
|
|
12
|
+
* S3
|
|
13
|
+
*/
|
|
14
|
+
export { createHandler as createS3Handler, HandlerParams as CreateS3HandlerParams, S3EventHandler, S3EventHandlerCallable, S3EventHandlerCallableParams, createEventHandler as createS3EventHandler } from "./s3";
|
|
15
|
+
/**
|
|
16
|
+
* DynamoDB Stream
|
|
17
|
+
*/
|
|
18
|
+
export { createHandler as createDynamoDBHandler, HandlerParams as CreateDynamoDBHandlerParams, DynamoDBEventHandler, DynamoDBEventHandlerCallable, DynamoDBEventHandlerCallableParams, createEventHandler as createDynamoDBEventHandler } from "./dynamodb";
|
|
19
|
+
/**
|
|
20
|
+
* SQS
|
|
21
|
+
*/
|
|
22
|
+
export { createHandler as createSQSHandler, HandlerParams as CreateSQSHandlerParams, SQSEventHandler, SQSEventHandlerCallable, SQSEventHandlerCallableParams, createEventHandler as createSQSEventHandler } from "./sqs";
|
|
23
|
+
/**
|
|
24
|
+
* SNS
|
|
25
|
+
*/
|
|
26
|
+
export { createHandler as createSNSHandler, HandlerParams as CreateSNSHandlerParams, SNSEventHandler, SNSEventHandlerCallable, SNSEventHandlerCallableParams, createEventHandler as createSNSEventHandler } from "./sns";
|
|
27
|
+
/**
|
|
28
|
+
* EventBridge
|
|
29
|
+
*/
|
|
30
|
+
export { createHandler as createEventBridgeHandler, HandlerParams as CreateEventBridgeHandlerParams, EventBridgeEventHandler, EventBridgeEventHandlerCallable, EventBridgeEventHandlerCallableParams, createEventHandler as createEventBridgeEventHandler } from "./eventBridge";
|
|
6
31
|
export { createHandler as createRawHandler, CreateHandlerParams as CreateRawHandlerParams, HandlerCallable as RawHandlerCallable, createEventHandler as createRawEventHandler, RawEventHandlerCallableParams, RawEventHandlerCallable, RawEventHandler } from "./raw";
|
|
7
32
|
export { ContextPlugin, createContextPlugin, ContextPluginCallable } from "@webiny/handler";
|
|
33
|
+
export * from "./createHandler";
|
|
34
|
+
export * from "./sourceHandler";
|
package/index.js
CHANGED
|
@@ -3,6 +3,59 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
var _exportNames = {
|
|
7
|
+
createApiGatewayHandler: true,
|
|
8
|
+
CreateApiGatewayHandlerParams: true,
|
|
9
|
+
ApiGatewayHandlerCallable: true,
|
|
10
|
+
RoutePlugin: true,
|
|
11
|
+
createApiGatewayRoute: true,
|
|
12
|
+
createS3Handler: true,
|
|
13
|
+
CreateS3HandlerParams: true,
|
|
14
|
+
S3EventHandler: true,
|
|
15
|
+
S3EventHandlerCallable: true,
|
|
16
|
+
S3EventHandlerCallableParams: true,
|
|
17
|
+
createS3EventHandler: true,
|
|
18
|
+
createDynamoDBHandler: true,
|
|
19
|
+
CreateDynamoDBHandlerParams: true,
|
|
20
|
+
DynamoDBEventHandler: true,
|
|
21
|
+
DynamoDBEventHandlerCallable: true,
|
|
22
|
+
DynamoDBEventHandlerCallableParams: true,
|
|
23
|
+
createDynamoDBEventHandler: true,
|
|
24
|
+
createSQSHandler: true,
|
|
25
|
+
CreateSQSHandlerParams: true,
|
|
26
|
+
SQSEventHandler: true,
|
|
27
|
+
SQSEventHandlerCallable: true,
|
|
28
|
+
SQSEventHandlerCallableParams: true,
|
|
29
|
+
createSQSEventHandler: true,
|
|
30
|
+
createSNSHandler: true,
|
|
31
|
+
CreateSNSHandlerParams: true,
|
|
32
|
+
SNSEventHandler: true,
|
|
33
|
+
SNSEventHandlerCallable: true,
|
|
34
|
+
SNSEventHandlerCallableParams: true,
|
|
35
|
+
createSNSEventHandler: true,
|
|
36
|
+
createEventBridgeHandler: true,
|
|
37
|
+
CreateEventBridgeHandlerParams: true,
|
|
38
|
+
EventBridgeEventHandler: true,
|
|
39
|
+
EventBridgeEventHandlerCallable: true,
|
|
40
|
+
EventBridgeEventHandlerCallableParams: true,
|
|
41
|
+
createEventBridgeEventHandler: true,
|
|
42
|
+
createRawHandler: true,
|
|
43
|
+
CreateRawHandlerParams: true,
|
|
44
|
+
RawHandlerCallable: true,
|
|
45
|
+
createRawEventHandler: true,
|
|
46
|
+
RawEventHandlerCallableParams: true,
|
|
47
|
+
RawEventHandlerCallable: true,
|
|
48
|
+
RawEventHandler: true,
|
|
49
|
+
ContextPlugin: true,
|
|
50
|
+
createContextPlugin: true,
|
|
51
|
+
ContextPluginCallable: true
|
|
52
|
+
};
|
|
53
|
+
Object.defineProperty(exports, "ApiGatewayHandlerCallable", {
|
|
54
|
+
enumerable: true,
|
|
55
|
+
get: function () {
|
|
56
|
+
return _gateway.HandlerCallable;
|
|
57
|
+
}
|
|
58
|
+
});
|
|
6
59
|
Object.defineProperty(exports, "ContextPlugin", {
|
|
7
60
|
enumerable: true,
|
|
8
61
|
get: function () {
|
|
@@ -18,19 +71,19 @@ Object.defineProperty(exports, "ContextPluginCallable", {
|
|
|
18
71
|
Object.defineProperty(exports, "CreateApiGatewayHandlerParams", {
|
|
19
72
|
enumerable: true,
|
|
20
73
|
get: function () {
|
|
21
|
-
return _gateway.
|
|
74
|
+
return _gateway.HandlerParams;
|
|
22
75
|
}
|
|
23
76
|
});
|
|
24
77
|
Object.defineProperty(exports, "CreateDynamoDBHandlerParams", {
|
|
25
78
|
enumerable: true,
|
|
26
79
|
get: function () {
|
|
27
|
-
return _dynamodb.
|
|
80
|
+
return _dynamodb.HandlerParams;
|
|
28
81
|
}
|
|
29
82
|
});
|
|
30
83
|
Object.defineProperty(exports, "CreateEventBridgeHandlerParams", {
|
|
31
84
|
enumerable: true,
|
|
32
85
|
get: function () {
|
|
33
|
-
return _eventBridge.
|
|
86
|
+
return _eventBridge.HandlerParams;
|
|
34
87
|
}
|
|
35
88
|
});
|
|
36
89
|
Object.defineProperty(exports, "CreateRawHandlerParams", {
|
|
@@ -42,13 +95,19 @@ Object.defineProperty(exports, "CreateRawHandlerParams", {
|
|
|
42
95
|
Object.defineProperty(exports, "CreateS3HandlerParams", {
|
|
43
96
|
enumerable: true,
|
|
44
97
|
get: function () {
|
|
45
|
-
return _s.
|
|
98
|
+
return _s.HandlerParams;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
Object.defineProperty(exports, "CreateSNSHandlerParams", {
|
|
102
|
+
enumerable: true,
|
|
103
|
+
get: function () {
|
|
104
|
+
return _sns.HandlerParams;
|
|
46
105
|
}
|
|
47
106
|
});
|
|
48
107
|
Object.defineProperty(exports, "CreateSQSHandlerParams", {
|
|
49
108
|
enumerable: true,
|
|
50
109
|
get: function () {
|
|
51
|
-
return _sqs.
|
|
110
|
+
return _sqs.HandlerParams;
|
|
52
111
|
}
|
|
53
112
|
});
|
|
54
113
|
Object.defineProperty(exports, "DynamoDBEventHandler", {
|
|
@@ -69,12 +128,6 @@ Object.defineProperty(exports, "DynamoDBEventHandlerCallableParams", {
|
|
|
69
128
|
return _dynamodb.DynamoDBEventHandlerCallableParams;
|
|
70
129
|
}
|
|
71
130
|
});
|
|
72
|
-
Object.defineProperty(exports, "DynamoDBHandlerCallable", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
get: function () {
|
|
75
|
-
return _dynamodb.HandlerCallable;
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
131
|
Object.defineProperty(exports, "EventBridgeEventHandler", {
|
|
79
132
|
enumerable: true,
|
|
80
133
|
get: function () {
|
|
@@ -93,12 +146,6 @@ Object.defineProperty(exports, "EventBridgeEventHandlerCallableParams", {
|
|
|
93
146
|
return _eventBridge.EventBridgeEventHandlerCallableParams;
|
|
94
147
|
}
|
|
95
148
|
});
|
|
96
|
-
Object.defineProperty(exports, "EventBridgeHandlerCallable", {
|
|
97
|
-
enumerable: true,
|
|
98
|
-
get: function () {
|
|
99
|
-
return _eventBridge.HandlerCallable;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
149
|
Object.defineProperty(exports, "RawEventHandler", {
|
|
103
150
|
enumerable: true,
|
|
104
151
|
get: function () {
|
|
@@ -147,6 +194,24 @@ Object.defineProperty(exports, "S3EventHandlerCallableParams", {
|
|
|
147
194
|
return _s.S3EventHandlerCallableParams;
|
|
148
195
|
}
|
|
149
196
|
});
|
|
197
|
+
Object.defineProperty(exports, "SNSEventHandler", {
|
|
198
|
+
enumerable: true,
|
|
199
|
+
get: function () {
|
|
200
|
+
return _sns.SNSEventHandler;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
Object.defineProperty(exports, "SNSEventHandlerCallable", {
|
|
204
|
+
enumerable: true,
|
|
205
|
+
get: function () {
|
|
206
|
+
return _sns.SNSEventHandlerCallable;
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
Object.defineProperty(exports, "SNSEventHandlerCallableParams", {
|
|
210
|
+
enumerable: true,
|
|
211
|
+
get: function () {
|
|
212
|
+
return _sns.SNSEventHandlerCallableParams;
|
|
213
|
+
}
|
|
214
|
+
});
|
|
150
215
|
Object.defineProperty(exports, "SQSEventHandler", {
|
|
151
216
|
enumerable: true,
|
|
152
217
|
get: function () {
|
|
@@ -165,12 +230,6 @@ Object.defineProperty(exports, "SQSEventHandlerCallableParams", {
|
|
|
165
230
|
return _sqs.SQSEventHandlerCallableParams;
|
|
166
231
|
}
|
|
167
232
|
});
|
|
168
|
-
Object.defineProperty(exports, "SQSHandlerCallable", {
|
|
169
|
-
enumerable: true,
|
|
170
|
-
get: function () {
|
|
171
|
-
return _sqs.HandlerCallable;
|
|
172
|
-
}
|
|
173
|
-
});
|
|
174
233
|
Object.defineProperty(exports, "createApiGatewayHandler", {
|
|
175
234
|
enumerable: true,
|
|
176
235
|
get: function () {
|
|
@@ -237,6 +296,18 @@ Object.defineProperty(exports, "createS3Handler", {
|
|
|
237
296
|
return _s.createHandler;
|
|
238
297
|
}
|
|
239
298
|
});
|
|
299
|
+
Object.defineProperty(exports, "createSNSEventHandler", {
|
|
300
|
+
enumerable: true,
|
|
301
|
+
get: function () {
|
|
302
|
+
return _sns.createEventHandler;
|
|
303
|
+
}
|
|
304
|
+
});
|
|
305
|
+
Object.defineProperty(exports, "createSNSHandler", {
|
|
306
|
+
enumerable: true,
|
|
307
|
+
get: function () {
|
|
308
|
+
return _sns.createHandler;
|
|
309
|
+
}
|
|
310
|
+
});
|
|
240
311
|
Object.defineProperty(exports, "createSQSEventHandler", {
|
|
241
312
|
enumerable: true,
|
|
242
313
|
get: function () {
|
|
@@ -249,12 +320,43 @@ Object.defineProperty(exports, "createSQSHandler", {
|
|
|
249
320
|
return _sqs.createHandler;
|
|
250
321
|
}
|
|
251
322
|
});
|
|
323
|
+
require("./gateway/register");
|
|
324
|
+
require("./s3/register");
|
|
325
|
+
require("./dynamodb/register");
|
|
326
|
+
require("./sqs/register");
|
|
327
|
+
require("./eventBridge/register");
|
|
328
|
+
require("./sns/register");
|
|
252
329
|
var _gateway = require("./gateway");
|
|
253
330
|
var _s = require("./s3");
|
|
254
331
|
var _dynamodb = require("./dynamodb");
|
|
255
332
|
var _sqs = require("./sqs");
|
|
333
|
+
var _sns = require("./sns");
|
|
256
334
|
var _eventBridge = require("./eventBridge");
|
|
257
335
|
var _raw = require("./raw");
|
|
258
336
|
var _handler = require("@webiny/handler");
|
|
337
|
+
var _createHandler = require("./createHandler");
|
|
338
|
+
Object.keys(_createHandler).forEach(function (key) {
|
|
339
|
+
if (key === "default" || key === "__esModule") return;
|
|
340
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
341
|
+
if (key in exports && exports[key] === _createHandler[key]) return;
|
|
342
|
+
Object.defineProperty(exports, key, {
|
|
343
|
+
enumerable: true,
|
|
344
|
+
get: function () {
|
|
345
|
+
return _createHandler[key];
|
|
346
|
+
}
|
|
347
|
+
});
|
|
348
|
+
});
|
|
349
|
+
var _sourceHandler = require("./sourceHandler");
|
|
350
|
+
Object.keys(_sourceHandler).forEach(function (key) {
|
|
351
|
+
if (key === "default" || key === "__esModule") return;
|
|
352
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
353
|
+
if (key in exports && exports[key] === _sourceHandler[key]) return;
|
|
354
|
+
Object.defineProperty(exports, key, {
|
|
355
|
+
enumerable: true,
|
|
356
|
+
get: function () {
|
|
357
|
+
return _sourceHandler[key];
|
|
358
|
+
}
|
|
359
|
+
});
|
|
360
|
+
});
|
|
259
361
|
|
|
260
362
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["require","_gateway","_s","_dynamodb","_sqs","_sns","_eventBridge","_raw","_handler","_createHandler","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_sourceHandler"],"sources":["index.ts"],"sourcesContent":["import \"./gateway/register\";\nimport \"./s3/register\";\nimport \"./dynamodb/register\";\nimport \"./sqs/register\";\nimport \"./eventBridge/register\";\nimport \"./sns/register\";\n\n/**\n * API Gateway\n */\nexport {\n createHandler as createApiGatewayHandler,\n HandlerParams as CreateApiGatewayHandlerParams,\n HandlerCallable as ApiGatewayHandlerCallable,\n RoutePlugin,\n createRoute as createApiGatewayRoute\n} from \"~/gateway\";\n\n/**\n * S3\n */\n//\nexport {\n createHandler as createS3Handler,\n HandlerParams as CreateS3HandlerParams,\n S3EventHandler,\n S3EventHandlerCallable,\n S3EventHandlerCallableParams,\n createEventHandler as createS3EventHandler\n} from \"~/s3\";\n\n/**\n * DynamoDB Stream\n */\n//\nexport {\n createHandler as createDynamoDBHandler,\n HandlerParams as CreateDynamoDBHandlerParams,\n DynamoDBEventHandler,\n DynamoDBEventHandlerCallable,\n DynamoDBEventHandlerCallableParams,\n createEventHandler as createDynamoDBEventHandler\n} from \"~/dynamodb\";\n\n/**\n * SQS\n */\n//\nexport {\n createHandler as createSQSHandler,\n HandlerParams as CreateSQSHandlerParams,\n SQSEventHandler,\n SQSEventHandlerCallable,\n SQSEventHandlerCallableParams,\n createEventHandler as createSQSEventHandler\n} from \"~/sqs\";\n\n/**\n * SNS\n */\n//\nexport {\n createHandler as createSNSHandler,\n HandlerParams as CreateSNSHandlerParams,\n SNSEventHandler,\n SNSEventHandlerCallable,\n SNSEventHandlerCallableParams,\n createEventHandler as createSNSEventHandler\n} from \"~/sns\";\n\n/**\n * EventBridge\n */\n//\nexport {\n createHandler as createEventBridgeHandler,\n HandlerParams as CreateEventBridgeHandlerParams,\n EventBridgeEventHandler,\n EventBridgeEventHandlerCallable,\n EventBridgeEventHandlerCallableParams,\n createEventHandler as createEventBridgeEventHandler\n} from \"~/eventBridge\";\n\nexport {\n createHandler as createRawHandler,\n CreateHandlerParams as CreateRawHandlerParams,\n HandlerCallable as RawHandlerCallable,\n createEventHandler as createRawEventHandler,\n RawEventHandlerCallableParams,\n RawEventHandlerCallable,\n RawEventHandler\n} from \"~/raw\";\n\nexport { ContextPlugin, createContextPlugin, ContextPluginCallable } from \"@webiny/handler\";\n\nexport * from \"./createHandler\";\nexport * from \"./sourceHandler\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAYA,IAAAE,EAAA,GAAAF,OAAA;AAaA,IAAAG,SAAA,GAAAH,OAAA;AAaA,IAAAI,IAAA,GAAAJ,OAAA;AAaA,IAAAK,IAAA,GAAAL,OAAA;AAaA,IAAAM,YAAA,GAAAN,OAAA;AASA,IAAAO,IAAA,GAAAP,OAAA;AAUA,IAAAQ,QAAA,GAAAR,OAAA;AAEA,IAAAS,cAAA,GAAAT,OAAA;AAAAU,MAAA,CAAAC,IAAA,CAAAF,cAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,cAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,cAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,cAAA,GAAAtB,OAAA;AAAAU,MAAA,CAAAC,IAAA,CAAAW,cAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,cAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,cAAA,CAAAT,GAAA;IAAA;EAAA;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/handler-aws",
|
|
3
|
-
"version": "5.39.0-beta.
|
|
3
|
+
"version": "5.39.0-beta.2",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,10 +14,11 @@
|
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@babel/runtime": "7.22.6",
|
|
16
16
|
"@fastify/aws-lambda": "3.1.3",
|
|
17
|
-
"@webiny/
|
|
18
|
-
"@webiny/handler
|
|
19
|
-
"@webiny/
|
|
20
|
-
"
|
|
17
|
+
"@webiny/aws-sdk": "5.39.0-beta.2",
|
|
18
|
+
"@webiny/handler": "5.39.0-beta.2",
|
|
19
|
+
"@webiny/handler-client": "5.39.0-beta.2",
|
|
20
|
+
"@webiny/plugins": "5.39.0-beta.2",
|
|
21
|
+
"@webiny/utils": "5.39.0-beta.2",
|
|
21
22
|
"fastify": "4.11.0"
|
|
22
23
|
},
|
|
23
24
|
"devDependencies": {
|
|
@@ -25,8 +26,9 @@
|
|
|
25
26
|
"@babel/core": "7.22.8",
|
|
26
27
|
"@babel/preset-env": "7.22.7",
|
|
27
28
|
"@babel/preset-typescript": "7.22.5",
|
|
28
|
-
"@webiny/cli": "5.39.0-beta.
|
|
29
|
-
"@webiny/project-utils": "5.39.0-beta.
|
|
29
|
+
"@webiny/cli": "5.39.0-beta.2",
|
|
30
|
+
"@webiny/project-utils": "5.39.0-beta.2",
|
|
31
|
+
"aws-lambda": "1.0.7",
|
|
30
32
|
"rimraf": "3.0.2",
|
|
31
33
|
"ttypescript": "1.5.15",
|
|
32
34
|
"typescript": "4.7.4"
|
|
@@ -39,5 +41,5 @@
|
|
|
39
41
|
"build": "yarn webiny run build",
|
|
40
42
|
"watch": "yarn webiny run watch"
|
|
41
43
|
},
|
|
42
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "193039382160557448f23f43685f29136f58f87a"
|
|
43
45
|
}
|
package/plugins/handlerClient.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.createHandlerClientPlugin = void 0;
|
|
8
|
-
var
|
|
7
|
+
var _clientLambda = require("@webiny/aws-sdk/client-lambda");
|
|
9
8
|
var _handlerClient = require("@webiny/handler-client");
|
|
10
9
|
const createHandlerClientPlugin = () => {
|
|
11
10
|
const plugin = new _handlerClient.HandlerClientPlugin({
|
|
@@ -15,22 +14,22 @@ const createHandlerClientPlugin = () => {
|
|
|
15
14
|
name,
|
|
16
15
|
payload
|
|
17
16
|
} = params;
|
|
18
|
-
const lambdaClient = new
|
|
17
|
+
const lambdaClient = new _clientLambda.LambdaClient({
|
|
19
18
|
region: process.env.AWS_REGION
|
|
20
19
|
});
|
|
21
|
-
const response = await lambdaClient.
|
|
20
|
+
const response = await lambdaClient.send(new _clientLambda.InvokeCommand({
|
|
22
21
|
FunctionName: name,
|
|
23
22
|
InvocationType: useAwait === false ? "Event" : "RequestResponse",
|
|
24
23
|
Payload: JSON.stringify(payload)
|
|
25
|
-
})
|
|
24
|
+
}));
|
|
26
25
|
if (useAwait === false) {
|
|
27
26
|
return null;
|
|
28
27
|
}
|
|
29
|
-
const
|
|
30
|
-
return JSON.parse(Payload);
|
|
28
|
+
const decoder = new TextDecoder("utf-8");
|
|
29
|
+
return JSON.parse(decoder.decode(response.Payload));
|
|
31
30
|
},
|
|
32
31
|
canUse: params => {
|
|
33
|
-
if (!
|
|
32
|
+
if (!params?.name) {
|
|
34
33
|
return true;
|
|
35
34
|
}
|
|
36
35
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_clientLambda","require","_handlerClient","createHandlerClientPlugin","plugin","HandlerClientPlugin","invoke","params","await","useAwait","name","payload","lambdaClient","LambdaClient","region","process","env","AWS_REGION","response","send","InvokeCommand","FunctionName","InvocationType","Payload","JSON","stringify","decoder","TextDecoder","parse","decode","canUse","AWS_LAMBDA_FUNCTION_NAME","match","exports"],"sources":["handlerClient.ts"],"sourcesContent":["import { LambdaClient, InvokeCommand } from \"@webiny/aws-sdk/client-lambda\";\nimport { HandlerClientPlugin } from \"@webiny/handler-client\";\n\nexport const createHandlerClientPlugin = () => {\n const plugin = new HandlerClientPlugin({\n invoke: async params => {\n const { await: useAwait, name, payload } = params;\n const lambdaClient = new LambdaClient({\n region: process.env.AWS_REGION\n });\n const response = await lambdaClient.send(\n new InvokeCommand({\n FunctionName: name,\n InvocationType: useAwait === false ? \"Event\" : \"RequestResponse\",\n Payload: JSON.stringify(payload)\n })\n );\n\n if (useAwait === false) {\n return null;\n }\n\n const decoder = new TextDecoder(\"utf-8\");\n return JSON.parse(decoder.decode(response.Payload));\n },\n canUse: params => {\n if (!params?.name) {\n return true;\n }\n const { name } = params;\n /**\n * In case we are invoking currently active lambda, let's use this plugin as well.\n * When invoking some other lambda, name starts with arn.\n */\n if (name === process.env.AWS_LAMBDA_FUNCTION_NAME) {\n return true;\n }\n return name.match(\"arn:\") !== null;\n }\n });\n\n plugin.name = \"handler-client\";\n\n return plugin;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,aAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEO,MAAME,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,MAAMC,MAAM,GAAG,IAAIC,kCAAmB,CAAC;IACnCC,MAAM,EAAE,MAAMC,MAAM,IAAI;MACpB,MAAM;QAAEC,KAAK,EAAEC,QAAQ;QAAEC,IAAI;QAAEC;MAAQ,CAAC,GAAGJ,MAAM;MACjD,MAAMK,YAAY,GAAG,IAAIC,0BAAY,CAAC;QAClCC,MAAM,EAAEC,OAAO,CAACC,GAAG,CAACC;MACxB,CAAC,CAAC;MACF,MAAMC,QAAQ,GAAG,MAAMN,YAAY,CAACO,IAAI,CACpC,IAAIC,2BAAa,CAAC;QACdC,YAAY,EAAEX,IAAI;QAClBY,cAAc,EAAEb,QAAQ,KAAK,KAAK,GAAG,OAAO,GAAG,iBAAiB;QAChEc,OAAO,EAAEC,IAAI,CAACC,SAAS,CAACd,OAAO;MACnC,CAAC,CACL,CAAC;MAED,IAAIF,QAAQ,KAAK,KAAK,EAAE;QACpB,OAAO,IAAI;MACf;MAEA,MAAMiB,OAAO,GAAG,IAAIC,WAAW,CAAC,OAAO,CAAC;MACxC,OAAOH,IAAI,CAACI,KAAK,CAACF,OAAO,CAACG,MAAM,CAACX,QAAQ,CAACK,OAAO,CAAC,CAAC;IACvD,CAAC;IACDO,MAAM,EAAEvB,MAAM,IAAI;MACd,IAAI,CAACA,MAAM,EAAEG,IAAI,EAAE;QACf,OAAO,IAAI;MACf;MACA,MAAM;QAAEA;MAAK,CAAC,GAAGH,MAAM;MACvB;AACZ;AACA;AACA;MACY,IAAIG,IAAI,KAAKK,OAAO,CAACC,GAAG,CAACe,wBAAwB,EAAE;QAC/C,OAAO,IAAI;MACf;MACA,OAAOrB,IAAI,CAACsB,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI;IACtC;EACJ,CAAC,CAAC;EAEF5B,MAAM,CAACM,IAAI,GAAG,gBAAgB;EAE9B,OAAON,MAAM;AACjB,CAAC;AAAC6B,OAAA,CAAA9B,yBAAA,GAAAA,yBAAA"}
|
package/raw/index.d.ts
CHANGED
|
@@ -10,10 +10,6 @@ import { APIGatewayProxyResult } from "aws-lambda/trigger/api-gateway-proxy";
|
|
|
10
10
|
export interface HandlerCallable<Payload, Response = APIGatewayProxyResult> {
|
|
11
11
|
(payload: Payload, context: LambdaContext): Promise<Response>;
|
|
12
12
|
}
|
|
13
|
-
export
|
|
14
|
-
http?: {
|
|
15
|
-
debug?: boolean;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
13
|
+
export declare type CreateHandlerParams = BaseCreateHandlerParams;
|
|
18
14
|
export declare const createHandler: <Payload = any, Response_1 = APIGatewayProxyResult>(params: CreateHandlerParams) => HandlerCallable<Payload, Response_1>;
|
|
19
15
|
export * from "./plugins/RawEventHandler";
|
package/raw/index.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
@@ -8,7 +7,6 @@ var _exportNames = {
|
|
|
8
7
|
createHandler: true
|
|
9
8
|
};
|
|
10
9
|
exports.createHandler = void 0;
|
|
11
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
12
10
|
var _handler = require("@webiny/handler");
|
|
13
11
|
var _RawEventHandler = require("./plugins/RawEventHandler");
|
|
14
12
|
Object.keys(_RawEventHandler).forEach(function (key) {
|
|
@@ -24,6 +22,7 @@ Object.keys(_RawEventHandler).forEach(function (key) {
|
|
|
24
22
|
});
|
|
25
23
|
var _plugins = require("../plugins");
|
|
26
24
|
var _execute = require("../execute");
|
|
25
|
+
var _composedHandler = require("../utils/composedHandler");
|
|
27
26
|
/**
|
|
28
27
|
* This is the handler implementation for @webiny/handler/plugins/EventPlugin.
|
|
29
28
|
* This is mostly meant for some custom lambda calls as we are sometimes invoking lambdas directly.
|
|
@@ -35,12 +34,13 @@ const Reply = require("fastify/lib/reply");
|
|
|
35
34
|
const url = "/webiny-raw-event";
|
|
36
35
|
const createHandler = params => {
|
|
37
36
|
return (payload, context) => {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
options:
|
|
41
|
-
logger:
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
const app = (0, _handler.createHandler)({
|
|
38
|
+
...params,
|
|
39
|
+
options: {
|
|
40
|
+
logger: params.debug === true,
|
|
41
|
+
...(params.options || {})
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
44
|
/**
|
|
45
45
|
* We always must add our default plugins to the app.
|
|
46
46
|
*/
|
|
@@ -48,11 +48,11 @@ const createHandler = params => {
|
|
|
48
48
|
/**
|
|
49
49
|
* There must be an event plugin for this handler to work.
|
|
50
50
|
*/
|
|
51
|
-
const plugins = app.webiny.plugins.byType(_RawEventHandler.RawEventHandler.type);
|
|
52
|
-
|
|
53
|
-
if (!handler) {
|
|
51
|
+
const plugins = app.webiny.plugins.byType(_RawEventHandler.RawEventHandler.type).reverse();
|
|
52
|
+
if (plugins.length === 0) {
|
|
54
53
|
throw new Error(`To run @webiny/handler-aws/raw, you must have RawEventHandler set.`);
|
|
55
54
|
}
|
|
55
|
+
const handler = (0, _composedHandler.createComposedHandler)(plugins);
|
|
56
56
|
app.post(url, async (request, reply) => {
|
|
57
57
|
const params = {
|
|
58
58
|
request,
|
|
@@ -61,7 +61,7 @@ const createHandler = params => {
|
|
|
61
61
|
payload,
|
|
62
62
|
lambdaContext: context
|
|
63
63
|
};
|
|
64
|
-
const result = await handler
|
|
64
|
+
const result = await handler(params);
|
|
65
65
|
if (result instanceof Reply) {
|
|
66
66
|
return result;
|
|
67
67
|
}
|
package/raw/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handler","require","_RawEventHandler","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_plugins","_execute","Reply","url","createHandler","params","payload","context","
|
|
1
|
+
{"version":3,"names":["_handler","require","_RawEventHandler","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_plugins","_execute","_composedHandler","Reply","url","createHandler","params","payload","context","app","createBaseHandler","options","logger","debug","registerDefaultPlugins","webiny","plugins","byType","RawEventHandler","type","reverse","length","Error","handler","createComposedHandler","post","request","reply","lambdaContext","result","__webiny_raw_result","send","execute"],"sources":["index.ts"],"sourcesContent":["/**\n * This is the handler implementation for @webiny/handler/plugins/EventPlugin.\n * This is mostly meant for some custom lambda calls as we are sometimes invoking lambdas directly.\n *\n * We should try to have some kind of standardized event type implementation at some point.\n */\nimport {\n createHandler as createBaseHandler,\n CreateHandlerParams as BaseCreateHandlerParams\n} from \"@webiny/handler\";\nimport { Context as LambdaContext } from \"aws-lambda\";\nimport { APIGatewayProxyResult } from \"aws-lambda/trigger/api-gateway-proxy\";\nimport { RawEventHandler } from \"~/raw/plugins/RawEventHandler\";\nimport { registerDefaultPlugins } from \"~/plugins\";\nimport { execute } from \"~/execute\";\nimport { createComposedHandler } from \"~/utils/composedHandler\";\nimport { Context, Request } from \"@webiny/handler/types\";\n\nconst Reply = require(\"fastify/lib/reply\");\n\nconst url = \"/webiny-raw-event\";\n\nexport interface HandlerCallable<Payload, Response = APIGatewayProxyResult> {\n (payload: Payload, context: LambdaContext): Promise<Response>;\n}\n\nexport type CreateHandlerParams = BaseCreateHandlerParams;\n\ninterface HandlerParams<Payload = any> {\n request: Request;\n context: Context;\n payload: Payload;\n lambdaContext: LambdaContext;\n reply: Record<string, any>;\n next: () => Promise<Payload>;\n}\n\nexport const createHandler = <Payload = any, Response = APIGatewayProxyResult>(\n params: CreateHandlerParams\n): HandlerCallable<Payload, Response> => {\n return (payload, context) => {\n const app = createBaseHandler({\n ...params,\n options: {\n logger: params.debug === true,\n ...(params.options || {})\n }\n });\n /**\n * We always must add our default plugins to the app.\n */\n registerDefaultPlugins(app.webiny);\n /**\n * There must be an event plugin for this handler to work.\n */\n const plugins = app.webiny.plugins\n .byType<RawEventHandler<Payload, any, Response>>(RawEventHandler.type)\n .reverse();\n if (plugins.length === 0) {\n throw new Error(`To run @webiny/handler-aws/raw, you must have RawEventHandler set.`);\n }\n\n const handler = createComposedHandler<\n RawEventHandler<Payload, any, Response>,\n HandlerParams,\n Response\n >(plugins);\n\n app.post(url, async (request, reply) => {\n const params: Omit<HandlerParams, \"next\"> = {\n request,\n reply,\n context: app.webiny,\n payload,\n lambdaContext: context\n };\n const result = await handler(params as unknown as HandlerParams);\n\n if (result instanceof Reply) {\n return result;\n }\n\n app.__webiny_raw_result = result;\n return reply.send({});\n });\n return execute({\n app,\n url,\n payload\n });\n };\n};\n\nexport * from \"./plugins/RawEventHandler\";\n"],"mappings":";;;;;;;;;AAMA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,gBAAA,GAAAD,OAAA;AAiFAE,MAAA,CAAAC,IAAA,CAAAF,gBAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,gBAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,gBAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAhFA,IAAAS,QAAA,GAAAd,OAAA;AACA,IAAAe,QAAA,GAAAf,OAAA;AACA,IAAAgB,gBAAA,GAAAhB,OAAA;AAfA;AACA;AACA;AACA;AACA;AACA;;AAaA,MAAMiB,KAAK,GAAGjB,OAAO,CAAC,mBAAmB,CAAC;AAE1C,MAAMkB,GAAG,GAAG,mBAAmB;AAiBxB,MAAMC,aAAa,GACtBC,MAA2B,IACU;EACrC,OAAO,CAACC,OAAO,EAAEC,OAAO,KAAK;IACzB,MAAMC,GAAG,GAAG,IAAAC,sBAAiB,EAAC;MAC1B,GAAGJ,MAAM;MACTK,OAAO,EAAE;QACLC,MAAM,EAAEN,MAAM,CAACO,KAAK,KAAK,IAAI;QAC7B,IAAIP,MAAM,CAACK,OAAO,IAAI,CAAC,CAAC;MAC5B;IACJ,CAAC,CAAC;IACF;AACR;AACA;IACQ,IAAAG,+BAAsB,EAACL,GAAG,CAACM,MAAM,CAAC;IAClC;AACR;AACA;IACQ,MAAMC,OAAO,GAAGP,GAAG,CAACM,MAAM,CAACC,OAAO,CAC7BC,MAAM,CAA0CC,gCAAe,CAACC,IAAI,CAAC,CACrEC,OAAO,CAAC,CAAC;IACd,IAAIJ,OAAO,CAACK,MAAM,KAAK,CAAC,EAAE;MACtB,MAAM,IAAIC,KAAK,CAAE,oEAAmE,CAAC;IACzF;IAEA,MAAMC,OAAO,GAAG,IAAAC,sCAAqB,EAInCR,OAAO,CAAC;IAEVP,GAAG,CAACgB,IAAI,CAACrB,GAAG,EAAE,OAAOsB,OAAO,EAAEC,KAAK,KAAK;MACpC,MAAMrB,MAAmC,GAAG;QACxCoB,OAAO;QACPC,KAAK;QACLnB,OAAO,EAAEC,GAAG,CAACM,MAAM;QACnBR,OAAO;QACPqB,aAAa,EAAEpB;MACnB,CAAC;MACD,MAAMqB,MAAM,GAAG,MAAMN,OAAO,CAACjB,MAAkC,CAAC;MAEhE,IAAIuB,MAAM,YAAY1B,KAAK,EAAE;QACzB,OAAO0B,MAAM;MACjB;MAEApB,GAAG,CAACqB,mBAAmB,GAAGD,MAAM;MAChC,OAAOF,KAAK,CAACI,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,OAAO,IAAAC,gBAAO,EAAC;MACXvB,GAAG;MACHL,GAAG;MACHG;IACJ,CAAC,CAAC;EACN,CAAC;AACL,CAAC;AAACX,OAAA,CAAAS,aAAA,GAAAA,aAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Context as BaseContext, Reply } from "@webiny/handler/types";
|
|
2
2
|
import { Context as LambdaContext } from "aws-lambda";
|
|
3
3
|
import { EventPlugin, EventPluginCallableParams } from "@webiny/handler";
|
|
4
4
|
export interface RawEventHandlerCallableParams<Event, Context extends BaseContext> extends EventPluginCallableParams<Event, Context> {
|
|
@@ -7,7 +7,7 @@ export interface RawEventHandlerCallableParams<Event, Context extends BaseContex
|
|
|
7
7
|
export interface RawEventHandlerCallable<Event, Context extends BaseContext, Response> {
|
|
8
8
|
(params: RawEventHandlerCallableParams<Event, Context>): Promise<Response | Reply>;
|
|
9
9
|
}
|
|
10
|
-
export declare class RawEventHandler<Event = any, Context extends BaseContext = BaseContext, Response = any> extends EventPlugin {
|
|
10
|
+
export declare class RawEventHandler<Event = any, Context extends BaseContext = BaseContext, Response = any> extends EventPlugin<Event, Context, Response> {
|
|
11
11
|
constructor(cb: RawEventHandlerCallable<Event, Context, Response>);
|
|
12
12
|
}
|
|
13
13
|
export declare const createEventHandler: <Event_1 = any, Context extends BaseContext = BaseContext, Response_1 = any>(cb: RawEventHandlerCallable<Event_1, Context, Response_1>) => RawEventHandler<Event_1, Context, Response_1>;
|
|
@@ -7,6 +7,10 @@ exports.createEventHandler = exports.RawEventHandler = void 0;
|
|
|
7
7
|
var _handler = require("@webiny/handler");
|
|
8
8
|
class RawEventHandler extends _handler.EventPlugin {
|
|
9
9
|
constructor(cb) {
|
|
10
|
+
/**
|
|
11
|
+
* Callable is correct, TS is just having problems with the override.
|
|
12
|
+
*/
|
|
13
|
+
// @ts-expect-error
|
|
10
14
|
super(cb);
|
|
11
15
|
}
|
|
12
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handler","require","RawEventHandler","EventPlugin","constructor","cb","exports","createEventHandler"],"sources":["RawEventHandler.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["_handler","require","RawEventHandler","EventPlugin","constructor","cb","exports","createEventHandler"],"sources":["RawEventHandler.ts"],"sourcesContent":["import { Context as BaseContext, Reply } from \"@webiny/handler/types\";\nimport { Context as LambdaContext } from \"aws-lambda\";\nimport { EventPlugin, EventPluginCallableParams } from \"@webiny/handler\";\n\nexport interface RawEventHandlerCallableParams<Event, Context extends BaseContext>\n extends EventPluginCallableParams<Event, Context> {\n lambdaContext: LambdaContext;\n}\nexport interface RawEventHandlerCallable<Event, Context extends BaseContext, Response> {\n (params: RawEventHandlerCallableParams<Event, Context>): Promise<Response | Reply>;\n}\n\nexport class RawEventHandler<\n Event = any,\n Context extends BaseContext = BaseContext,\n Response = any\n> extends EventPlugin<Event, Context, Response> {\n public constructor(cb: RawEventHandlerCallable<Event, Context, Response>) {\n /**\n * Callable is correct, TS is just having problems with the override.\n */\n // @ts-expect-error\n super(cb);\n }\n}\n\nexport const createEventHandler = <\n Event = any,\n Context extends BaseContext = BaseContext,\n Response = any\n>(\n cb: RawEventHandlerCallable<Event, Context, Response>\n) => {\n return new RawEventHandler<Event, Context, Response>(cb);\n};\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAUO,MAAMC,eAAe,SAIlBC,oBAAW,CAA2B;EACrCC,WAAWA,CAACC,EAAqD,EAAE;IACtE;AACR;AACA;IACQ;IACA,KAAK,CAACA,EAAE,CAAC;EACb;AACJ;AAACC,OAAA,CAAAJ,eAAA,GAAAA,eAAA;AAEM,MAAMK,kBAAkB,GAK3BF,EAAqD,IACpD;EACD,OAAO,IAAIH,eAAe,CAA2BG,EAAE,CAAC;AAC5D,CAAC;AAACC,OAAA,CAAAC,kBAAA,GAAAA,kBAAA"}
|
package/registry.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HandlerEvent, SourceHandler } from "./types";
|
|
2
|
+
import { Context as LambdaContext } from "aws-lambda/handler";
|
|
3
|
+
declare class HandlerRegistry {
|
|
4
|
+
private readonly handlers;
|
|
5
|
+
private constructor();
|
|
6
|
+
static create(): HandlerRegistry;
|
|
7
|
+
register(handler: SourceHandler<any>): void;
|
|
8
|
+
getHandler(event: HandlerEvent, context: LambdaContext): SourceHandler;
|
|
9
|
+
}
|
|
10
|
+
export type { HandlerRegistry };
|
|
11
|
+
export declare const registry: HandlerRegistry;
|