starta.microservice 0.1.10328 → 0.1.10330

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.
@@ -7,17 +7,35 @@ const cookie_parser_1 = __importDefault(require("cookie-parser"));
7
7
  const cors_1 = __importDefault(require("cors"));
8
8
  const http_1 = __importDefault(require("http"));
9
9
  const config_1 = __importDefault(require("./config"));
10
+ // Cache for quick lookup
11
+ const allowedOriginsSet = new Set();
12
+ const allowedOriginsRegex = [];
10
13
  module.exports = () => {
14
+ config_1.default.cors.origins.forEach((allowedOrigin) => {
15
+ if (allowedOrigin.includes('*')) {
16
+ const regex = new RegExp(`^${allowedOrigin.replace(/\./g, '\\.').replace(/\*/g, '.*')}$`);
17
+ allowedOriginsRegex.push(regex);
18
+ }
19
+ else {
20
+ allowedOriginsSet.add(allowedOrigin);
21
+ }
22
+ });
11
23
  const app = (0, express_1.default)();
12
24
  if (config_1.default.cors.enabled && config_1.default.cors.origins?.length > 0) {
13
25
  app.use((0, cors_1.default)({
14
26
  origin: (origin, callback) => {
15
- if (!origin || config_1.default.cors.origins.includes(origin)) {
16
- callback(null, true);
27
+ if (!origin) {
28
+ return callback(null, true);
17
29
  }
18
- else {
19
- callback(new Error('Not allowed by CORS'));
30
+ if (allowedOriginsSet.has(origin)) {
31
+ return callback(null, true);
20
32
  }
33
+ const isAllowed = allowedOriginsRegex.some((regex) => regex.test(origin));
34
+ if (isAllowed) {
35
+ allowedOriginsSet.add(origin);
36
+ return callback(null, true);
37
+ }
38
+ return callback(new Error('Not allowed by CORS'));
21
39
  },
22
40
  credentials: true,
23
41
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"serverInitialization.js","sourceRoot":"","sources":["../src/serverInitialization.ts"],"names":[],"mappings":";;;;AAAA,sDAA8B;AAC9B,kEAAyC;AACzC,gDAAwB;AACxB,gDAAwB;AACxB,sDAA8B;AAE9B,iBAAS,GAAG,EAAE;IACZ,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IAEtB,IAAI,gBAAM,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;QAC1D,GAAG,CAAC,GAAG,CACL,IAAA,cAAI,EAAC;YACH,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,MAAM,IAAI,gBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;oBACnD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBACtB;qBAAM;oBACL,QAAQ,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;iBAC5C;YACH,CAAC;YACD,WAAW,EAAE,IAAI;SAClB,CAAC,CACH,CAAC;KACH;IAED,MAAM,MAAM,GAAG,IAAI,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IAExB,OAAO;QACL,GAAG;QACH,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"serverInitialization.js","sourceRoot":"","sources":["../src/serverInitialization.ts"],"names":[],"mappings":";;;;AAAA,sDAA8B;AAC9B,kEAAyC;AACzC,gDAAwB;AACxB,gDAAwB;AACxB,sDAA8B;AAE9B,yBAAyB;AACzB,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;AAC5C,MAAM,mBAAmB,GAAa,EAAE,CAAC;AAEzC,iBAAS,GAAG,EAAE;IACZ,gBAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAC5C,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CACtB,IAAI,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAChE,CAAC;YACF,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjC;aAAM;YACL,iBAAiB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;SACtC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAA,iBAAO,GAAE,CAAC;IAEtB,IAAI,gBAAM,CAAC,IAAI,CAAC,OAAO,IAAI,gBAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE;QAC1D,GAAG,CAAC,GAAG,CACL,IAAA,cAAI,EAAC;YACH,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC7B;gBAED,IAAI,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;oBACjC,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC7B;gBAED,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CACnD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CACnB,CAAC;gBAEF,IAAI,SAAS,EAAE;oBACb,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC9B,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC7B;gBAED,OAAO,QAAQ,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACpD,CAAC;YACD,WAAW,EAAE,IAAI;SAClB,CAAC,CACH,CAAC;KACH;IAED,MAAM,MAAM,GAAG,IAAI,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,IAAA,uBAAY,GAAE,CAAC,CAAC;IAExB,OAAO;QACL,GAAG;QACH,MAAM;KACP,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "starta.microservice",
3
- "version": "0.1.10328",
3
+ "version": "0.1.10330",
4
4
  "main": "./lib/index.js",
5
5
  "description": "Core library for Starta.one microservice",
6
6
  "author": "Collaboracia OÜ",