xypriss 9.12.28 → 9.12.30

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.
Files changed (34) hide show
  1. package/dist/cjs/src/server/ServerFactory.js +1 -0
  2. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  3. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +2 -0
  4. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
  5. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildUploadArgs.js +4 -1
  6. package/dist/cjs/src/server/core/XHSCBridge/cmd/buildUploadArgs.js.map +1 -1
  7. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/corsBuilder.js +23 -0
  8. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/corsBuilder.js.map +1 -0
  9. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/helmetBuilder.js +2 -1
  10. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/helmetBuilder.js.map +1 -1
  11. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/injectionBuilders.js +10 -9
  12. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/injectionBuilders.js.map +1 -1
  13. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.js +22 -0
  14. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.js.map +1 -0
  15. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.js +9 -6
  16. package/dist/cjs/src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.js.map +1 -1
  17. package/dist/esm/src/server/ServerFactory.js +1 -0
  18. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  19. package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +2 -0
  20. package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
  21. package/dist/esm/src/server/core/XHSCBridge/cmd/buildUploadArgs.js +4 -1
  22. package/dist/esm/src/server/core/XHSCBridge/cmd/buildUploadArgs.js.map +1 -1
  23. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/corsBuilder.js +21 -0
  24. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/corsBuilder.js.map +1 -0
  25. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/helmetBuilder.js +2 -1
  26. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/helmetBuilder.js.map +1 -1
  27. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/injectionBuilders.js +10 -9
  28. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/injectionBuilders.js.map +1 -1
  29. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.js +20 -0
  30. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.js.map +1 -0
  31. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.js +9 -6
  32. package/dist/esm/src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.js.map +1 -1
  33. package/dist/index.d.ts +4 -8
  34. package/package.json +1 -1
