abler-api 0.1.76 → 0.1.78

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.
@@ -1324,6 +1324,32 @@ class apiUtil$2 {
1324
1324
  value
1325
1325
  };
1326
1326
  }
1327
+ static isOriginAllowed(origin) {
1328
+ if (!origin || appSetting.corsOrigin === "*") {
1329
+ return true;
1330
+ }
1331
+ origin = origin.toLowerCase();
1332
+ let allowedOrigins = appSetting.corsOrigin;
1333
+ if (Array.isArray(allowedOrigins)) {
1334
+ allowedOrigins = appSetting.corsOrigin.map(o => o.toLowerCase());
1335
+ // 检查请求的origin是否在允许的列表中,支持简单的通配符匹配
1336
+ return allowedOrigins.some(allowedOrigin => {
1337
+ return allowed(allowedOrigin);
1338
+ });
1339
+ } else {
1340
+ return allowed(allowedOrigins.toLowerCase());
1341
+ }
1342
+ function allowed(allowedOrigin) {
1343
+ if (allowedOrigin.includes("*")) {
1344
+ const regex = new RegExp("^" + allowedOrigin.replace(/\*/g, ".*") + "$");
1345
+ return regex.test(origin);
1346
+ }
1347
+ return allowedOrigin === origin;
1348
+ }
1349
+ }
1350
+ static corsCheckOrigin(origin, callback) {
1351
+ callback(null, apiUtil$2.isOriginAllowed(origin));
1352
+ }
1327
1353
 
1328
1354
  //#endregion
1329
1355
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abler-api",
3
- "version": "0.1.76",
3
+ "version": "0.1.78",
4
4
  "description": "API服务相关工具",
5
5
  "main": "./dist/cjs/pp-util.js",
6
6
  "-module": "./dist/es/pp-util.js",