@openhi/constructs 0.0.29 → 0.0.31
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/cors-options-lambda.handler.d.mts +10 -0
- package/lib/cors-options-lambda.handler.d.ts +10 -0
- package/lib/cors-options-lambda.handler.js +33 -0
- package/lib/cors-options-lambda.handler.js.map +1 -0
- package/lib/cors-options-lambda.handler.mjs +10 -0
- package/lib/cors-options-lambda.handler.mjs.map +1 -0
- package/lib/index.js +38 -7
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +38 -7
- package/lib/index.mjs.map +1 -1
- package/lib/rest-api-lambda.handler.js +0 -7
- package/lib/rest-api-lambda.handler.js.map +1 -1
- package/lib/rest-api-lambda.handler.mjs +0 -7
- package/lib/rest-api-lambda.handler.mjs.map +1 -1
- package/package.json +10 -10
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal handler for CORS preflight (OPTIONS) requests.
|
|
3
|
+
* Returns 204 so API Gateway can add CORS headers from the API's corsPreflight config.
|
|
4
|
+
* Used by a dedicated low-memory Lambda; see CorsOptionsLambda and #694.
|
|
5
|
+
*/
|
|
6
|
+
declare const handler: (_event: any) => Promise<{
|
|
7
|
+
statusCode: number;
|
|
8
|
+
}>;
|
|
9
|
+
|
|
10
|
+
export { handler };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal handler for CORS preflight (OPTIONS) requests.
|
|
3
|
+
* Returns 204 so API Gateway can add CORS headers from the API's corsPreflight config.
|
|
4
|
+
* Used by a dedicated low-memory Lambda; see CorsOptionsLambda and #694.
|
|
5
|
+
*/
|
|
6
|
+
declare const handler: (_event: any) => Promise<{
|
|
7
|
+
statusCode: number;
|
|
8
|
+
}>;
|
|
9
|
+
|
|
10
|
+
export { handler };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/data/lambda/cors-options-lambda.handler.ts
|
|
21
|
+
var cors_options_lambda_handler_exports = {};
|
|
22
|
+
__export(cors_options_lambda_handler_exports, {
|
|
23
|
+
handler: () => handler
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(cors_options_lambda_handler_exports);
|
|
26
|
+
var handler = async (_event) => {
|
|
27
|
+
return { statusCode: 204 };
|
|
28
|
+
};
|
|
29
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
30
|
+
0 && (module.exports = {
|
|
31
|
+
handler
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=cors-options-lambda.handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/lambda/cors-options-lambda.handler.ts"],"sourcesContent":["/**\n * Minimal handler for CORS preflight (OPTIONS) requests.\n * Returns 204 so API Gateway can add CORS headers from the API's corsPreflight config.\n * Used by a dedicated low-memory Lambda; see CorsOptionsLambda and #694.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const handler = async (_event: any): Promise<{ statusCode: number }> => {\n return { statusCode: 204 };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,IAAM,UAAU,OAAO,WAAiD;AAC7E,SAAO,EAAE,YAAY,IAAI;AAC3B;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/lambda/cors-options-lambda.handler.ts"],"sourcesContent":["/**\n * Minimal handler for CORS preflight (OPTIONS) requests.\n * Returns 204 so API Gateway can add CORS headers from the API's corsPreflight config.\n * Used by a dedicated low-memory Lambda; see CorsOptionsLambda and #694.\n */\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const handler = async (_event: any): Promise<{ statusCode: number }> => {\n return { statusCode: 204 };\n};\n"],"mappings":";;;AAOO,IAAM,UAAU,OAAO,WAAiD;AAC7E,SAAO,EAAE,YAAY,IAAI;AAC3B;","names":[]}
|
package/lib/index.js
CHANGED
|
@@ -1220,13 +1220,13 @@ var _OpenHiDataService = class _OpenHiDataService extends OpenHiService {
|
|
|
1220
1220
|
_OpenHiDataService.SERVICE_TYPE = "data";
|
|
1221
1221
|
var OpenHiDataService = _OpenHiDataService;
|
|
1222
1222
|
|
|
1223
|
-
// src/data/lambda/
|
|
1223
|
+
// src/data/lambda/cors-options-lambda.ts
|
|
1224
1224
|
var import_node_fs2 = __toESM(require("fs"));
|
|
1225
1225
|
var import_node_path2 = __toESM(require("path"));
|
|
1226
1226
|
var import_aws_lambda2 = require("aws-cdk-lib/aws-lambda");
|
|
1227
1227
|
var import_aws_lambda_nodejs2 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
1228
1228
|
var import_constructs4 = require("constructs");
|
|
1229
|
-
var HANDLER_NAME2 = "
|
|
1229
|
+
var HANDLER_NAME2 = "cors-options-lambda.handler.js";
|
|
1230
1230
|
function resolveHandlerEntry2(dirname) {
|
|
1231
1231
|
const sameDir = import_node_path2.default.join(dirname, HANDLER_NAME2);
|
|
1232
1232
|
if (import_node_fs2.default.existsSync(sameDir)) {
|
|
@@ -1235,12 +1235,38 @@ function resolveHandlerEntry2(dirname) {
|
|
|
1235
1235
|
const fromLib = import_node_path2.default.join(dirname, "..", "..", "..", "lib", HANDLER_NAME2);
|
|
1236
1236
|
return fromLib;
|
|
1237
1237
|
}
|
|
1238
|
-
var
|
|
1239
|
-
constructor(scope,
|
|
1240
|
-
super(scope,
|
|
1238
|
+
var CorsOptionsLambda = class extends import_constructs4.Construct {
|
|
1239
|
+
constructor(scope, id = "cors-options-lambda") {
|
|
1240
|
+
super(scope, id);
|
|
1241
1241
|
this.lambda = new import_aws_lambda_nodejs2.NodejsFunction(this, "handler", {
|
|
1242
1242
|
entry: resolveHandlerEntry2(__dirname),
|
|
1243
1243
|
runtime: import_aws_lambda2.Runtime.NODEJS_LATEST,
|
|
1244
|
+
memorySize: 128
|
|
1245
|
+
});
|
|
1246
|
+
}
|
|
1247
|
+
};
|
|
1248
|
+
|
|
1249
|
+
// src/data/lambda/rest-api-lambda.ts
|
|
1250
|
+
var import_node_fs3 = __toESM(require("fs"));
|
|
1251
|
+
var import_node_path3 = __toESM(require("path"));
|
|
1252
|
+
var import_aws_lambda3 = require("aws-cdk-lib/aws-lambda");
|
|
1253
|
+
var import_aws_lambda_nodejs3 = require("aws-cdk-lib/aws-lambda-nodejs");
|
|
1254
|
+
var import_constructs5 = require("constructs");
|
|
1255
|
+
var HANDLER_NAME3 = "rest-api-lambda.handler.js";
|
|
1256
|
+
function resolveHandlerEntry3(dirname) {
|
|
1257
|
+
const sameDir = import_node_path3.default.join(dirname, HANDLER_NAME3);
|
|
1258
|
+
if (import_node_fs3.default.existsSync(sameDir)) {
|
|
1259
|
+
return sameDir;
|
|
1260
|
+
}
|
|
1261
|
+
const fromLib = import_node_path3.default.join(dirname, "..", "..", "..", "lib", HANDLER_NAME3);
|
|
1262
|
+
return fromLib;
|
|
1263
|
+
}
|
|
1264
|
+
var RestApiLambda = class extends import_constructs5.Construct {
|
|
1265
|
+
constructor(scope, props) {
|
|
1266
|
+
super(scope, "rest-api-lambda");
|
|
1267
|
+
this.lambda = new import_aws_lambda_nodejs3.NodejsFunction(this, "handler", {
|
|
1268
|
+
entry: resolveHandlerEntry3(__dirname),
|
|
1269
|
+
runtime: import_aws_lambda3.Runtime.NODEJS_LATEST,
|
|
1244
1270
|
memorySize: 1024,
|
|
1245
1271
|
environment: {
|
|
1246
1272
|
DYNAMO_TABLE_NAME: props.dynamoTableName,
|
|
@@ -1396,17 +1422,22 @@ var _OpenHiRestApiService = class _OpenHiRestApiService extends OpenHiService {
|
|
|
1396
1422
|
})
|
|
1397
1423
|
);
|
|
1398
1424
|
const integration = new import_aws_apigatewayv2_integrations.HttpLambdaIntegration("lambda-integration", lambda);
|
|
1425
|
+
const { lambda: optionsLambda } = new CorsOptionsLambda(this);
|
|
1426
|
+
const optionsIntegration = new import_aws_apigatewayv2_integrations.HttpLambdaIntegration(
|
|
1427
|
+
"options-integration",
|
|
1428
|
+
optionsLambda
|
|
1429
|
+
);
|
|
1399
1430
|
const noAuth = new import_aws_apigatewayv22.HttpNoneAuthorizer();
|
|
1400
1431
|
new import_aws_apigatewayv22.HttpRoute(this, "options-route-root", {
|
|
1401
1432
|
httpApi: this.rootHttpApi,
|
|
1402
1433
|
routeKey: import_aws_apigatewayv22.HttpRouteKey.with("/", import_aws_apigatewayv22.HttpMethod.OPTIONS),
|
|
1403
|
-
integration,
|
|
1434
|
+
integration: optionsIntegration,
|
|
1404
1435
|
authorizer: noAuth
|
|
1405
1436
|
});
|
|
1406
1437
|
new import_aws_apigatewayv22.HttpRoute(this, "options-route-proxy", {
|
|
1407
1438
|
httpApi: this.rootHttpApi,
|
|
1408
1439
|
routeKey: import_aws_apigatewayv22.HttpRouteKey.with("/{proxy+}", import_aws_apigatewayv22.HttpMethod.OPTIONS),
|
|
1409
|
-
integration,
|
|
1440
|
+
integration: optionsIntegration,
|
|
1410
1441
|
authorizer: noAuth
|
|
1411
1442
|
});
|
|
1412
1443
|
new import_aws_apigatewayv22.HttpRoute(this, "proxy-route-root", {
|