@@ -119,6 +119,7 @@ function createServer(options = {}) {
119
119
  // We merge these global options with each individual server's config.
120
120
  const globalOptions = { ...options };
121
121
  delete globalOptions.multiServer;
122
+ ConfigurationManager.CM.merge(globalOptions);
122
123
  const servers = (xms || []).map((server) => {
123
124
  // Individual server options take precedence over global ones
124
125
  return mergeWithDefaults.mergeWithDefaults(globalOptions, server);
@@ -1 +1 @@
1
- {"version":3,"file":"ServerFactory.js","sources":["../../../../src/server/ServerFactory.ts"],"sourcesContent":[null],"names":["rejectInternalFlag","configLoader","Logger","mergeWithDefaults","handleWorkerMode","Configs","initializeLogger","MultiServerManager","MultiServerApp","XyServerCreator"],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AAejF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DG;AACG,SAAU,YAAY,CAAC,OAAA,GAAyB,EAAE,EAAA;;IAEpDA,yCAAkB,CAAC,OAAO,CAAC;;IAG3BC,yBAAY,CAAC,qBAAqB,EAAE;AACpC,IAAAC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;;AAG1C,IAAA,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE;;;;AAI9B,QAAA,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE;QACpC,OAAO,aAAa,CAAC,WAAW;AAEhC,QAAA,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,KAAI;;AAEvC,YAAA,OAAOC,mCAAiB,CAAC,aAAa,EAAE,MAAa,CAAC;AAC1D,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,MAAM,IAAI,KAAK,CACX,wIAAwI,CAC3I;QACL;AAEA,QAAA,MAAM,aAAa,GAAGC,kCAAgB,CAAC,OAAO,CAAC;AAC/C,QAAAC,uBAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAC5B,MAAM,MAAM,GAAGC,uBAAgB,CAACD,uBAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,MAAM,kBAAkB,GAAG,IAAIE,qCAAkB,CAC7CF,uBAAO,CAAC,MAAM,EAAE,EAChB,MAAM,CACT;QAED,MAAM,QAAQ,GAAG,IAAIG,6BAAc,CAC/B,kBAAkB,EAClB,OAAc,EACd,MAAM,CACT;AAED,QAAA,OAAO,QAA4B;IACvC;;AAGA,IAAA,OAAOC,+BAAe,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1C;AACO,MAAM,OAAO,GAAG;AACnB,IAAA,MAAM,EAAE,YAAY;;;;;;"}
1
+ {"version":3,"file":"ServerFactory.js","sources":["../../../../src/server/ServerFactory.ts"],"sourcesContent":[null],"names":["rejectInternalFlag","configLoader","Logger","Configs","mergeWithDefaults","handleWorkerMode","initializeLogger","MultiServerManager","MultiServerApp","XyServerCreator"],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AAejF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DG;AACG,SAAU,YAAY,CAAC,OAAA,GAAyB,EAAE,EAAA;;IAEpDA,yCAAkB,CAAC,OAAO,CAAC;;IAG3BC,yBAAY,CAAC,qBAAqB,EAAE;AACpC,IAAAC,aAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;;AAG1C,IAAA,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE;;;;AAI9B,QAAA,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE;QACpC,OAAO,aAAa,CAAC,WAAW;AAEhC,QAAAC,uBAAO,CAAC,KAAK,CAAC,aAAa,CAAC;AAE5B,QAAA,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,KAAI;;AAEvC,YAAA,OAAOC,mCAAiB,CAAC,aAAa,EAAE,MAAa,CAAC;AAC1D,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,MAAM,IAAI,KAAK,CACX,wIAAwI,CAC3I;QACL;AAEA,QAAA,MAAM,aAAa,GAAGC,kCAAgB,CAAC,OAAO,CAAC;AAC/C,QAAAF,uBAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAC5B,MAAM,MAAM,GAAGG,uBAAgB,CAACH,uBAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,MAAM,kBAAkB,GAAG,IAAII,qCAAkB,CAC7CJ,uBAAO,CAAC,MAAM,EAAE,EAChB,MAAM,CACT;QAED,MAAM,QAAQ,GAAG,IAAIK,6BAAc,CAC/B,kBAAkB,EAClB,OAAc,EACd,MAAM,CACT;AAED,QAAA,OAAO,QAA4B;IACvC;;AAGA,IAAA,OAAOC,+BAAe,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1C;AACO,MAAM,OAAO,GAAG;AACnB,IAAA,MAAM,EAAE,YAAY;;;;;;"}
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  require('../../../../index.js');
4
+ var corsBuilder = require('./builders/corsBuilder.js');
4
5
  var rateLimitBuilder = require('./builders/rateLimitBuilder.js');
5
6
  var resilienceBuilder = require('./builders/resilienceBuilder.js');
6
7
  var helmetBuilder = require('./builders/helmetBuilder.js');
@@ -17,6 +18,7 @@ function buildSecurityArgs(securityConf, rmconf, rootConf, app) {
17
18
  }
18
19
  resilienceBuilder.buildResilienceArgs(rmconf, args);
19
20
  helmetBuilder.buildHelmetArgs(securityConf, args);
21
+ corsBuilder.buildCorsArgs(securityConf, args);
20
22
  csrfBuilder.buildCsrfArgs(securityConf, args);
21
23
  injectionBuilders.buildXssArgs(securityConf, args);
22
24
  injectionBuilders.buildResponseManipulationArgs(rootConf, args);
@@ -1 +1 @@
1
- {"version":3,"file":"buildSecurityArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildSecurityArgs.ts"],"sourcesContent":[null],"names":["Configs","buildRateLimitArgs","buildResilienceArgs","buildHelmetArgs","buildCsrfArgs","buildXssArgs","buildResponseManipulationArgs","buildHppArgs","buildXxeArgs","buildSlowDownArgs","buildSqliArgs","buildCmdInjectArgs","buildPathTraversalArgs","buildLdapInjectArgs"],"mappings":";;;;;;;;;;AAuBaA,uBAAO,CAAC,GAAG,CAAC,mBAAmB;AAEtC,SAAU,iBAAiB,CAC7B,YAA8B,EAC9B,MAAmB,EACnB,QAAc,EACd,GAAS,EAAA;IAET,MAAM,IAAI,GAAa,EAAE;AAEzB,IAAAC,mCAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC;IAE3C,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;AAChD,QAAA,OAAO,IAAI;IACf;AACA,IAAAC,qCAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;AACjC,IAAAC,6BAAe,CAAC,YAAY,EAAE,IAAI,CAAC;AACnC,IAAAC,yBAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,+CAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC;AAC7C,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,mCAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;AACrC,IAAAC,+BAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAAC,oCAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;AACtC,IAAAC,wCAAsB,CAAC,YAAY,EAAE,IAAI,CAAC;AAC1C,IAAAC,qCAAmB,CAAC,YAAY,EAAE,IAAI,CAAC;AAEvC,IAAA,OAAO,IAAI;AACf;;;;"}
1
+ {"version":3,"file":"buildSecurityArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildSecurityArgs.ts"],"sourcesContent":[null],"names":["Configs","buildRateLimitArgs","buildResilienceArgs","buildHelmetArgs","buildCorsArgs","buildCsrfArgs","buildXssArgs","buildResponseManipulationArgs","buildHppArgs","buildXxeArgs","buildSlowDownArgs","buildSqliArgs","buildCmdInjectArgs","buildPathTraversalArgs","buildLdapInjectArgs"],"mappings":";;;;;;;;;;;AAuBaA,uBAAO,CAAC,GAAG,CAAC,mBAAmB;AAEtC,SAAU,iBAAiB,CAC7B,YAA8B,EAC9B,MAAmB,EACnB,QAAc,EACd,GAAS,EAAA;IAET,MAAM,IAAI,GAAa,EAAE;AAEzB,IAAAC,mCAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC;IAE3C,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;AAChD,QAAA,OAAO,IAAI;IACf;AAEA,IAAAC,qCAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;AACjC,IAAAC,6BAAe,CAAC,YAAY,EAAE,IAAI,CAAC;AACnC,IAAAC,yBAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAAC,yBAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,+CAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC;AAC7C,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,8BAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAAC,mCAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;AACrC,IAAAC,+BAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAAC,oCAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;AACtC,IAAAC,wCAAsB,CAAC,YAAY,EAAE,IAAI,CAAC;AAC1C,IAAAC,qCAAmB,CAAC,YAAY,EAAE,IAAI,CAAC;AAEvC,IAAA,OAAO,IAAI;AACf;;;;"}
@@ -1,7 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  function buildUploadArgs(uploadConf) {
4
- if (!uploadConf?.enabled)
4
+ const isEnabled = uploadConf &&
5
+ uploadConf.enabled !== false &&
6
+ (uploadConf.enabled === true || !!uploadConf.destination);
7
+ if (!isEnabled)
5
8
  return [];
6
9
  const args = [];
7
10
  if (uploadConf.destination)
@@ -1 +1 @@
1
- {"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAM,SAAU,eAAe,CAAC,UAAe,EAAA;IAC3C,IAAI,CAAC,UAAU,EAAE,OAAO;AAAE,QAAA,OAAO,EAAE;IAEnC,MAAM,IAAI,GAAa,EAAE;IAEzB,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;IACrD,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,WAAW,CAAC;AAC1D,IAAA,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,IAAI,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,UAAU,CAAC,YAAY,CAAA,CAAE,CAAC;IAEnE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ;IACzE,IAAI,WAAW,KAAK,SAAS;QACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK;IAChE,IAAI,QAAQ,KAAK,SAAS;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAExD,IAAA,IACI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;AAC1C,QAAA,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;AAEtC,QAAA,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CACxC;AAEL,IAAA,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,IAAI,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,UAAU,CAAC,SAAS,CAAA,CAAE,CAAC;AAE5D,IAAA,OAAO,IAAI;AACf;;;;"}
1
+ {"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAM,SAAU,eAAe,CAAC,UAAe,EAAA;IAC3C,MAAM,SAAS,GACX,UAAU;QACV,UAAU,CAAC,OAAO,KAAK,KAAK;AAC5B,SAAC,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;AAC7D,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,EAAE;IAEzB,MAAM,IAAI,GAAa,EAAE;IAEzB,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;IACrD,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,WAAW,CAAC;AAC1D,IAAA,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,IAAI,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,UAAU,CAAC,YAAY,CAAA,CAAE,CAAC;IAEnE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ;IACzE,IAAI,WAAW,KAAK,SAAS;QACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK;IAChE,IAAI,QAAQ,KAAK,SAAS;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAExD,IAAA,IACI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;AAC1C,QAAA,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;AAEtC,QAAA,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CACxC;AAEL,IAAA,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,IAAI,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,UAAU,CAAC,SAAS,CAAA,CAAE,CAAC;AAE5D,IAAA,OAAO,IAAI;AACf;;;;"}
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ var xyprissSecurity = require('xypriss-security');
4
+ var isFeatureEnabled = require('./isFeatureEnabled.js');
5
+
6
+ function buildCorsArgs(securityConf, args) {
7
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.cors)) {
8
+ let userCorsOpts = typeof securityConf?.cors === "object" ? securityConf.cors : {};
9
+ let finalCorsOpts = { ...userCorsOpts };
10
+ if (finalCorsOpts.origin) {
11
+ if (Array.isArray(finalCorsOpts.origin)) {
12
+ finalCorsOpts.origin = finalCorsOpts.origin.map((o) => o instanceof RegExp ? o.toString() : String(o));
13
+ }
14
+ else if (finalCorsOpts.origin instanceof RegExp) {
15
+ finalCorsOpts.origin = finalCorsOpts.origin.toString();
16
+ }
17
+ }
18
+ args.push("--cors-config-json", Buffer.from(xyprissSecurity.XStringify(finalCorsOpts)).toString("base64"));
19
+ }
20
+ }
21
+
22
+ exports.buildCorsArgs = buildCorsArgs;
23
+ //# sourceMappingURL=corsBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corsBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/corsBuilder.ts"],"sourcesContent":[null],"names":["isFeatureEnabled","XStringify"],"mappings":";;;;;AAGM,SAAU,aAAa,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC3D,IAAA,IAAIA,iCAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;AACtC,QAAA,IAAI,YAAY,GACZ,OAAO,YAAY,EAAE,IAAI,KAAK,QAAQ,GAAG,YAAY,CAAC,IAAI,GAAG,EAAE;AAEnE,QAAA,IAAI,aAAa,GAAQ,EAAE,GAAG,YAAY,EAAE;AAE5C,QAAA,IAAI,aAAa,CAAC,MAAM,EAAE;YACtB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AACrC,gBAAA,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,KACnD,CAAC,YAAY,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CACjD;YACL;AAAO,iBAAA,IAAI,aAAa,CAAC,MAAM,YAAY,MAAM,EAAE;gBAC/C,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC1D;QACJ;QAEA,IAAI,CAAC,IAAI,CACL,oBAAoB,EACpB,MAAM,CAAC,IAAI,CAACC,0BAAU,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC5D;IACL;AACJ;;;;"}
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var xyprissSecurity = require('xypriss-security');
4
+ var isFeatureEnabled = require('./isFeatureEnabled.js');
4
5
 
5
6
  function buildHelmetArgs(securityConf, args) {
6
- if (securityConf?.helmet !== false) {
7
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.helmet)) {
7
8
  const defaultHelmetOpts = {
8
9
  contentSecurityPolicy: {
9
10
  directives: {
@@ -1 +1 @@
1
- {"version":3,"file":"helmetBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/helmetBuilder.ts"],"sourcesContent":[null],"names":["XStringify"],"mappings":"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"}
1
+ {"version":3,"file":"helmetBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/helmetBuilder.ts"],"sourcesContent":[null],"names":["isFeatureEnabled","XStringify"],"mappings":"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"}
@@ -2,11 +2,12 @@
2
2
 
3
3
  var xyprissSecurity = require('xypriss-security');
4
4
  require('../../../../../index.js');
5
+ var isFeatureEnabled = require('./isFeatureEnabled.js');
5
6
  var normalizeRouteConfig = require('./normalizeRouteConfig.js');
6
7
  var ConfigurationManager = require('../../../../../ConfigurationManager.js');
7
8
 
8
9
  function buildXssArgs(securityConf, args) {
9
- if (securityConf?.xss) {
10
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.xss)) {
10
11
  const defaultXssOpts = {
11
12
  enabled: true,
12
13
  blockOnDetection: true,
@@ -33,12 +34,12 @@ function buildXssArgs(securityConf, args) {
33
34
  }
34
35
  function buildResponseManipulationArgs(rootConf, args) {
35
36
  const responseManipulation = rootConf?.responseManipulation || ConfigurationManager.CM.get("responseManipulation");
36
- if (responseManipulation?.enabled) {
37
+ if (isFeatureEnabled.isFeatureEnabled(responseManipulation)) {
37
38
  args.push("--response-manipulation-config-json", Buffer.from(xyprissSecurity.XStringify(responseManipulation)).toString("base64"));
38
39
  }
39
40
  }
40
41
  function buildHppArgs(securityConf, args) {
41
- if (securityConf?.hpp) {
42
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.hpp)) {
42
43
  const defaultHppOpts = {
43
44
  checkQuery: true,
44
45
  checkBody: true,
@@ -51,7 +52,7 @@ function buildHppArgs(securityConf, args) {
51
52
  }
52
53
  }
53
54
  function buildXxeArgs(securityConf, args) {
54
- if (securityConf?.xxe) {
55
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.xxe)) {
55
56
  const defaultXxeOpts = {
56
57
  enabled: true,
57
58
  blockOnDetection: true,
@@ -70,7 +71,7 @@ function buildXxeArgs(securityConf, args) {
70
71
  }
71
72
  }
72
73
  function buildSlowDownArgs(securityConf, args) {
73
- if (securityConf?.slowDown) {
74
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.slowDown)) {
74
75
  const defaultSlowDownOpts = {
75
76
  windowMs: 60000,
76
77
  delayAfter: 1,
@@ -85,7 +86,7 @@ function buildSlowDownArgs(securityConf, args) {
85
86
  }
86
87
  }
87
88
  function buildSqliArgs(securityConf, args) {
88
- if (securityConf?.sqlInjection) {
89
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.sqlInjection)) {
89
90
  const defaultSqliOpts = {
90
91
  enabled: true,
91
92
  blockOnDetection: true,
@@ -107,7 +108,7 @@ function buildSqliArgs(securityConf, args) {
107
108
  }
108
109
  }
109
110
  function buildCmdInjectArgs(securityConf, args) {
110
- if (securityConf?.commandInjection) {
111
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.commandInjection)) {
111
112
  const defaultCmdInjectOpts = {
112
113
  enabled: true,
113
114
  blockOnDetection: true,
@@ -131,7 +132,7 @@ function buildCmdInjectArgs(securityConf, args) {
131
132
  }
132
133
  }
133
134
  function buildPathTraversalArgs(securityConf, args) {
134
- if (securityConf?.pathTraversal) {
135
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.pathTraversal)) {
135
136
  const defaultPathTraversalOpts = {
136
137
  enabled: true,
137
138
  blockOnDetection: true,
@@ -155,7 +156,7 @@ function buildPathTraversalArgs(securityConf, args) {
155
156
  }
156
157
  }
157
158
  function buildLdapInjectArgs(securityConf, args) {
158
- if (securityConf?.ldapInjection) {
159
+ if (isFeatureEnabled.isFeatureEnabled(securityConf?.ldapInjection)) {
159
160
  const defaultLdapInjectOpts = {
160
161
  enabled: true,
161
162
  blockOnDetection: true,
@@ -1 +1 @@
1
- {"version":3,"file":"injectionBuilders.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/injectionBuilders.ts"],"sourcesContent":[null],"names":["normalizeRouteConfig","XStringify","Configs"],"mappings":"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"}
1
+ {"version":3,"file":"injectionBuilders.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/injectionBuilders.ts"],"sourcesContent":[null],"names":["isFeatureEnabled","normalizeRouteConfig","XStringify","Configs"],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Helper utility to determine whether a feature configuration module is enabled.
5
+ * Returns false if conf is false, null, undefined, or an object with `enabled: false`.
6
+ * Returns true if conf is true or a truthy object where `enabled` is not false.
7
+ */
8
+ function isFeatureEnabled(conf) {
9
+ if (conf === false || conf === null || conf === undefined)
10
+ return false;
11
+ if (conf === true)
12
+ return true;
13
+ if (typeof conf === "object") {
14
+ if (conf.enabled === false)
15
+ return false;
16
+ return true;
17
+ }
18
+ return false;
19
+ }
20
+
21
+ exports.isFeatureEnabled = isFeatureEnabled;
22
+ //# sourceMappingURL=isFeatureEnabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isFeatureEnabled.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA;;;;AAIG;AACG,SAAU,gBAAgB,CAAC,IAAS,EAAA;IACtC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;AAAE,QAAA,OAAO,KAAK;IACvE,IAAI,IAAI,KAAK,IAAI;AAAE,QAAA,OAAO,IAAI;AAC9B,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;AAAE,YAAA,OAAO,KAAK;AACxC,QAAA,OAAO,IAAI;IACf;AACA,IAAA,OAAO,KAAK;AAChB;;;;"}
@@ -1,20 +1,23 @@
1
1
  'use strict';
2
2
 
3
+ var isFeatureEnabled = require('./isFeatureEnabled.js');
4
+
3
5
  function buildResilienceArgs(rmconf, args) {
4
6
  // Circuit breaker
5
7
  const cb = rmconf?.resilience?.circuitBreaker;
6
- if (cb) {
7
- if (cb.enabled)
8
- args.push("--breaker-enabled");
8
+ if (isFeatureEnabled.isFeatureEnabled(cb)) {
9
+ args.push("--breaker-enabled");
9
10
  if (cb.failureThreshold)
10
11
  args.push("--breaker-threshold", cb.failureThreshold.toString());
11
12
  if (cb.resetTimeout)
12
13
  args.push("--breaker-timeout", Math.ceil(cb.resetTimeout / 1000).toString());
13
14
  }
14
15
  // Retry
15
- if (rmconf?.resilience?.retryEnabled) {
16
- args.push("--retry-max", (rmconf.resilience.maxRetries || 3).toString());
17
- args.push("--retry-delay", (rmconf.resilience.retryDelay || 100).toString());
16
+ const retryConf = rmconf?.resilience?.retry;
17
+ const retryEnabled = rmconf?.resilience?.retryEnabled || isFeatureEnabled.isFeatureEnabled(retryConf);
18
+ if (retryEnabled) {
19
+ args.push("--retry-max", (rmconf?.resilience?.maxRetries || retryConf?.maxRetries || 3).toString());
20
+ args.push("--retry-delay", (rmconf?.resilience?.retryDelay || retryConf?.retryDelay || 100).toString());
18
21
  }
19
22
  }
20
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"resilienceBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAM,SAAU,mBAAmB,CAAC,MAAW,EAAE,IAAc,EAAA;;AAE3D,IAAA,MAAM,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,cAAc;IAC7C,IAAI,EAAE,EAAE;QACJ,IAAI,EAAE,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC9C,IAAI,EAAE,CAAC,gBAAgB;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACpE,IAAI,EAAE,CAAC,YAAY;AACf,YAAA,IAAI,CAAC,IAAI,CACL,mBAAmB,EACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAC/C;IACT;;AAGA,IAAA,IAAI,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE;AAClC,QAAA,IAAI,CAAC,IAAI,CACL,aAAa,EACb,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,CACjD;AACD,QAAA,IAAI,CAAC,IAAI,CACL,eAAe,EACf,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,GAAG,EAAE,QAAQ,EAAE,CACnD;IACL;AACJ;;;;"}
1
+ {"version":3,"file":"resilienceBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.ts"],"sourcesContent":[null],"names":["isFeatureEnabled"],"mappings":";;;;AAEM,SAAU,mBAAmB,CAAC,MAAW,EAAE,IAAc,EAAA;;AAE3D,IAAA,MAAM,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,cAAc;AAC7C,IAAA,IAAIA,iCAAgB,CAAC,EAAE,CAAC,EAAE;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC9B,IAAI,EAAE,CAAC,gBAAgB;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACpE,IAAI,EAAE,CAAC,YAAY;AACf,YAAA,IAAI,CAAC,IAAI,CACL,mBAAmB,EACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAC/C;IACT;;AAGA,IAAA,MAAM,SAAS,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK;AAC3C,IAAA,MAAM,YAAY,GACd,MAAM,EAAE,UAAU,EAAE,YAAY,IAAIA,iCAAgB,CAAC,SAAS,CAAC;IACnE,IAAI,YAAY,EAAE;QACd,IAAI,CAAC,IAAI,CACL,aAAa,EACb,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,CAC5E;QACD,IAAI,CAAC,IAAI,CACL,eAAe,EACf,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,UAAU,IAAI,GAAG,EAAE,QAAQ,EAAE,CAC9E;IACL;AACJ;;;;"}
@@ -117,6 +117,7 @@ function createServer(options = {}) {
117
117
  // We merge these global options with each individual server's config.
118
118
  const globalOptions = { ...options };
119
119
  delete globalOptions.multiServer;
120
+ ConfigurationManager.merge(globalOptions);
120
121
  const servers = (xms || []).map((server) => {
121
122
  // Individual server options take precedence over global ones
122
123
  return mergeWithDefaults(globalOptions, server);
@@ -1 +1 @@
1
- {"version":3,"file":"ServerFactory.js","sources":["../../../../src/server/ServerFactory.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":";;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AAejF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DG;AACG,SAAU,YAAY,CAAC,OAAA,GAAyB,EAAE,EAAA;;IAEpD,kBAAkB,CAAC,OAAO,CAAC;;IAG3B,YAAY,CAAC,qBAAqB,EAAE;AACpC,IAAA,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;;AAG1C,IAAA,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE;;;;AAI9B,QAAA,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE;QACpC,OAAO,aAAa,CAAC,WAAW;AAEhC,QAAA,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,KAAI;;AAEvC,YAAA,OAAO,iBAAiB,CAAC,aAAa,EAAE,MAAa,CAAC;AAC1D,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,MAAM,IAAI,KAAK,CACX,wIAAwI,CAC3I;QACL;AAEA,QAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAC/C,QAAAA,oBAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAC5B,MAAM,MAAM,GAAG,gBAAgB,CAACA,oBAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC7CA,oBAAO,CAAC,MAAM,EAAE,EAChB,MAAM,CACT;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAC/B,kBAAkB,EAClB,OAAc,EACd,MAAM,CACT;AAED,QAAA,OAAO,QAA4B;IACvC;;AAGA,IAAA,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1C;AACO,MAAM,OAAO,GAAG;AACnB,IAAA,MAAM,EAAE,YAAY;;;;;"}
1
+ {"version":3,"file":"ServerFactory.js","sources":["../../../../src/server/ServerFactory.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":";;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;AAsBiF;AAejF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DG;AACG,SAAU,YAAY,CAAC,OAAA,GAAyB,EAAE,EAAA;;IAEpD,kBAAkB,CAAC,OAAO,CAAC;;IAG3B,YAAY,CAAC,qBAAqB,EAAE;AACpC,IAAA,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC;IACnC,MAAM,GAAG,GAAG,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC;;AAG1C,IAAA,IAAI,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE;;;;AAI9B,QAAA,MAAM,aAAa,GAAG,EAAE,GAAG,OAAO,EAAE;QACpC,OAAO,aAAa,CAAC,WAAW;AAEhC,QAAAA,oBAAO,CAAC,KAAK,CAAC,aAAa,CAAC;AAE5B,QAAA,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,KAAI;;AAEvC,YAAA,OAAO,iBAAiB,CAAC,aAAa,EAAE,MAAa,CAAC;AAC1D,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;AACtB,YAAA,MAAM,IAAI,KAAK,CACX,wIAAwI,CAC3I;QACL;AAEA,QAAA,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC;AAC/C,QAAAA,oBAAO,CAAC,KAAK,CAAC,aAAa,CAAC;QAC5B,MAAM,MAAM,GAAG,gBAAgB,CAACA,oBAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC7CA,oBAAO,CAAC,MAAM,EAAE,EAChB,MAAM,CACT;QAED,MAAM,QAAQ,GAAG,IAAI,cAAc,CAC/B,kBAAkB,EAClB,OAAc,EACd,MAAM,CACT;AAED,QAAA,OAAO,QAA4B;IACvC;;AAGA,IAAA,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC;AAC1C;AACO,MAAM,OAAO,GAAG;AACnB,IAAA,MAAM,EAAE,YAAY;;;;;"}
@@ -1,4 +1,5 @@
1
1
  import '../../../../index.js';
2
+ import { buildCorsArgs } from './builders/corsBuilder.js';
2
3
  import { buildRateLimitArgs } from './builders/rateLimitBuilder.js';
3
4
  import { buildResilienceArgs } from './builders/resilienceBuilder.js';
4
5
  import { buildHelmetArgs } from './builders/helmetBuilder.js';
@@ -15,6 +16,7 @@ function buildSecurityArgs(securityConf, rmconf, rootConf, app) {
15
16
  }
16
17
  buildResilienceArgs(rmconf, args);
17
18
  buildHelmetArgs(securityConf, args);
19
+ buildCorsArgs(securityConf, args);
18
20
  buildCsrfArgs(securityConf, args);
19
21
  buildXssArgs(securityConf, args);
20
22
  buildResponseManipulationArgs(rootConf, args);
@@ -1 +1 @@
1
- {"version":3,"file":"buildSecurityArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildSecurityArgs.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":";;;;;;;;AAuBaA,oBAAO,CAAC,GAAG,CAAC,mBAAmB;AAEtC,SAAU,iBAAiB,CAC7B,YAA8B,EAC9B,MAAmB,EACnB,QAAc,EACd,GAAS,EAAA;IAET,MAAM,IAAI,GAAa,EAAE;AAEzB,IAAA,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC;IAE3C,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;AAChD,QAAA,OAAO,IAAI;IACf;AACA,IAAA,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;AACjC,IAAA,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC;AACnC,IAAA,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAA,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAA,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC;AAC7C,IAAA,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAA,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAA,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;AACrC,IAAA,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAA,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;AACtC,IAAA,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC;AAC1C,IAAA,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC;AAEvC,IAAA,OAAO,IAAI;AACf;;;;"}
1
+ {"version":3,"file":"buildSecurityArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildSecurityArgs.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":";;;;;;;;;AAuBaA,oBAAO,CAAC,GAAG,CAAC,mBAAmB;AAEtC,SAAU,iBAAiB,CAC7B,YAA8B,EAC9B,MAAmB,EACnB,QAAc,EACd,GAAS,EAAA;IAET,MAAM,IAAI,GAAa,EAAE;AAEzB,IAAA,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC;IAE3C,IAAI,YAAY,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,EAAE;AAChD,QAAA,OAAO,IAAI;IACf;AAEA,IAAA,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC;AACjC,IAAA,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC;AACnC,IAAA,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAA,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAA,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAA,6BAA6B,CAAC,QAAQ,EAAE,IAAI,CAAC;AAC7C,IAAA,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAA,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC;AAChC,IAAA,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC;AACrC,IAAA,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC;AACjC,IAAA,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC;AACtC,IAAA,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC;AAC1C,IAAA,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC;AAEvC,IAAA,OAAO,IAAI;AACf;;;;"}
@@ -1,5 +1,8 @@
1
1
  function buildUploadArgs(uploadConf) {
2
- if (!uploadConf?.enabled)
2
+ const isEnabled = uploadConf &&
3
+ uploadConf.enabled !== false &&
4
+ (uploadConf.enabled === true || !!uploadConf.destination);
5
+ if (!isEnabled)
3
6
  return [];
4
7
  const args = [];
5
8
  if (uploadConf.destination)
@@ -1 +1 @@
1
- {"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,SAAU,eAAe,CAAC,UAAe,EAAA;IAC3C,IAAI,CAAC,UAAU,EAAE,OAAO;AAAE,QAAA,OAAO,EAAE;IAEnC,MAAM,IAAI,GAAa,EAAE;IAEzB,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;IACrD,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,WAAW,CAAC;AAC1D,IAAA,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,IAAI,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,UAAU,CAAC,YAAY,CAAA,CAAE,CAAC;IAEnE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ;IACzE,IAAI,WAAW,KAAK,SAAS;QACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK;IAChE,IAAI,QAAQ,KAAK,SAAS;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAExD,IAAA,IACI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;AAC1C,QAAA,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;AAEtC,QAAA,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CACxC;AAEL,IAAA,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,IAAI,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,UAAU,CAAC,SAAS,CAAA,CAAE,CAAC;AAE5D,IAAA,OAAO,IAAI;AACf;;;;"}
1
+ {"version":3,"file":"buildUploadArgs.js","sources":["../../../../../../../src/server/core/XHSCBridge/cmd/buildUploadArgs.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,SAAU,eAAe,CAAC,UAAe,EAAA;IAC3C,MAAM,SAAS,GACX,UAAU;QACV,UAAU,CAAC,OAAO,KAAK,KAAK;AAC5B,SAAC,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;AAC7D,IAAA,IAAI,CAAC,SAAS;AAAE,QAAA,OAAO,EAAE;IAEzB,MAAM,IAAI,GAAa,EAAE;IAEzB,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;IACrD,IAAI,UAAU,CAAC,WAAW;QACtB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,WAAW,CAAC;AAC1D,IAAA,IAAI,UAAU,CAAC,YAAY,KAAK,SAAS;QACrC,IAAI,CAAC,IAAI,CAAC,CAAA,wBAAA,EAA2B,UAAU,CAAC,YAAY,CAAA,CAAE,CAAC;IAEnE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ;IACzE,IAAI,WAAW,KAAK,SAAS;QACzB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC;IAE/D,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,MAAM,EAAE,KAAK;IAChE,IAAI,QAAQ,KAAK,SAAS;QACtB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAExD,IAAA,IACI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC;AAC1C,QAAA,UAAU,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;AAEtC,QAAA,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CACxC;AAEL,IAAA,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS;QAClC,IAAI,CAAC,IAAI,CAAC,CAAA,oBAAA,EAAuB,UAAU,CAAC,SAAS,CAAA,CAAE,CAAC;AAE5D,IAAA,OAAO,IAAI;AACf;;;;"}
@@ -0,0 +1,21 @@
1
+ import { XStringify } from 'xypriss-security';
2
+ import { isFeatureEnabled } from './isFeatureEnabled.js';
3
+
4
+ function buildCorsArgs(securityConf, args) {
5
+ if (isFeatureEnabled(securityConf?.cors)) {
6
+ let userCorsOpts = typeof securityConf?.cors === "object" ? securityConf.cors : {};
7
+ let finalCorsOpts = { ...userCorsOpts };
8
+ if (finalCorsOpts.origin) {
9
+ if (Array.isArray(finalCorsOpts.origin)) {
10
+ finalCorsOpts.origin = finalCorsOpts.origin.map((o) => o instanceof RegExp ? o.toString() : String(o));
11
+ }
12
+ else if (finalCorsOpts.origin instanceof RegExp) {
13
+ finalCorsOpts.origin = finalCorsOpts.origin.toString();
14
+ }
15
+ }
16
+ args.push("--cors-config-json", Buffer.from(XStringify(finalCorsOpts)).toString("base64"));
17
+ }
18
+ }
19
+
20
+ export { buildCorsArgs };
21
+ //# sourceMappingURL=corsBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corsBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/corsBuilder.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAGM,SAAU,aAAa,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC3D,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;AACtC,QAAA,IAAI,YAAY,GACZ,OAAO,YAAY,EAAE,IAAI,KAAK,QAAQ,GAAG,YAAY,CAAC,IAAI,GAAG,EAAE;AAEnE,QAAA,IAAI,aAAa,GAAQ,EAAE,GAAG,YAAY,EAAE;AAE5C,QAAA,IAAI,aAAa,CAAC,MAAM,EAAE;YACtB,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AACrC,gBAAA,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,KACnD,CAAC,YAAY,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CACjD;YACL;AAAO,iBAAA,IAAI,aAAa,CAAC,MAAM,YAAY,MAAM,EAAE;gBAC/C,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC1D;QACJ;QAEA,IAAI,CAAC,IAAI,CACL,oBAAoB,EACpB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC5D;IACL;AACJ;;;;"}
@@ -1,7 +1,8 @@
1
1
  import { XStringify } from 'xypriss-security';
2
+ import { isFeatureEnabled } from './isFeatureEnabled.js';
2
3
 
3
4
  function buildHelmetArgs(securityConf, args) {
4
- if (securityConf?.helmet !== false) {
5
+ if (isFeatureEnabled(securityConf?.helmet)) {
5
6
  const defaultHelmetOpts = {
6
7
  contentSecurityPolicy: {
7
8
  directives: {
@@ -1 +1 @@
1
- {"version":3,"file":"helmetBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/helmetBuilder.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEM,SAAU,eAAe,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC7D,IAAA,IAAI,YAAY,EAAE,MAAM,KAAK,KAAK,EAAE;AAChC,QAAA,MAAM,iBAAiB,GAAG;AACtB,YAAA,qBAAqB,EAAE;AACnB,gBAAA,UAAU,EAAE;oBACR,UAAU,EAAE,CAAC,QAAQ,CAAC;oBACtB,SAAS,EAAE,CAAC,QAAQ,CAAC;AACrB,oBAAA,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;AACvC,oBAAA,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;oBAC3B,OAAO,EAAE,CAAC,QAAQ,CAAC;AACtB,iBAAA;AACJ,aAAA;AACD,YAAA,yBAAyB,EAAE,IAAI;AAC/B,YAAA,uBAAuB,EAAE,IAAI;AAC7B,YAAA,yBAAyB,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;AACpD,YAAA,kBAAkB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;AACpC,YAAA,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;AAC9B,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,IAAI,EAAE;AACF,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,OAAO,EAAE,KAAK;AACjB,aAAA;AACD,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,4BAA4B,EAAE,KAAK;AACnC,YAAA,cAAc,EAAE,EAAE,MAAM,EAAE,iCAAiC,EAAE;AAC7D,YAAA,SAAS,EAAE,IAAI;SAClB;AAED,QAAA,IAAI,cAAc,GACd,OAAO,YAAY,EAAE,MAAM,KAAK,QAAQ,GAAG,YAAY,CAAC,MAAM,GAAG,EAAE;AACvE,QAAA,IAAI,eAAe,GAAQ,EAAE,GAAG,iBAAiB,EAAE;AAEnD,QAAA,IAAI,cAAc,CAAC,qBAAqB,KAAK,SAAS,EAAE;AACpD,YAAA,IAAI,cAAc,CAAC,qBAAqB,KAAK,KAAK,EAAE;AAChD,gBAAA,eAAe,CAAC,qBAAqB,GAAG,KAAK;YACjD;AAAO,iBAAA,IACH,OAAO,cAAc,CAAC,qBAAqB,KAAK,QAAQ;AACxD,gBAAA,cAAc,CAAC,qBAAqB,KAAK,IAAI,EAC/C;gBACE,eAAe,CAAC,qBAAqB,GAAG;oBACpC,GAAG,iBAAiB,CAAC,qBAAqB;oBAC1C,GAAG,cAAc,CAAC,qBAAqB;iBAC1C;AACD,gBAAA,IAAI,cAAc,CAAC,qBAAqB,CAAC,UAAU,EAAE;oBACjD,MAAM,wBAAwB,GAAQ,EAAE;AACxC,oBAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CACrC,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAClD,EAAE;wBACC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAC/C,MAAiB,CAAC,WAAW,EAAE,CACnC;AACD,wBAAA,wBAAwB,CAAC,QAAQ,CAAC,GAAG,KAAK;oBAC9C;AACA,oBAAA,eAAe,CAAC,qBAAqB,CAAC,UAAU,GAAG;wBAC/C,GAAI,iBAAiB,CAAC;6BACjB,UAAU;AACf,wBAAA,GAAG,wBAAwB;qBAC9B;gBACL;YACJ;QACJ;QAEA,MAAM,EAAE,qBAAqB,EAAE,GAAG,SAAS,EAAE,GAAG,cAAc;QAC9D,eAAe,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,EAAE;QAEtD,IAAI,CAAC,IAAI,CACL,sBAAsB,EACtB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC9D;IACL;AACJ;;;;"}
1
+ {"version":3,"file":"helmetBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/helmetBuilder.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { XStringify } from 'xypriss-security';
2
2
  import '../../../../../index.js';
3
+ import { isFeatureEnabled } from './isFeatureEnabled.js';
3
4
  import { normalizeRouteConfig } from './normalizeRouteConfig.js';
4
5
  import { CM as ConfigurationManager } from '../../../../../ConfigurationManager.js';
5
6
 
6
7
  function buildXssArgs(securityConf, args) {
7
- if (securityConf?.xss) {
8
+ if (isFeatureEnabled(securityConf?.xss)) {
8
9
  const defaultXssOpts = {
9
10
  enabled: true,
10
11
  blockOnDetection: true,
@@ -31,12 +32,12 @@ function buildXssArgs(securityConf, args) {
31
32
  }
32
33
  function buildResponseManipulationArgs(rootConf, args) {
33
34
  const responseManipulation = rootConf?.responseManipulation || ConfigurationManager.get("responseManipulation");
34
- if (responseManipulation?.enabled) {
35
+ if (isFeatureEnabled(responseManipulation)) {
35
36
  args.push("--response-manipulation-config-json", Buffer.from(XStringify(responseManipulation)).toString("base64"));
36
37
  }
37
38
  }
38
39
  function buildHppArgs(securityConf, args) {
39
- if (securityConf?.hpp) {
40
+ if (isFeatureEnabled(securityConf?.hpp)) {
40
41
  const defaultHppOpts = {
41
42
  checkQuery: true,
42
43
  checkBody: true,
@@ -49,7 +50,7 @@ function buildHppArgs(securityConf, args) {
49
50
  }
50
51
  }
51
52
  function buildXxeArgs(securityConf, args) {
52
- if (securityConf?.xxe) {
53
+ if (isFeatureEnabled(securityConf?.xxe)) {
53
54
  const defaultXxeOpts = {
54
55
  enabled: true,
55
56
  blockOnDetection: true,
@@ -68,7 +69,7 @@ function buildXxeArgs(securityConf, args) {
68
69
  }
69
70
  }
70
71
  function buildSlowDownArgs(securityConf, args) {
71
- if (securityConf?.slowDown) {
72
+ if (isFeatureEnabled(securityConf?.slowDown)) {
72
73
  const defaultSlowDownOpts = {
73
74
  windowMs: 60000,
74
75
  delayAfter: 1,
@@ -83,7 +84,7 @@ function buildSlowDownArgs(securityConf, args) {
83
84
  }
84
85
  }
85
86
  function buildSqliArgs(securityConf, args) {
86
- if (securityConf?.sqlInjection) {
87
+ if (isFeatureEnabled(securityConf?.sqlInjection)) {
87
88
  const defaultSqliOpts = {
88
89
  enabled: true,
89
90
  blockOnDetection: true,
@@ -105,7 +106,7 @@ function buildSqliArgs(securityConf, args) {
105
106
  }
106
107
  }
107
108
  function buildCmdInjectArgs(securityConf, args) {
108
- if (securityConf?.commandInjection) {
109
+ if (isFeatureEnabled(securityConf?.commandInjection)) {
109
110
  const defaultCmdInjectOpts = {
110
111
  enabled: true,
111
112
  blockOnDetection: true,
@@ -129,7 +130,7 @@ function buildCmdInjectArgs(securityConf, args) {
129
130
  }
130
131
  }
131
132
  function buildPathTraversalArgs(securityConf, args) {
132
- if (securityConf?.pathTraversal) {
133
+ if (isFeatureEnabled(securityConf?.pathTraversal)) {
133
134
  const defaultPathTraversalOpts = {
134
135
  enabled: true,
135
136
  blockOnDetection: true,
@@ -153,7 +154,7 @@ function buildPathTraversalArgs(securityConf, args) {
153
154
  }
154
155
  }
155
156
  function buildLdapInjectArgs(securityConf, args) {
156
- if (securityConf?.ldapInjection) {
157
+ if (isFeatureEnabled(securityConf?.ldapInjection)) {
157
158
  const defaultLdapInjectOpts = {
158
159
  enabled: true,
159
160
  blockOnDetection: true,
@@ -1 +1 @@
1
- {"version":3,"file":"injectionBuilders.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/injectionBuilders.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":"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"}
1
+ {"version":3,"file":"injectionBuilders.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/injectionBuilders.ts"],"sourcesContent":[null],"names":["Configs"],"mappings":";;;;;;AAKM,SAAU,YAAY,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC1D,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE;AACrC,QAAA,MAAM,cAAc,GAAG;AACnB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,SAAS,EAAE;AACP,gBAAA,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;AACpB,gBAAA,CAAC,EAAE,EAAE;AACL,gBAAA,CAAC,EAAE,EAAE;AACL,gBAAA,MAAM,EAAE,EAAE;AACV,gBAAA,EAAE,EAAE,EAAE;AACT,aAAA;AACD,YAAA,OAAO,EAAE,iCAAiC;AAC1C,YAAA,UAAU,EAAE,GAAG;SAClB;AAED,QAAA,IAAI,WAAW,GACX,OAAO,YAAY,CAAC,GAAG,KAAK,QAAQ,GAAG,YAAY,CAAC,GAAG,GAAG,EAAE;QAChE,IAAI,YAAY,GAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE;AAC7D,QAAA,IAAI,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE;YAChC,YAAY,CAAC,WAAW,GAAG;gBACvB,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAC7C;gBACD,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAC7C;aACJ;QACL;QAEA,IAAI,CAAC,IAAI,CACL,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC3D;IACL;AACJ;AAEM,SAAU,6BAA6B,CAAC,QAAa,EAAE,IAAc,EAAA;AACvE,IAAA,MAAM,oBAAoB,GACtB,QAAQ,EAAE,oBAAoB,IAAIA,oBAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;AACzE,IAAA,IAAI,gBAAgB,CAAC,oBAAoB,CAAC,EAAE;QACxC,IAAI,CAAC,IAAI,CACL,qCAAqC,EACrC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACnE;IACL;AACJ;AAEM,SAAU,YAAY,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC1D,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE;AACrC,QAAA,MAAM,cAAc,GAAG;AACnB,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,SAAS,EAAE,EAAE;SAChB;AACD,QAAA,IAAI,WAAW,GACX,OAAO,YAAY,CAAC,GAAG,KAAK,QAAQ,GAAG,YAAY,CAAC,GAAG,GAAG,EAAE;QAChE,IAAI,YAAY,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE;QACxD,IAAI,CAAC,IAAI,CACL,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC3D;IACL;AACJ;AAEM,SAAU,YAAY,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC1D,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE;AACrC,QAAA,MAAM,cAAc,GAAG;AACnB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,iCAAiC;AAC1C,YAAA,UAAU,EAAE,GAAG;SAClB;AACD,QAAA,IAAI,WAAW,GACX,OAAO,YAAY,CAAC,GAAG,KAAK,QAAQ,GAAG,YAAY,CAAC,GAAG,GAAG,EAAE;QAChE,IAAI,YAAY,GAAQ,EAAE,GAAG,cAAc,EAAE,GAAG,WAAW,EAAE;AAC7D,QAAA,IAAI,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE;YAChC,YAAY,CAAC,WAAW,GAAG;gBACvB,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAC7C;gBACD,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAC7C;aACJ;QACL;QACA,IAAI,CAAC,IAAI,CACL,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC3D;IACL;AACJ;AAEM,SAAU,iBAAiB,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC/D,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE;AAC1C,QAAA,MAAM,mBAAmB,GAAG;AACxB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,OAAO,EAAE,GAAG;AACZ,YAAA,UAAU,EAAE,KAAK;SACpB;AACD,QAAA,IAAI,gBAAgB,GAChB,OAAO,YAAY,CAAC,QAAQ,KAAK;cAC3B,YAAY,CAAC;cACb,EAAE;QACZ,IAAI,iBAAiB,GAAG,EAAE,GAAG,mBAAmB,EAAE,GAAG,gBAAgB,EAAE;QACvE,IAAI,CAAC,IAAI,CACL,wBAAwB,EACxB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAChE;IACL;AACJ;AAEM,SAAU,aAAa,CAAC,YAAiB,EAAE,IAAc,EAAA;AAC3D,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE;AAC9C,QAAA,MAAM,eAAe,GAAG;AACpB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,OAAO,EAAE,oCAAoC;AAC7C,YAAA,UAAU,EAAE,GAAG;SAClB;AACD,QAAA,IAAI,YAAY,GACZ,OAAO,YAAY,CAAC,YAAY,KAAK;cAC/B,YAAY,CAAC;cACb,EAAE;QACZ,IAAI,aAAa,GAAQ,EAAE,GAAG,eAAe,EAAE,GAAG,YAAY,EAAE;AAChE,QAAA,IAAI,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE;YACzC,aAAa,CAAC,WAAW,GAAG;gBACxB,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CACtD;gBACD,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CACtD;aACJ;QACL;QACA,IAAI,CAAC,IAAI,CACL,oBAAoB,EACpB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC5D;IACL;AACJ;AAEM,SAAU,kBAAkB,CAAC,YAAiB,EAAE,IAAc,EAAA;AAChE,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE;AAClD,QAAA,MAAM,oBAAoB,GAAG;AACzB,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,wCAAwC;AACjD,YAAA,UAAU,EAAE,GAAG;SAClB;AACD,QAAA,IAAI,iBAAiB,GACjB,OAAO,YAAY,CAAC,gBAAgB,KAAK;cACnC,YAAY,CAAC;cACb,EAAE;AACZ,QAAA,IAAI,kBAAkB,GAAQ;AAC1B,YAAA,GAAG,oBAAoB;AACvB,YAAA,GAAG,iBAAiB;SACvB;AACD,QAAA,IAAI,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE;YAC7C,kBAAkB,CAAC,WAAW,GAAG;gBAC7B,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAC1D;gBACD,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAC1D;aACJ;QACL;QACA,IAAI,CAAC,IAAI,CACL,0BAA0B,EAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACjE;IACL;AACJ;AAEM,SAAU,sBAAsB,CAAC,YAAiB,EAAE,IAAc,EAAA;AACpE,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;AAC/C,QAAA,MAAM,wBAAwB,GAAG;AAC7B,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,qCAAqC;AAC9C,YAAA,UAAU,EAAE,GAAG;SAClB;AACD,QAAA,IAAI,qBAAqB,GACrB,OAAO,YAAY,CAAC,aAAa,KAAK;cAChC,YAAY,CAAC;cACb,EAAE;AACZ,QAAA,IAAI,sBAAsB,GAAQ;AAC9B,YAAA,GAAG,wBAAwB;AAC3B,YAAA,GAAG,qBAAqB;SAC3B;AACD,QAAA,IAAI,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;YAC1C,sBAAsB,CAAC,WAAW,GAAG;gBACjC,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CACvD;gBACD,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CACvD;aACJ;QACL;QACA,IAAI,CAAC,IAAI,CACL,8BAA8B,EAC9B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACrE;IACL;AACJ;AAEM,SAAU,mBAAmB,CAAC,YAAiB,EAAE,IAAc,EAAA;AACjE,IAAA,IAAI,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE;AAC/C,QAAA,MAAM,qBAAqB,GAAG;AAC1B,YAAA,OAAO,EAAE,IAAI;AACb,YAAA,gBAAgB,EAAE,IAAI;AACtB,YAAA,OAAO,EAAE,qCAAqC;AAC9C,YAAA,UAAU,EAAE,GAAG;SAClB;AACD,QAAA,IAAI,kBAAkB,GAClB,OAAO,YAAY,CAAC,aAAa,KAAK;cAChC,YAAY,CAAC;cACb,EAAE;AACZ,QAAA,IAAI,mBAAmB,GAAQ;AAC3B,YAAA,GAAG,qBAAqB;AACxB,YAAA,GAAG,kBAAkB;SACxB;AACD,QAAA,IAAI,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE;YAC1C,mBAAmB,CAAC,WAAW,GAAG;gBAC9B,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CACvD;gBACD,aAAa,EAAE,oBAAoB,CAC/B,YAAY,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CACvD;aACJ;QACL;QACA,IAAI,CAAC,IAAI,CACL,2BAA2B,EAC3B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAClE;IACL;AACJ;;;;"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Helper utility to determine whether a feature configuration module is enabled.
3
+ * Returns false if conf is false, null, undefined, or an object with `enabled: false`.
4
+ * Returns true if conf is true or a truthy object where `enabled` is not false.
5
+ */
6
+ function isFeatureEnabled(conf) {
7
+ if (conf === false || conf === null || conf === undefined)
8
+ return false;
9
+ if (conf === true)
10
+ return true;
11
+ if (typeof conf === "object") {
12
+ if (conf.enabled === false)
13
+ return false;
14
+ return true;
15
+ }
16
+ return false;
17
+ }
18
+
19
+ export { isFeatureEnabled };
20
+ //# sourceMappingURL=isFeatureEnabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isFeatureEnabled.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/isFeatureEnabled.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;AAIG;AACG,SAAU,gBAAgB,CAAC,IAAS,EAAA;IACtC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;AAAE,QAAA,OAAO,KAAK;IACvE,IAAI,IAAI,KAAK,IAAI;AAAE,QAAA,OAAO,IAAI;AAC9B,IAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC1B,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;AAAE,YAAA,OAAO,KAAK;AACxC,QAAA,OAAO,IAAI;IACf;AACA,IAAA,OAAO,KAAK;AAChB;;;;"}
@@ -1,18 +1,21 @@
1
+ import { isFeatureEnabled } from './isFeatureEnabled.js';
2
+
1
3
  function buildResilienceArgs(rmconf, args) {
2
4
  // Circuit breaker
3
5
  const cb = rmconf?.resilience?.circuitBreaker;
4
- if (cb) {
5
- if (cb.enabled)
6
- args.push("--breaker-enabled");
6
+ if (isFeatureEnabled(cb)) {
7
+ args.push("--breaker-enabled");
7
8
  if (cb.failureThreshold)
8
9
  args.push("--breaker-threshold", cb.failureThreshold.toString());
9
10
  if (cb.resetTimeout)
10
11
  args.push("--breaker-timeout", Math.ceil(cb.resetTimeout / 1000).toString());
11
12
  }
12
13
  // Retry
13
- if (rmconf?.resilience?.retryEnabled) {
14
- args.push("--retry-max", (rmconf.resilience.maxRetries || 3).toString());
15
- args.push("--retry-delay", (rmconf.resilience.retryDelay || 100).toString());
14
+ const retryConf = rmconf?.resilience?.retry;
15
+ const retryEnabled = rmconf?.resilience?.retryEnabled || isFeatureEnabled(retryConf);
16
+ if (retryEnabled) {
17
+ args.push("--retry-max", (rmconf?.resilience?.maxRetries || retryConf?.maxRetries || 3).toString());
18
+ args.push("--retry-delay", (rmconf?.resilience?.retryDelay || retryConf?.retryDelay || 100).toString());
16
19
  }
17
20
  }
18
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"resilienceBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,SAAU,mBAAmB,CAAC,MAAW,EAAE,IAAc,EAAA;;AAE3D,IAAA,MAAM,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,cAAc;IAC7C,IAAI,EAAE,EAAE;QACJ,IAAI,EAAE,CAAC,OAAO;AAAE,YAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC9C,IAAI,EAAE,CAAC,gBAAgB;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACpE,IAAI,EAAE,CAAC,YAAY;AACf,YAAA,IAAI,CAAC,IAAI,CACL,mBAAmB,EACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAC/C;IACT;;AAGA,IAAA,IAAI,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE;AAClC,QAAA,IAAI,CAAC,IAAI,CACL,aAAa,EACb,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,CACjD;AACD,QAAA,IAAI,CAAC,IAAI,CACL,eAAe,EACf,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,IAAI,GAAG,EAAE,QAAQ,EAAE,CACnD;IACL;AACJ;;;;"}
1
+ {"version":3,"file":"resilienceBuilder.js","sources":["../../../../../../../../src/server/core/XHSCBridge/cmd/builders/resilienceBuilder.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEM,SAAU,mBAAmB,CAAC,MAAW,EAAE,IAAc,EAAA;;AAE3D,IAAA,MAAM,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,cAAc;AAC7C,IAAA,IAAI,gBAAgB,CAAC,EAAE,CAAC,EAAE;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC;QAC9B,IAAI,EAAE,CAAC,gBAAgB;AACnB,YAAA,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACpE,IAAI,EAAE,CAAC,YAAY;AACf,YAAA,IAAI,CAAC,IAAI,CACL,mBAAmB,EACnB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAC/C;IACT;;AAGA,IAAA,MAAM,SAAS,GAAG,MAAM,EAAE,UAAU,EAAE,KAAK;AAC3C,IAAA,MAAM,YAAY,GACd,MAAM,EAAE,UAAU,EAAE,YAAY,IAAI,gBAAgB,CAAC,SAAS,CAAC;IACnE,IAAI,YAAY,EAAE;QACd,IAAI,CAAC,IAAI,CACL,aAAa,EACb,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,CAC5E;QACD,IAAI,CAAC,IAAI,CACL,eAAe,EACf,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,EAAE,UAAU,IAAI,GAAG,EAAE,QAAQ,EAAE,CAC9E;IACL;AACJ;;;;"}
package/dist/index.d.ts CHANGED
@@ -9413,14 +9413,10 @@ interface RoutRateLimit {
9413
9413
  statusCode?: number;
9414
9414
  /** Key extractor — defaults to IP */
9415
9415
  keyBy?: "ip" | "user" | ((req: XyPrisRequest$1, res?: XyPrisResponse$1) => string);
9416
- /** XTRS (Temporal Rate Shield) advanced multi-window options */
9417
- xtrs?: XtrsOptions;
9418
- /** XTRS rules shorthand array */
9419
- rules?: XtrsRuleInput[];
9420
- /** XTRS block duration e.g. "20s" or ms */
9421
- blockDuration?: string | number;
9422
- /** XTRS block duration in milliseconds */
9423
- blockDurationMs?: number;
9416
+ /** XTRS (Temporal Rate Shield) advanced multi-window options or shorthand rule(s)
9417
+ * @see https://xypriss.nehonix.com/docs/security/xtrs-rate-limiting
9418
+ */
9419
+ xtrs?: XtrsOptions | string | XtrsRuleInput[];
9424
9420
  }
9425
9421
  /** Rate limit input options for routes and route groups */
9426
9422
  type RoutRateLimitInput = string | RoutRateLimit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xypriss",
3
- "version": "9.12.28",
3
+ "version": "9.12.30",
4
4
  "description": "XyPriss is a high-performance, TypeScript-first hyper-system web framework powered by a native Go core (XHSC), featuring robust multi-tenant sandboxing, secure native file streaming, and zero Express dependencies.",
5
5
  "author": {
6
6
  "DEV.to": "https://dev.to/nehonix",