@webda/aws 4.0.0-beta.1 → 4.0.0-beta.3
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/README.md +64 -7
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js.map +1 -1
- package/lib/services/aws-parameters.d.ts +33 -0
- package/lib/services/aws-parameters.d.ts.map +1 -0
- package/lib/services/aws-parameters.js +18 -0
- package/lib/services/aws-parameters.js.map +1 -0
- package/lib/services/awscommands.service.d.ts +39 -0
- package/lib/services/awscommands.service.d.ts.map +1 -0
- package/lib/services/awscommands.service.js +127 -0
- package/lib/services/awscommands.service.js.map +1 -0
- package/lib/services/cloudwatchlogger.service.d.ts +131 -0
- package/lib/services/cloudwatchlogger.service.d.ts.map +1 -0
- package/lib/services/{cloudwatchlogger.js → cloudwatchlogger.service.js} +66 -34
- package/lib/services/cloudwatchlogger.service.js.map +1 -0
- package/lib/services/contributors.d.ts +37 -0
- package/lib/services/contributors.d.ts.map +1 -0
- package/lib/services/contributors.js +2 -0
- package/lib/services/contributors.js.map +1 -0
- package/lib/services/dynamodb.service.d.ts +297 -0
- package/lib/services/dynamodb.service.d.ts.map +1 -0
- package/lib/services/dynamodb.service.js +985 -0
- package/lib/services/dynamodb.service.js.map +1 -0
- package/lib/services/index.d.ts +12 -31
- package/lib/services/index.d.ts.map +1 -0
- package/lib/services/index.js +11 -8
- package/lib/services/index.js.map +1 -1
- package/lib/services/lambdacaller.service.d.ts +81 -0
- package/lib/services/lambdacaller.service.d.ts.map +1 -0
- package/lib/services/lambdacaller.service.js +75 -0
- package/lib/services/lambdacaller.service.js.map +1 -0
- package/lib/services/lambdaserver.service.d.ts +127 -0
- package/lib/services/lambdaserver.service.d.ts.map +1 -0
- package/lib/services/lambdaserver.service.js +294 -0
- package/lib/services/lambdaserver.service.js.map +1 -0
- package/lib/services/{route53.d.ts → route53.service.d.ts} +21 -11
- package/lib/services/route53.service.d.ts.map +1 -0
- package/lib/services/{route53.js → route53.service.js} +35 -38
- package/lib/services/route53.service.js.map +1 -0
- package/lib/services/s3binary.service.d.ts +215 -0
- package/lib/services/s3binary.service.d.ts.map +1 -0
- package/lib/services/{s3binary.js → s3binary.service.js} +113 -74
- package/lib/services/s3binary.service.js.map +1 -0
- package/lib/services/secretsmanager.service.d.ts +102 -0
- package/lib/services/secretsmanager.service.d.ts.map +1 -0
- package/lib/services/{secretsmanager.js → secretsmanager.service.js} +42 -24
- package/lib/services/secretsmanager.service.js.map +1 -0
- package/lib/services/{sqsqueue.d.ts → sqsqueue.service.d.ts} +60 -34
- package/lib/services/sqsqueue.service.d.ts.map +1 -0
- package/lib/services/{sqsqueue.js → sqsqueue.service.js} +60 -35
- package/lib/services/sqsqueue.service.js.map +1 -0
- package/package.json +59 -65
- package/webda.module.json +738 -377
- package/lib/deployers/cloudformation.d.ts +0 -316
- package/lib/deployers/cloudformation.js +0 -837
- package/lib/deployers/cloudformation.js.map +0 -1
- package/lib/deployers/cloudformation.spec.d.ts +0 -1
- package/lib/deployers/cloudformation.spec.js +0 -530
- package/lib/deployers/cloudformation.spec.js.map +0 -1
- package/lib/deployers/index.d.ts +0 -254
- package/lib/deployers/index.js +0 -543
- package/lib/deployers/index.js.map +0 -1
- package/lib/deployers/index.spec.d.ts +0 -8
- package/lib/deployers/index.spec.js +0 -595
- package/lib/deployers/index.spec.js.map +0 -1
- package/lib/deployers/lambda-entrypoint.d.ts +0 -1
- package/lib/deployers/lambda-entrypoint.js +0 -11
- package/lib/deployers/lambda-entrypoint.js.map +0 -1
- package/lib/deployers/lambdapackager.d.ts +0 -27
- package/lib/deployers/lambdapackager.js +0 -26
- package/lib/deployers/lambdapackager.js.map +0 -1
- package/lib/deployers/lambdapackager.spec.d.ts +0 -1
- package/lib/deployers/lambdapackager.spec.js +0 -44
- package/lib/deployers/lambdapackager.spec.js.map +0 -1
- package/lib/index.spec.d.ts +0 -10
- package/lib/index.spec.js +0 -42
- package/lib/index.spec.js.map +0 -1
- package/lib/services/aws-mixin.d.ts +0 -24
- package/lib/services/aws-mixin.js +0 -18
- package/lib/services/aws-mixin.js.map +0 -1
- package/lib/services/cloudwatchlogger.d.ts +0 -81
- package/lib/services/cloudwatchlogger.js.map +0 -1
- package/lib/services/cloudwatchlogger.spec.d.ts +0 -1
- package/lib/services/cloudwatchlogger.spec.js +0 -104
- package/lib/services/cloudwatchlogger.spec.js.map +0 -1
- package/lib/services/dynamodb.d.ts +0 -173
- package/lib/services/dynamodb.js +0 -711
- package/lib/services/dynamodb.js.map +0 -1
- package/lib/services/dynamodb.spec.d.ts +0 -23
- package/lib/services/dynamodb.spec.js +0 -339
- package/lib/services/dynamodb.spec.js.map +0 -1
- package/lib/services/lambdacaller.d.ts +0 -68
- package/lib/services/lambdacaller.js +0 -63
- package/lib/services/lambdacaller.js.map +0 -1
- package/lib/services/lambdacaller.spec.d.ts +0 -1
- package/lib/services/lambdacaller.spec.js +0 -70
- package/lib/services/lambdacaller.spec.js.map +0 -1
- package/lib/services/lambdaserver.d.ts +0 -86
- package/lib/services/lambdaserver.js +0 -264
- package/lib/services/lambdaserver.js.map +0 -1
- package/lib/services/lambdaserver.spec.d.ts +0 -1
- package/lib/services/lambdaserver.spec.js +0 -417
- package/lib/services/lambdaserver.spec.js.map +0 -1
- package/lib/services/route53.js.map +0 -1
- package/lib/services/route53.spec.d.ts +0 -1
- package/lib/services/route53.spec.js +0 -102
- package/lib/services/route53.spec.js.map +0 -1
- package/lib/services/s3binary.d.ts +0 -162
- package/lib/services/s3binary.js.map +0 -1
- package/lib/services/s3binary.spec.d.ts +0 -1
- package/lib/services/s3binary.spec.js +0 -269
- package/lib/services/s3binary.spec.js.map +0 -1
- package/lib/services/secretsmanager.d.ts +0 -80
- package/lib/services/secretsmanager.js.map +0 -1
- package/lib/services/secretsmanager.spec.d.ts +0 -1
- package/lib/services/secretsmanager.spec.js +0 -66
- package/lib/services/secretsmanager.spec.js.map +0 -1
- package/lib/services/sqsqueue.js.map +0 -1
- package/lib/services/sqsqueue.spec.d.ts +0 -1
- package/lib/services/sqsqueue.spec.js +0 -152
- package/lib/services/sqsqueue.spec.js.map +0 -1
- package/lib/shell.d.ts +0 -12
- package/lib/shell.js +0 -42
- package/lib/shell.js.map +0 -1
- package/webda.shell.json +0 -11
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Core as Webda, HttpContext, WebContext } from "@webda/core";
|
|
2
|
-
import { Context as LambdaContext } from "aws-lambda";
|
|
3
|
-
/**
|
|
4
|
-
* Handler for AWS Events definition
|
|
5
|
-
*/
|
|
6
|
-
export interface AWSEventsHandler {
|
|
7
|
-
/**
|
|
8
|
-
* Return true if event is handled
|
|
9
|
-
* @param source
|
|
10
|
-
* @param event
|
|
11
|
-
*/
|
|
12
|
-
isAWSEventHandled(source: string, events: any): boolean;
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* @param source
|
|
16
|
-
* @param event
|
|
17
|
-
*/
|
|
18
|
-
handleAWSEvent(source: string, events: any): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* The Lambda entrypoint for Webda
|
|
22
|
-
*
|
|
23
|
-
* This take the input coming from the API Gateway to transform it and analyse it with Webda
|
|
24
|
-
* Once execution is done, it will format the result in a way that the API Gateway will output the result
|
|
25
|
-
* You need to use the Webda deployment so the API Gateway has all the right templates in place
|
|
26
|
-
*
|
|
27
|
-
* @class
|
|
28
|
-
*/
|
|
29
|
-
export default class LambdaServer extends Webda {
|
|
30
|
-
_result: {
|
|
31
|
-
headers?: any;
|
|
32
|
-
statusCode?: number;
|
|
33
|
-
multiValueHeaders?: any;
|
|
34
|
-
body?: any;
|
|
35
|
-
};
|
|
36
|
-
_awsEventsHandlers: AWSEventsHandler[];
|
|
37
|
-
/**
|
|
38
|
-
* @ignore
|
|
39
|
-
*/
|
|
40
|
-
flushHeaders(ctx: WebContext): void;
|
|
41
|
-
/**
|
|
42
|
-
* @inheritdoc
|
|
43
|
-
*/
|
|
44
|
-
flush(ctx: WebContext): void;
|
|
45
|
-
/**
|
|
46
|
-
* Register a service to handle AWS Events
|
|
47
|
-
* @param service
|
|
48
|
-
*/
|
|
49
|
-
registerAWSEventsHandler(service: AWSEventsHandler): void;
|
|
50
|
-
private handleAWSEvent;
|
|
51
|
-
/**
|
|
52
|
-
* Analyse events to try to find its type
|
|
53
|
-
* @param events
|
|
54
|
-
* @returns
|
|
55
|
-
*/
|
|
56
|
-
handleAWSEvents(events: any): Promise<boolean>;
|
|
57
|
-
/**
|
|
58
|
-
* Need to unit test this part, with sample of data coming from the API Gateway
|
|
59
|
-
*
|
|
60
|
-
* @ignore
|
|
61
|
-
*/
|
|
62
|
-
handleRequest(sourceEvent: any, context: LambdaContext): Promise<{
|
|
63
|
-
headers?: any;
|
|
64
|
-
statusCode?: number;
|
|
65
|
-
multiValueHeaders?: any;
|
|
66
|
-
body?: any;
|
|
67
|
-
}>;
|
|
68
|
-
/**
|
|
69
|
-
* Based on API Gateway event compute the prefix if any
|
|
70
|
-
* @param event
|
|
71
|
-
* @param httpContext
|
|
72
|
-
*/
|
|
73
|
-
computePrefix(event: any, httpContext: HttpContext): void;
|
|
74
|
-
/**
|
|
75
|
-
* Collect result from Context to this._result and return it
|
|
76
|
-
* @param context
|
|
77
|
-
* @returns
|
|
78
|
-
*/
|
|
79
|
-
handleLambdaReturn(context: WebContext): Promise<{
|
|
80
|
-
headers?: any;
|
|
81
|
-
statusCode?: number;
|
|
82
|
-
multiValueHeaders?: any;
|
|
83
|
-
body?: any;
|
|
84
|
-
}>;
|
|
85
|
-
}
|
|
86
|
-
export { LambdaServer };
|
|
@@ -1,264 +0,0 @@
|
|
|
1
|
-
import { Core as Webda, HttpContext, WebdaError } from "@webda/core";
|
|
2
|
-
import { serialize as cookieSerialize } from "cookie";
|
|
3
|
-
/**
|
|
4
|
-
* The Lambda entrypoint for Webda
|
|
5
|
-
*
|
|
6
|
-
* This take the input coming from the API Gateway to transform it and analyse it with Webda
|
|
7
|
-
* Once execution is done, it will format the result in a way that the API Gateway will output the result
|
|
8
|
-
* You need to use the Webda deployment so the API Gateway has all the right templates in place
|
|
9
|
-
*
|
|
10
|
-
* @class
|
|
11
|
-
*/
|
|
12
|
-
export default class LambdaServer extends Webda {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(...arguments);
|
|
15
|
-
this._awsEventsHandlers = [];
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* @ignore
|
|
19
|
-
*/
|
|
20
|
-
flushHeaders(ctx) {
|
|
21
|
-
const headers = ctx.getResponseHeaders() || {};
|
|
22
|
-
this._result = {
|
|
23
|
-
headers,
|
|
24
|
-
statusCode: ctx.statusCode
|
|
25
|
-
};
|
|
26
|
-
let cookies = ctx.getResponseCookies();
|
|
27
|
-
this._result.multiValueHeaders = { "Set-Cookie": [] };
|
|
28
|
-
for (let i in cookies) {
|
|
29
|
-
this._result.multiValueHeaders["Set-Cookie"].push(cookieSerialize(cookies[i].name, cookies[i].value, cookies[i].options || {}));
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @inheritdoc
|
|
34
|
-
*/
|
|
35
|
-
flush(ctx) {
|
|
36
|
-
const body = ctx.getResponseBody();
|
|
37
|
-
if (body !== undefined && body !== false) {
|
|
38
|
-
this._result.body = body;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Register a service to handle AWS Events
|
|
43
|
-
* @param service
|
|
44
|
-
*/
|
|
45
|
-
registerAWSEventsHandler(service) {
|
|
46
|
-
if (this._awsEventsHandlers.indexOf(service) < 0) {
|
|
47
|
-
this._awsEventsHandlers.push(service);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async handleAWSEvent(source, events) {
|
|
51
|
-
for (let i in this._awsEventsHandlers) {
|
|
52
|
-
let handler = this._awsEventsHandlers[i];
|
|
53
|
-
if (handler.isAWSEventHandled(source, events)) {
|
|
54
|
-
await handler.handleAWSEvent(source, events);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Analyse events to try to find its type
|
|
60
|
-
* @param events
|
|
61
|
-
* @returns
|
|
62
|
-
*/
|
|
63
|
-
async handleAWSEvents(events) {
|
|
64
|
-
if (events.Records) {
|
|
65
|
-
await this.handleAWSEvent(events.Records[0].eventSource, events);
|
|
66
|
-
return true;
|
|
67
|
-
}
|
|
68
|
-
else if (events.invocationId && events.records) {
|
|
69
|
-
await this.handleAWSEvent("aws:kinesis", events);
|
|
70
|
-
return true;
|
|
71
|
-
}
|
|
72
|
-
else if (events["detail-type"] && events.detail && events.resources) {
|
|
73
|
-
await this.handleAWSEvent("aws:scheduled-event", events);
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
else if (events.awslogs) {
|
|
77
|
-
await this.handleAWSEvent("aws:cloudwatch-logs", events);
|
|
78
|
-
return true;
|
|
79
|
-
}
|
|
80
|
-
else if (events["CodePipeline.job"]) {
|
|
81
|
-
await this.handleAWSEvent("aws:codepipeline", events);
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
else if (events.identityPoolId) {
|
|
85
|
-
await this.handleAWSEvent("aws:cognito", events);
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
else if (events.configRuleId) {
|
|
89
|
-
await this.handleAWSEvent("aws:config", events);
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
else if (events.jobDefinition || events.jobId) {
|
|
93
|
-
await this.handleAWSEvent("aws:batch", events);
|
|
94
|
-
return true;
|
|
95
|
-
}
|
|
96
|
-
return false;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Need to unit test this part, with sample of data coming from the API Gateway
|
|
100
|
-
*
|
|
101
|
-
* @ignore
|
|
102
|
-
*/
|
|
103
|
-
async handleRequest(sourceEvent, context) {
|
|
104
|
-
await this.init();
|
|
105
|
-
// Handle AWS event
|
|
106
|
-
if (await this.handleAWSEvents(sourceEvent)) {
|
|
107
|
-
this.log("INFO", "Handled AWS event", sourceEvent);
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
// Manual launch of webda
|
|
111
|
-
if (sourceEvent.command === "launch" && sourceEvent.service && sourceEvent.method) {
|
|
112
|
-
let commandEvent = sourceEvent;
|
|
113
|
-
let args = commandEvent.args || [];
|
|
114
|
-
this.log("INFO", "Executing", commandEvent.method, "on", commandEvent.service, "with", args);
|
|
115
|
-
let service = this.getService(commandEvent.service);
|
|
116
|
-
if (!service) {
|
|
117
|
-
this.log("ERROR", "Cannot find", commandEvent.service);
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
if (typeof service[commandEvent.method] !== "function") {
|
|
121
|
-
this.log("ERROR", "Cannot find method", commandEvent.method, "on", commandEvent.service);
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
await service[commandEvent.method](...args);
|
|
125
|
-
this.log("INFO", "Finished");
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
let event = sourceEvent;
|
|
129
|
-
context.callbackWaitsForEmptyEventLoop =
|
|
130
|
-
(this.getConfiguration().parameters && this.getConfiguration().parameters.waitForEmptyEventLoop) || false;
|
|
131
|
-
this._result = {};
|
|
132
|
-
let vhost;
|
|
133
|
-
let i;
|
|
134
|
-
let headers = event.headers || {};
|
|
135
|
-
vhost = headers.Host;
|
|
136
|
-
let method = event.httpMethod || "GET";
|
|
137
|
-
let protocol = headers["CloudFront-Forwarded-Proto"] || "https";
|
|
138
|
-
let port = headers["X-Forwarded-Port"] || 443;
|
|
139
|
-
if (typeof port === "string") {
|
|
140
|
-
port = Number(port);
|
|
141
|
-
if (isNaN(port)) {
|
|
142
|
-
port = 443;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
let resourcePath = event.path;
|
|
146
|
-
// Rebuild query string
|
|
147
|
-
if (event.queryStringParameters) {
|
|
148
|
-
let sep = "?";
|
|
149
|
-
for (i in event.queryStringParameters) {
|
|
150
|
-
// If additional error code it will be contained so need to check for &
|
|
151
|
-
// May need to add urlencode
|
|
152
|
-
resourcePath += sep + i + "=" + event.queryStringParameters[i];
|
|
153
|
-
sep = "&";
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
this.log("INFO", event.httpMethod || "GET", event.path);
|
|
157
|
-
let httpContext = new HttpContext(vhost, method, resourcePath, protocol, port, headers).setClientIp(headers["X-Real-Ip"]); // Might use identity.sourceIp
|
|
158
|
-
if (["PUT", "PATCH", "POST", "DELETE"].includes(method)) {
|
|
159
|
-
httpContext.setBody(event.body);
|
|
160
|
-
}
|
|
161
|
-
this.computePrefix(event, httpContext);
|
|
162
|
-
let ctx = await this.newWebContext(httpContext);
|
|
163
|
-
// TODO Get all client info
|
|
164
|
-
// event['requestContext']['identity']['sourceIp']
|
|
165
|
-
// Debug mode
|
|
166
|
-
await this.emitSync("Webda.Request", { context: ctx });
|
|
167
|
-
if (this.getConfiguration().parameters.lambdaRequestHeader) {
|
|
168
|
-
ctx.setHeader(this.getConfiguration().parameters.lambdaRequestHeader, context.awsRequestId);
|
|
169
|
-
}
|
|
170
|
-
let origin = headers.Origin || headers.origin;
|
|
171
|
-
try {
|
|
172
|
-
// Set predefined headers for CORS
|
|
173
|
-
if (!origin || (await this.checkCORSRequest(ctx))) {
|
|
174
|
-
if (origin) {
|
|
175
|
-
ctx.setHeader("Access-Control-Allow-Origin", origin);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
else {
|
|
179
|
-
// Prevent CSRF
|
|
180
|
-
this.log("INFO", "CSRF denied from", origin);
|
|
181
|
-
ctx.statusCode = 401;
|
|
182
|
-
return this.handleLambdaReturn(ctx);
|
|
183
|
-
}
|
|
184
|
-
// Check request overall
|
|
185
|
-
if (!(await this.checkRequest(ctx))) {
|
|
186
|
-
this.log("WARN", "Request refused");
|
|
187
|
-
throw 403;
|
|
188
|
-
}
|
|
189
|
-
if (protocol === "https") {
|
|
190
|
-
// Add the HSTS header
|
|
191
|
-
ctx.setHeader("Strict-Transport-Security", "max-age=31536000; includeSubDomains; preload");
|
|
192
|
-
}
|
|
193
|
-
// Might want to customize this one
|
|
194
|
-
ctx.setHeader("Access-Control-Max-Age", 3600);
|
|
195
|
-
ctx.setHeader("Access-Control-Allow-Credentials", "true");
|
|
196
|
-
ctx.setHeader("Access-Control-Allow-Headers", headers["access-control-request-headers"] || "content-type");
|
|
197
|
-
if (method === "OPTIONS") {
|
|
198
|
-
// Return allow all methods for now
|
|
199
|
-
let routes = this.router.getRouteMethodsFromUrl(ctx.getHttpContext().getRelativeUri());
|
|
200
|
-
if (routes.length == 0) {
|
|
201
|
-
ctx.statusCode = 404;
|
|
202
|
-
return this.handleLambdaReturn(ctx);
|
|
203
|
-
}
|
|
204
|
-
routes.push("OPTIONS");
|
|
205
|
-
ctx.setHeader("Access-Control-Allow-Methods", routes.join(","));
|
|
206
|
-
return this.handleLambdaReturn(ctx);
|
|
207
|
-
}
|
|
208
|
-
if (!this.updateContextWithRoute(ctx)) {
|
|
209
|
-
this.emitSync("Webda.404", { context: ctx });
|
|
210
|
-
ctx.statusCode = 404;
|
|
211
|
-
return this.handleLambdaReturn(ctx);
|
|
212
|
-
}
|
|
213
|
-
await ctx.init();
|
|
214
|
-
await ctx.execute();
|
|
215
|
-
return this.handleLambdaReturn(ctx);
|
|
216
|
-
}
|
|
217
|
-
catch (err) {
|
|
218
|
-
if (typeof err === "number") {
|
|
219
|
-
ctx.statusCode = err;
|
|
220
|
-
}
|
|
221
|
-
else if (err instanceof WebdaError.HttpError) {
|
|
222
|
-
this.log("DEBUG", "Sending error", err.message);
|
|
223
|
-
ctx.statusCode = err.getResponseCode();
|
|
224
|
-
// Handle redirect
|
|
225
|
-
if (err instanceof WebdaError.Redirect) {
|
|
226
|
-
ctx.setHeader("Location", err.location);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
else {
|
|
230
|
-
this.log("ERROR", err);
|
|
231
|
-
ctx.statusCode = 500;
|
|
232
|
-
}
|
|
233
|
-
return this.handleLambdaReturn(ctx);
|
|
234
|
-
}
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* Based on API Gateway event compute the prefix if any
|
|
238
|
-
* @param event
|
|
239
|
-
* @param httpContext
|
|
240
|
-
*/
|
|
241
|
-
computePrefix(event, httpContext) {
|
|
242
|
-
if (event.path !== event.resource) {
|
|
243
|
-
let relativeUri = event.resource;
|
|
244
|
-
for (let j in event.pathParameters) {
|
|
245
|
-
relativeUri = relativeUri.replace(new RegExp(`\\{${j}\\+?\\}`), event.pathParameters[j]);
|
|
246
|
-
}
|
|
247
|
-
if (relativeUri !== event.path) {
|
|
248
|
-
httpContext.setPrefix(event.path.substr(0, event.path.length - relativeUri.length));
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Collect result from Context to this._result and return it
|
|
254
|
-
* @param context
|
|
255
|
-
* @returns
|
|
256
|
-
*/
|
|
257
|
-
async handleLambdaReturn(context) {
|
|
258
|
-
await this.emitSync("Webda.Result", { context });
|
|
259
|
-
await context.end();
|
|
260
|
-
return this._result;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
export { LambdaServer };
|
|
264
|
-
//# sourceMappingURL=lambdaserver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lambdaserver.js","sourceRoot":"","sources":["../../src/services/lambdaserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,KAAK,EAAE,WAAW,EAA8B,UAAU,EAAE,MAAM,aAAa,CAAC;AAEjG,OAAO,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,QAAQ,CAAC;AAqBtD;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAA/C;;QAOE,uBAAkB,GAAuB,EAAE,CAAC;IAmQ9C,CAAC;IAjQC;;OAEG;IACH,YAAY,CAAC,GAAe;QAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QAE/C,IAAI,CAAC,OAAO,GAAG;YACb,OAAO;YACP,UAAU,EAAE,GAAG,CAAC,UAAU;SAC3B,CAAC;QACF,IAAI,OAAO,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,iBAAiB,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;QACtD,KAAK,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,IAAI,CAC/C,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAe;QACnB,MAAM,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,OAAyB;QAChD,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM;QACzC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtC,IAAI,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC9C,MAAM,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,eAAe,CAAC,MAAM;QAC1B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAW,MAAM,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;YACtE,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,WAAgB,EAAE,OAAsB;QAC1D,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,mBAAmB;QACnB,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QACD,yBAAyB;QACzB,IAAI,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YAClF,IAAI,YAAY,GAAuB,WAAW,CAAC;YACnD,IAAI,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7F,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACvD,OAAO;YACT,CAAC;YACD,IAAI,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;gBACvD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,EAAE,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;gBACzF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,KAAK,GAA+C,WAAW,CAAC;QACpE,OAAO,CAAC,8BAA8B;YACpC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC;QAC5G,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,KAAa,CAAC;QAClB,IAAI,CAAM,CAAC;QAEX,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;QAClC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;QACrB,IAAI,MAAM,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC;QACvC,IAAI,QAAQ,GAAG,OAAO,CAAC,4BAA4B,CAAC,IAAI,OAAO,CAAC;QAChE,IAAI,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC;QAC9C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChB,IAAI,GAAG,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QACD,IAAI,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,uBAAuB;QACvB,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAChC,IAAI,GAAG,GAAG,GAAG,CAAC;YACd,KAAK,CAAC,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;gBACtC,uEAAuE;gBACvE,4BAA4B;gBAC5B,YAAY,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;gBAC/D,GAAG,GAAG,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,WAAW,GAAG,IAAI,WAAW,CAC/B,KAAK,EACW,MAAM,EACtB,YAAY,EACM,QAAQ,EAC1B,IAAI,EACJ,OAAO,CACR,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,8BAA8B;QACnE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACvC,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAChD,2BAA2B;QAC3B,kDAAkD;QAElD,aAAa;QACb,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;YAC3D,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAC9C,IAAI,CAAC;YACH,kCAAkC;YAClC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClD,IAAI,MAAM,EAAE,CAAC;oBACX,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,eAAe;gBACf,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;gBAC7C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YACD,wBAAwB;YACxB,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;gBACpC,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,sBAAsB;gBACtB,GAAG,CAAC,SAAS,CAAC,2BAA2B,EAAE,8CAA8C,CAAC,CAAC;YAC7F,CAAC;YACD,mCAAmC;YACnC,GAAG,CAAC,SAAS,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;YAC9C,GAAG,CAAC,SAAS,CAAC,kCAAkC,EAAE,MAAM,CAAC,CAAC;YAC1D,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,OAAO,CAAC,gCAAgC,CAAC,IAAI,cAAc,CAAC,CAAC;YAC3G,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,mCAAmC;gBACnC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;gBACvF,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACvB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBACtC,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YAED,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC7C,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAEjB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACvB,CAAC;iBAAM,IAAI,GAAG,YAAY,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC/C,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAChD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC;gBACvC,kBAAkB;gBAClB,IAAI,GAAG,YAAY,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACvC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACvB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACvB,CAAC;YACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,KAAU,EAAE,WAAwB;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClC,IAAI,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;YACjC,KAAK,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;gBACnC,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,CAAC;YACD,IAAI,WAAW,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC/B,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YACtF,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAmB;QAC1C,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,CAAC,GAAG,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|