xypriss 2.0.0 → 2.1.0
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 +170 -380
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js +10 -0
- package/dist/cjs/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js +10 -0
- package/dist/cjs/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/cjs/mods/security/src/components/cache/index.js +10 -2
- package/dist/cjs/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/cjs/mods/security/src/components/fortified-function/index.js +9 -0
- package/dist/cjs/mods/security/src/components/fortified-function/index.js.map +1 -1
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
- package/dist/cjs/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
- package/dist/cjs/mods/security/src/core/crypto.js +14 -0
- package/dist/cjs/mods/security/src/core/crypto.js.map +1 -1
- package/dist/cjs/mods/security/src/index.js +10 -1
- package/dist/cjs/mods/security/src/index.js.map +1 -1
- package/dist/cjs/shared/logger/Logger.js +372 -29
- package/dist/cjs/shared/logger/Logger.js.map +1 -1
- package/dist/cjs/src/cluster/bun-cluster-manager.js +91 -1
- package/dist/cjs/src/cluster/bun-cluster-manager.js.map +1 -1
- package/dist/cjs/src/cluster/cluster-manager.js +15 -3
- package/dist/cjs/src/cluster/cluster-manager.js.map +1 -1
- package/dist/cjs/src/cluster/modules/AutoScaler.js +4 -4
- package/dist/cjs/src/cluster/modules/AutoScaler.js.map +1 -1
- package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js +2 -2
- package/dist/cjs/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
- package/dist/cjs/src/cluster/modules/EventLoopMonitor.js +270 -0
- package/dist/cjs/src/cluster/modules/EventLoopMonitor.js.map +1 -0
- package/dist/cjs/src/cluster/modules/GCStatsTracker.js +200 -0
- package/dist/cjs/src/cluster/modules/GCStatsTracker.js.map +1 -0
- package/dist/cjs/src/cluster/modules/HeapStatsCollector.js +111 -0
- package/dist/cjs/src/cluster/modules/HeapStatsCollector.js.map +1 -0
- package/dist/cjs/src/cluster/modules/NetworkTracker.js +162 -0
- package/dist/cjs/src/cluster/modules/NetworkTracker.js.map +1 -0
- package/dist/cjs/src/cluster/modules/ThroughputCalculator.js +186 -0
- package/dist/cjs/src/cluster/modules/ThroughputCalculator.js.map +1 -0
- package/dist/cjs/src/cluster/modules/WorkerManager.js +14 -15
- package/dist/cjs/src/cluster/modules/WorkerManager.js.map +1 -1
- package/dist/cjs/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
- package/dist/cjs/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
- package/dist/cjs/src/middleware/built-in/sqlInjection.js +335 -0
- package/dist/cjs/src/middleware/built-in/sqlInjection.js.map +1 -0
- package/dist/cjs/src/middleware/safe-json-middleware.js +1 -1
- package/dist/cjs/src/middleware/safe-json-middleware.js.map +1 -1
- package/dist/cjs/src/middleware/security-middleware.js +447 -332
- package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
- package/dist/cjs/src/plugins/modules/index.js +9 -3
- package/dist/cjs/src/plugins/modules/index.js.map +1 -1
- package/dist/cjs/src/server/FastServer.js +41 -1
- package/dist/cjs/src/server/FastServer.js.map +1 -1
- package/dist/cjs/src/server/ServerFactory.js +62 -2
- package/dist/cjs/src/server/ServerFactory.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js +32 -6
- package/dist/cjs/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js +206 -0
- package/dist/cjs/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
- package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +3 -28
- package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +265 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
- package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js +143 -24
- package/dist/cjs/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
- package/dist/cjs/src/server/const/default.js +23 -9
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/server/core/HttpServer.js +8 -8
- package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
- package/dist/cjs/src/server/core/XyprissApp.js +284 -17
- package/dist/cjs/src/server/core/XyprissApp.js.map +1 -1
- package/dist/cjs/src/server/handlers/NotFoundHandler.js +1 -1
- package/dist/cjs/src/server/handlers/NotFoundHandler.js.map +1 -1
- package/dist/cjs/src/server/middleware/MiddlewareManager.js +57 -12
- package/dist/cjs/src/server/middleware/MiddlewareManager.js.map +1 -1
- package/dist/cjs/src/server/utils/forceClosePort.js +1 -1
- package/dist/cjs/src/server/utils/forceClosePort.js.map +1 -1
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js +10 -0
- package/dist/esm/mods/security/src/algorithms/hash-algorithms.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js +10 -0
- package/dist/esm/mods/security/src/components/cache/cacheSys.utils.js.map +1 -1
- package/dist/esm/mods/security/src/components/cache/index.js +10 -2
- package/dist/esm/mods/security/src/components/cache/index.js.map +1 -1
- package/dist/esm/mods/security/src/components/fortified-function/index.js +9 -0
- package/dist/esm/mods/security/src/components/fortified-function/index.js.map +1 -1
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js +10 -0
- package/dist/esm/mods/security/src/components/fortified-function/security/security-handler.js.map +1 -1
- package/dist/esm/mods/security/src/core/crypto.js +14 -0
- package/dist/esm/mods/security/src/core/crypto.js.map +1 -1
- package/dist/esm/mods/security/src/index.js +10 -1
- package/dist/esm/mods/security/src/index.js.map +1 -1
- package/dist/esm/shared/logger/Logger.js +372 -29
- package/dist/esm/shared/logger/Logger.js.map +1 -1
- package/dist/esm/src/cluster/bun-cluster-manager.js +91 -1
- package/dist/esm/src/cluster/bun-cluster-manager.js.map +1 -1
- package/dist/esm/src/cluster/cluster-manager.js +15 -3
- package/dist/esm/src/cluster/cluster-manager.js.map +1 -1
- package/dist/esm/src/cluster/modules/AutoScaler.js +4 -4
- package/dist/esm/src/cluster/modules/AutoScaler.js.map +1 -1
- package/dist/esm/src/cluster/modules/CrossPlatformMemory.js +2 -2
- package/dist/esm/src/cluster/modules/CrossPlatformMemory.js.map +1 -1
- package/dist/esm/src/cluster/modules/EventLoopMonitor.js +268 -0
- package/dist/esm/src/cluster/modules/EventLoopMonitor.js.map +1 -0
- package/dist/esm/src/cluster/modules/GCStatsTracker.js +198 -0
- package/dist/esm/src/cluster/modules/GCStatsTracker.js.map +1 -0
- package/dist/esm/src/cluster/modules/HeapStatsCollector.js +109 -0
- package/dist/esm/src/cluster/modules/HeapStatsCollector.js.map +1 -0
- package/dist/esm/src/cluster/modules/NetworkTracker.js +160 -0
- package/dist/esm/src/cluster/modules/NetworkTracker.js.map +1 -0
- package/dist/esm/src/cluster/modules/ThroughputCalculator.js +184 -0
- package/dist/esm/src/cluster/modules/ThroughputCalculator.js.map +1 -0
- package/dist/esm/src/cluster/modules/WorkerManager.js +14 -14
- package/dist/esm/src/cluster/modules/WorkerManager.js.map +1 -1
- package/dist/esm/src/cluster/modules/{LoadBalancer.js → strategy/LoadBalancer.js} +1 -1
- package/dist/esm/src/cluster/modules/strategy/LoadBalancer.js.map +1 -0
- package/dist/esm/src/middleware/built-in/sqlInjection.js +333 -0
- package/dist/esm/src/middleware/built-in/sqlInjection.js.map +1 -0
- package/dist/esm/src/middleware/safe-json-middleware.js +1 -1
- package/dist/esm/src/middleware/safe-json-middleware.js.map +1 -1
- package/dist/esm/src/middleware/security-middleware.js +447 -332
- package/dist/esm/src/middleware/security-middleware.js.map +1 -1
- package/dist/esm/src/plugins/modules/index.js +9 -3
- package/dist/esm/src/plugins/modules/index.js.map +1 -1
- package/dist/esm/src/server/FastServer.js +41 -1
- package/dist/esm/src/server/FastServer.js.map +1 -1
- package/dist/esm/src/server/ServerFactory.js +62 -2
- package/dist/esm/src/server/ServerFactory.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js +32 -6
- package/dist/esm/src/server/components/fastapi/ClusterManagerComponent.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js +204 -0
- package/dist/esm/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
- package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +2 -27
- package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
- package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js +263 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPoolManager.js.map +1 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/Logger.js +236 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/cpu-tasks.js +294 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/enhanced-cpu-worker.js +433 -0
- package/dist/esm/src/server/components/fastapi/modules/UFRP/workers/io-worker.js +1615 -0
- package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js +143 -24
- package/dist/esm/src/server/components/lifecycle/ServerLifecycleManager.js.map +1 -1
- package/dist/esm/src/server/const/default.js +23 -9
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/server/core/HttpServer.js +8 -8
- package/dist/esm/src/server/core/HttpServer.js.map +1 -1
- package/dist/esm/src/server/core/XyprissApp.js +284 -17
- package/dist/esm/src/server/core/XyprissApp.js.map +1 -1
- package/dist/esm/src/server/handlers/NotFoundHandler.js +1 -1
- package/dist/esm/src/server/handlers/NotFoundHandler.js.map +1 -1
- package/dist/esm/src/server/middleware/MiddlewareManager.js +57 -12
- package/dist/esm/src/server/middleware/MiddlewareManager.js.map +1 -1
- package/dist/esm/src/server/utils/forceClosePort.js +1 -1
- package/dist/esm/src/server/utils/forceClosePort.js.map +1 -1
- package/dist/index.d.ts +675 -516
- package/package.json +10 -11
- package/dist/cjs/src/cluster/index.js +0 -361
- package/dist/cjs/src/cluster/index.js.map +0 -1
- package/dist/cjs/src/cluster/modules/ClusterFactory.js +0 -539
- package/dist/cjs/src/cluster/modules/ClusterFactory.js.map +0 -1
- package/dist/cjs/src/cluster/modules/LoadBalancer.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -668
- package/dist/cjs/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -347
- package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -204
- package/dist/cjs/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js +0 -953
- package/dist/cjs/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -56
- package/dist/cjs/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
- package/dist/esm/src/cluster/index.js +0 -339
- package/dist/esm/src/cluster/index.js.map +0 -1
- package/dist/esm/src/cluster/modules/ClusterFactory.js +0 -511
- package/dist/esm/src/cluster/modules/ClusterFactory.js.map +0 -1
- package/dist/esm/src/cluster/modules/LoadBalancer.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js +0 -647
- package/dist/esm/src/server/components/fastapi/UltraFastRequestProcessor.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js +0 -345
- package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareAPI.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js +0 -202
- package/dist/esm/src/server/components/fastapi/middlewares/MiddlewareMethodsManager.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js +0 -951
- package/dist/esm/src/server/components/fastapi/middlewares/middlewareManager.js.map +0 -1
- package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js +0 -54
- package/dist/esm/src/server/components/fastapi/modules/UFRP/WorkerPool.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UltraFastRequestProcessor.js","sources":["../../../../../../src/server/components/fastapi/UltraFastRequestProcessor.ts"],"sourcesContent":[null],"names":["WorkerPool","os","PerformanceMonitor","createHash","readCache","writeCache","getCacheStats"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAGG;MA2BU,yBAAyB,CAAA;AA2BlC,IAAA,WAAA,CACI,MAAmE,EAAA;AAzB/D,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,GAAG,EAAmC,CAAC;AAC7D,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;AACnD,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,GAAG,EAG7B,CAAC;AAEI,QAAA,IAAA,CAAA,KAAK,GAAG;AACZ,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,aAAa,EAAE,CAAC;AAChB,YAAA,kBAAkB,EAAE,CAAC;AACrB,YAAA,cAAc,EAAE,CAAC;AACjB,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,iBAAiB,EAAE,CAAC;AACpB,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,kBAAkB,EAAE,CAAC;SACxB,CAAC;QAGM,IAAS,CAAA,SAAA,GAAqB,EAAE,CAAC;QACjC,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;QAM3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC7C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,kBAAkB,IAAI,IAAI,CAAC;;AAGtE,QAAA,IAAI,CAAC,UAAU,GAAG,IAAIA,qBAAU,CAAC;AAC7B,YAAA,GAAG,EACC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG;AACxB,gBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAACC,aAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACnD,YAAA,EAAE,EACE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;AACvB,gBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAACA,aAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YACnD,kBAAkB,EAAE,IAAI,CAAC,cAAc;AAC1C,SAAA,CAAC,CAAC;;AAGH,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAIC,qCAAkB,CAAC;AAC7C,YAAA,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW;;AAE7B,SAAA,CAAC,CAAC;;QAGH,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE;YACjC,IAAI,CAAC,6BAA6B,EAAE,CAAC;SACxC;;QAGD,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAChC;AAEO,IAAA,iBAAiB,CACrB,MAAmE,EAAA;AAEnE,QAAA,MAAM,QAAQ,GACV,MAAM,KAAK,YAAY,IAAI,MAAM,IAAI,WAAW,IAAI,MAAM,CAAC,CAAC;QAEhE,IAAI,QAAQ,EAAE;AACV,YAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAgC,CAAC,CAAC;SACrE;AAED,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAC3B,MAA2C,CAC9C,CAAC;KACL;AAEO,IAAA,mBAAmB,CACvB,MAA8B,EAAA;QAE9B,OAAO;AACH,YAAA,KAAK,EAAE;AACH,gBAAA,OAAO,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;AACrC,gBAAA,UAAU,EAAE,MAAM,CAAC,QAAQ,IAAI,MAAM;AACrC,gBAAA,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,IAAI,IAAI;AACnD,gBAAA,oBAAoB,EAAE,IAAI;AAC7B,aAAA;AACD,YAAA,WAAW,EAAE;AACT,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,OAAO,EAAE;oBACL,KAAK;oBACL,QAAQ;oBACR,cAAc;oBACd,UAAU;oBACV,QAAQ;AACX,iBAAA;gBACD,QAAQ,EAAE,KAAK;AACf,gBAAA,MAAM,EAAE,EAAE;AACb,aAAA;AACD,YAAA,OAAO,EAAE;gBACL,GAAG,EACC,MAAM,CAAC,UAAU;AACjB,oBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAACD,aAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;gBACnD,EAAE,EACE,MAAM,CAAC,SAAS;AAChB,oBAAA,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAACA,aAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACnD,gBAAA,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,IAAI;AACxD,aAAA;AACD,YAAA,UAAU,EAAE;AACR,gBAAA,OAAO,EAAE,MAAM,CAAC,gBAAgB,IAAI,IAAI;gBACxC,oBAAoB,EAAE,OAAO;gBAC7B,gBAAgB,EAAE,MAAM;gBACxB,mBAAmB,EAAE,EAAE;AAC1B,aAAA;SACJ,CAAC;KACL;AAEO,IAAA,mBAAmB,CACvB,QAA4C,EAAA;QAE5C,MAAM,QAAQ,GAAGA,aAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;AAClC,QAAA,MAAM,QAAQ,GAA6B;AACvC,YAAA,KAAK,EAAE;AACH,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,UAAU,EAAE,MAAM;AAClB,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,oBAAoB,EAAE,IAAI;AAC7B,aAAA;AACD,YAAA,WAAW,EAAE;AACT,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,OAAO,EAAE;oBACL,KAAK;oBACL,QAAQ;oBACR,cAAc;oBACd,UAAU;oBACV,QAAQ;AACX,iBAAA;AACD,gBAAA,QAAQ,EAAE,KAAK;AACf,gBAAA,MAAM,EAAE,EAAE;AACb,aAAA;AACD,YAAA,OAAO,EAAE;AACL,gBAAA,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AAC5C,gBAAA,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC;AAC3C,gBAAA,kBAAkB,EAAE,IAAI;AAC3B,aAAA;AACD,YAAA,UAAU,EAAE;AACR,gBAAA,OAAO,EAAE,IAAI;AACb,gBAAA,oBAAoB,EAAE,OAAO;AAC7B,gBAAA,gBAAgB,EAAE,MAAM;AACxB,gBAAA,mBAAmB,EAAE,EAAE;AAC1B,aAAA;SACJ,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC;KACnD;IAEO,SAAS,CAAC,MAAW,EAAE,MAAW,EAAA;AACtC,QAAA,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;AAC7B,QAAA,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,IACI,MAAM,CAAC,GAAG,CAAC;AACX,gBAAA,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ;gBAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAC7B;gBACE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;aAChE;iBAAM;gBACH,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;aAC7B;SACJ;AACD,QAAA,OAAO,MAAM,CAAC;KACjB;IAEO,6BAA6B,GAAA;AACjC,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAK;AAC9B,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAChC;SACJ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,gBAAgB,IAAI,MAAM,CAAC,CAAC;AAEvD,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACjC;IAEO,qBAAqB,GAAA;;AAEzB,QAAA,MAAM,cAAc,GAAG,WAAW,CAAC,MAAK;AACpC,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC7B;AACL,SAAC,EAAE,MAAM,CAAC,CAAC;;AAGX,QAAA,MAAM,cAAc,GAAG,WAAW,CAAC,MAAK;AACpC,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAClC;AACL,SAAC,EAAE,KAAK,CAAC,CAAC;QAEV,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;KACvD;IAEO,sBAAsB,GAAA;AAC1B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5D,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,QAAQ,EAAE;AAC1C,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;YAC/D,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;YAC7C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;;AAG5D,YAAA,OAAO,CAAC,WAAW;gBACf,OAAO,CAAC,KAAK,GAAG,CAAC;AACb,sBAAE,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK;wBACrD,GAAG;sBACH,GAAG,CAAC;SACjB;;AAGD,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;KAChC;AAEO,IAAA,0BAA0B,CAC9B,OAAgC,EAAA;AAEhC,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC;AAC9D,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;AACzC,QAAA,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;AAC1D,QAAA,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,GAAG,CAAC;QAC9C,MAAM,kBAAkB,GACpB,CAAC;AACD,YAAA,IAAI,CAAC,GAAG,CACJ,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,EACxD,CAAC,CACJ,CAAC;AAEN,QAAA,QACI,CAAC,OAAO,CAAC,KAAK;YACV,SAAS;YACT,KAAK;YACL,WAAW;AACX,YAAA,kBAAkB;AACtB,YAAA,OAAO,EACT;KACL;AAEO,IAAA,aAAa,CAAC,QAA6C,EAAA;AAC/D,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,QAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,WAAW;YAAE,OAAO;;QAG3C,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACvD,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;AAElE,QAAA,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACpC;KACJ;IAEO,qBAAqB,GAAA;AACzB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC;AAExB,QAAA,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;AAC5D,YAAA,IAAI,OAAO,CAAC,MAAM,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,EAAE;AACzD,gBAAA,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;AACvB,gBAAA,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;aACxB;SACJ;KACJ;IAEO,kBAAkB,GAAA;AACtB,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,aAAa,GACf,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,oBAAoB,IAAI,OAAO,CAAC;AAG5D,QAAA,KAAK,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE;YAChE,IAAI,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,aAAa,EAAE;AACxC,gBAAA,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;aAE3C;SACJ;;AAGD,QAAA,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YAC5D,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,GAAG,aAAa,EAAE;AAC3C,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACvC;SACJ;KACJ;IAEO,uBAAuB,GAAA;AAC3B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,QAAA,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE;YAC1D,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,GAAG,MAAM,EAAE;AAClC,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,gBAAA,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACpC,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,CACpC,CAAC;aACL;SACJ;KACJ;IAEM,UAAU,GAAA;QACb,OAAO,OACH,GAAY,EACZ,GAAa,EACb,IAAkB,KACH;AACf,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;gBACzD,OAAO;aACV;;YAGD,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,IAAI,IAAI,CAAC,cAAc,EAAE;AACtD,gBAAA,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;gBAChE,OAAO;aACV;AAED,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;AAC3C,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC7B,YAAA,MAAM,OAAO,GAAmB;gBAC5B,SAAS;AACT,gBAAA,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC;AAC7C,gBAAA,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;AAClC,gBAAA,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC;AAC5C,gBAAA,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;AACzC,gBAAA,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;aACxC,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5C,YAAA,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;AAChC,YAAA,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CACjC,IAAI,CAAC,KAAK,CAAC,eAAe,EAC1B,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAChC,CAAC;AAEF,YAAA,IAAI;;gBAEA,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACrC,oBAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;iBAC3C;;gBAGD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC3D,IAAI,YAAY,EAAE;AACd,oBAAA,MAAM,IAAI,CAAC,kBAAkB,CACzB,GAAG,EACH,YAAY,EACZ,SAAS,EACT,OAAO,CACV,CAAC;oBACF,OAAO;iBACV;;gBAGD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;;AAGhE,gBAAA,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;oBAC5B,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACjD,oBAAA,MAAM,IAAI,CAAC,qBAAqB,CAC5B,GAAG,EACH,MAAM,EACN,SAAS,EACT,OAAO,CACV,CAAC;iBACL;AAAM,qBAAA,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;;AAEzB,oBAAA,IAAI,EAAE,CAAC;oBACP,OAAO;iBACV;AAED,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;aACvD;YAAC,OAAO,KAAK,EAAE;AACZ,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;AAC3D,gBAAA,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;oBAClB,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;iBACjD;aACJ;oBAAS;AACN,gBAAA,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACtC,gBAAA,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CACpC,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,CACpC,CAAC;aACL;AACL,SAAC,CAAC;KACL;IAEO,iBAAiB,GAAA;QACrB,OAAO,CAAA,IAAA,EAAO,IAAI,CAAC,GAAG,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,MAAM,EAAE;aACpC,QAAQ,CAAC,EAAE,CAAC;AACZ,aAAA,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;KAC3B;AAEO,IAAA,yBAAyB,CAAC,GAAY,EAAA;;AAE1C,QAAA,MAAM,QAAQ,GAAG;AACb,YAAA,GAAG,CAAC,MAAM;AACV,YAAA,GAAG,CAAC,IAAI;AACR,YAAA,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE;SACpC,CAAC;;AAGF,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3D,YAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;SAC5C;QAED,OAAOE,iBAAU,CAAC,QAAQ,CAAC;AACtB,aAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,aAAA,MAAM,CAAC,WAAW,CAAC,CAAC;KAC5B;IAEO,MAAM,QAAQ,CAAC,QAAgB,EAAA;AACnC,QAAA,IAAI;AACA,YAAA,MAAM,MAAM,GAAG,MAAMC,eAAS,CAAC,QAAQ,CAAC,CAAC;AACzC,YAAA,IACI,MAAM;gBACN,OAAO,MAAM,KAAK,QAAQ;gBAC1B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAChC;AACE,gBAAA,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;AACvB,gBAAA,OAAO,MAAM,CAAC;aACjB;SACJ;QAAC,OAAO,KAAK,EAAE;;SAEf;AAED,QAAA,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;AACzB,QAAA,OAAO,IAAI,CAAC;KACf;AAEO,IAAA,MAAM,uBAAuB,CACjC,GAAY,EACZ,OAAuB,EAAA;AAEvB,SAAuB;AACnB,YAAA,EAAE,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC5B,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;AAC9B,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACrB,YAAA,IAAI,EAAE;gBACF,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC;AAC7C,aAAA;WACH;;;AAIF,QAAA,OAAO,IAAI,CAAC;KACf;AAEO,IAAA,oBAAoB,CAAC,EAAU,EAAA;QACnC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,KAAI;AAC7B,YAAA,UAAU,CAAC,MAAM,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/D,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,MAAM,WAAW,CAAC,QAAgB,EAAE,MAAW,EAAA;AACnD,QAAA,IAAI;AACA,YAAA,MAAMC,gBAAU,CAAC,QAAQ,EAAE,MAAM,EAAE;gBAC/B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,IAAI,MAAM;AAC/C,aAAA,CAAC,CAAC;SACN;QAAC,OAAO,KAAK,EAAE;;AAEZ,YAAA,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;SAC9C;KACJ;IAEO,MAAM,kBAAkB,CAC5B,GAAa,EACb,MAAW,EACX,SAAiB,EACjB,OAAuB,EAAA;QAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;AACpD,QAAA,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAChC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAG,EAAA,YAAY,CAAI,EAAA,CAAA,CAAC,CAAC;AACtD,QAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AACzC,QAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpB;IAEO,MAAM,qBAAqB,CAC/B,GAAa,EACb,MAAW,EACX,SAAiB,EACjB,OAAuB,EAAA;QAEvB,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;AACpD,QAAA,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACjC,GAAG,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAG,EAAA,YAAY,CAAI,EAAA,CAAA,CAAC,CAAC;AACtD,QAAA,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AACzC,QAAA,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACpB;AAEO,IAAA,iBAAiB,CACrB,GAAa,EACb,KAAU,EACV,SAAiB,EAAA;AAEjB,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,GAAG,CAAC;AAC3C,QAAA,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;AACxB,YAAA,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,uBAAuB;YAC/C,SAAS;AACT,YAAA,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;AACxB,SAAA,CAAC,CAAC;KACN;AAEO,IAAA,aAAa,CAAC,OAAe,EAAA;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACjD,QAAA,OAAO,OAAO,EAAE,MAAM,IAAI,KAAK,CAAC;KACnC;IAEO,aAAa,CAAC,OAAuB,EAAE,YAAoB,EAAA;AAC/D,QAAA,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;AAChC,QAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,YAAY,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,eAAe;YACtB,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAE5D,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;KAC1D;AAEO,IAAA,aAAa,CACjB,OAAuB,EACvB,KAAU,EACV,YAAoB,EAAA;AAEpB,QAAA,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;AAC5B,QAAA,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,YAAY,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,eAAe;YACtB,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QAE5D,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;AACxD,QAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAC9C;AAEO,IAAA,oBAAoB,CACxB,OAAuB,EACvB,YAAoB,EACpB,OAAgB,EAAA;QAEhB,MAAM,OAAO,GACT,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;AACzC,YAAA,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEnC,OAAO,CAAC,KAAK,EAAE,CAAC;AAChB,QAAA,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAC9B,QAAA,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,aAAa,CACxC,OAAO,CAAC,eAAe,EACvB,YAAY,EACZ,OAAO,CAAC,KAAK,CAChB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,CAAC,UAAU,EAAE,CAAC;AACrB,YAAA,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;SACtC;AAED,QAAA,OAAO,CAAC,WAAW;AACf,YAAA,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACjE,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAE5D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACtD;AAEO,IAAA,gBAAgB,CAAC,OAAuB,EAAA;QAC5C,OAAO;AACH,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,eAAe,EAAE,CAAC;AAClB,YAAA,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnC,YAAA,SAAS,EAAE,CAAC;AACZ,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,WAAW,EAAE,GAAG;AAChB,YAAA,UAAU,EAAE,CAAC;AACb,YAAA,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;SACvC,CAAC;KACL;AAEO,IAAA,oBAAoB,CAAC,OAAe,EAAA;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;AAChD,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,WAAW,EAAE,CAAC;AACd,YAAA,MAAM,EAAE,KAAK;SAChB,CAAC;QAEF,OAAO,CAAC,QAAQ,EAAE,CAAC;AACnB,QAAA,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AAEjC,QAAA,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,EAAE;;AAEvB,YAAA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;SACzB;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KAC7C;AAEO,IAAA,iBAAiB,CAAC,GAAY,EAAA;AAClC,QAAA,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;AAC9D,YAAA,OAAO,UAAU,CAAC;AAEtB,QAAA,QAAQ,GAAG,CAAC,MAAM;AACd,YAAA,KAAK,KAAK,CAAC;AACX,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,MAAM,CAAC;AAClB,YAAA,KAAK,MAAM,CAAC;AACZ,YAAA,KAAK,KAAK,CAAC;AACX,YAAA,KAAK,OAAO;AACR,gBAAA,OAAO,OAAO,CAAC;AACnB,YAAA,KAAK,QAAQ;AACT,gBAAA,OAAO,QAAQ,CAAC;AACpB,YAAA;AACI,gBAAA,OAAO,SAAS,CAAC;SACxB;KACJ;AAEO,IAAA,wBAAwB,CAAC,GAAY,EAAA;AACzC,QAAA,IAAI,QAAQ,GAAG,CAAC,CAAC;;AAGjB,QAAA,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC9D,QAAQ,GAAG,CAAC,CAAC;SAChB;AAAM,aAAA,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAClE,QAAQ,GAAG,CAAC,CAAC;SAChB;aAAM,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;YACxC,QAAQ,GAAG,CAAC,CAAC;SAChB;AAAM,aAAA,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE;YAC7B,QAAQ,GAAG,CAAC,CAAC;SAChB;AAAM,aAAA,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE;YACtD,QAAQ,GAAG,CAAC,CAAC;SAChB;;AAGD,QAAA,IAAI,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YAC3D,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;SACxC;AAED,QAAA,OAAO,QAAQ,CAAC;KACnB;AAEO,IAAA,mBAAmB,CAAC,GAAY,EAAA;;AAEpC,QAAA,MAAM,QAAQ,GAAG;YACb,WAAW;YACX,UAAU;YACV,YAAY;YACZ,UAAU;YACV,OAAO;YACP,WAAW;SACd,CAAC;AACF,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;AAClD,YAAA,OAAO,KAAK,CAAC;SAChB;;AAGD,QAAA,OAAO,IAAI,CAAC;KACf;AAEO,IAAA,eAAe,CAAC,GAAY,EAAA;QAChC,OAAO;AACH,YAAA,GAAG,CAAC,MAAM;AACV,YAAA,GAAG,CAAC,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,IAAI;AAC3B,YAAA,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE;AACpC,SAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACf;AAEO,IAAA,aAAa,CACjB,UAAkB,EAClB,QAAgB,EAChB,KAAa,EAAA;AAEb,QAAA,OAAO,CAAC,UAAU,IAAI,KAAK,GAAG,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC;KACxD;AAEO,IAAA,eAAe,CAAC,OAAY,EAAA;QAChC,MAAM,SAAS,GAA2B,EAAE,CAAC;AAC7C,QAAA,MAAM,cAAc,GAAG;YACnB,cAAc;YACd,QAAQ;YACR,eAAe;YACf,YAAY;YACZ,iBAAiB;YACjB,WAAW;YACX,iBAAiB;SACpB,CAAC;AAEF,QAAA,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE;AAC9B,YAAA,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;gBACd,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aACzC;SACJ;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;IAEM,QAAQ,GAAA;QACX,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC;AAChE,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;AACnD,QAAA,MAAM,UAAU,GAAGC,mBAAa,EAAE,CAAC;QAEnC,OAAO;AACH,YAAA,KAAK,EAAE;AACH,gBAAA,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;AAC1B,gBAAA,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;AAC9B,gBAAA,OAAO,EACH,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC;AACxB,sBAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa;wBAChD,GAAG;AACL,sBAAE,CAAC;AACX,gBAAA,KAAK,EAAE,UAAU;AACpB,aAAA;AACD,YAAA,QAAQ,EAAE;AACN,gBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;AAC/B,gBAAA,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;AACzC,gBAAA,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;AACjC,gBAAA,WAAW,EACP,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,CAAC;AACxB,sBAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB;AAC1B,wBAAA,IAAI,CAAC,KAAK,CAAC,aAAa;wBAC5B,GAAG;AACL,sBAAE,CAAC;AACX,gBAAA,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;AAC3C,gBAAA,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB;AACjD,gBAAA,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;AAC9C,aAAA;AACD,YAAA,QAAQ,EAAE,YAAY;AACtB,YAAA,WAAW,EAAE,kBAAkB;AAC/B,YAAA,UAAU,EAAE,eAAe;AAC3B,YAAA,eAAe,EAAE;AACb,gBAAA,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;gBAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACjD,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAClB,CAAC,MAAM;AACX,aAAA;AACD,YAAA,MAAM,EAAE;AACJ,gBAAA,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;AACxC,gBAAA,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;AACnC,gBAAA,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;AAC5C,aAAA;SACJ,CAAC;KACL;IAEO,wBAAwB,GAAA;AAC5B,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,QAAA,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACnE,CAAC,OAAO,KAAK,GAAG,GAAG,OAAO,CAAC,QAAQ,GAAG,MAAM,CAC/C,CAAC;QAEF,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CACrC,CAAC,CAAC,KACE,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,mBAAmB,IAAI,EAAE,CAAC,CACvE,CAAC;QAEF,OAAO;AACH,YAAA,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YACxC,cAAc,EAAE,cAAc,CAAC,MAAM;YACrC,WAAW,EAAE,WAAW,CAAC,MAAM;AAC/B,YAAA,cAAc,EACV,cAAc,CAAC,MAAM,GAAG,CAAC;kBACnB,cAAc,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,WAAW,EAC/B,CAAC,CACJ,GAAG,cAAc,CAAC,MAAM;AAC3B,kBAAE,GAAG;AACb,YAAA,eAAe,EACX,cAAc,CAAC,MAAM,GAAG,CAAC;kBACnB,cAAc,CAAC,MAAM,CACjB,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,eAAe,EACnC,CAAC,CACJ,GAAG,cAAc,CAAC,MAAM;AAC3B,kBAAE,CAAC;AACX,YAAA,WAAW,EAAE,WAAW;AACnB,iBAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;AACvC,iBAAA,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACZ,iBAAA,GAAG,CAAC,CAAC,CAAC,MAAM;gBACT,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,eAAe,EAAE,CAAC,CAAC,eAAe;gBAClC,SAAS,EAAE,CAAC,CAAC,SAAS;AACzB,aAAA,CAAC,CAAC;SACV,CAAC;KACL;AAEM,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;AAE3B,QAAA,IAAI;;AAEA,YAAA,MAAM,WAAW,GAAG,KAAK,CAAC;YAC1B,MAAM,aAAa,GAAG,GAAG,CAAC;YAC1B,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,GAAG,WAAW,EAAE;AACzD,gBAAA,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,KACtB,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CACrC,CAAC;gBACF,MAAM,IAAI,aAAa,CAAC;aAC3B;;AAGD,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC9D,YAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;;AAGpB,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;;;AAK/B,YAAA,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;AAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;AAC5B,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;AAE5B,YAAA,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;SAC9D;QAAC,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;SAClD;KACJ;AACJ;;;;"}
|
|
@@ -1,347 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Logger = require('../../../../../shared/logger/Logger.js');
|
|
4
|
-
|
|
5
|
-
// import { middleware as XyPrissMiddleware } from "../../../../mods/securityhelpers/express.middleware.helper";
|
|
6
|
-
/**
|
|
7
|
-
* MiddlewareAPI - User-friendly middleware interface that follows the specified pattern
|
|
8
|
-
* Returns a middleware object with register() method for custom middleware
|
|
9
|
-
*/
|
|
10
|
-
class MiddlewareAPI {
|
|
11
|
-
constructor(Manager, app, config = {}) {
|
|
12
|
-
this.nameToIdMap = new Map(); // Track middleware names to IDs
|
|
13
|
-
// Use process.stdout.write to ensure immediate output
|
|
14
|
-
Logger.logger.debug("middleware", "MiddlewareAPI constructor called\n");
|
|
15
|
-
Logger.logger.debug("middleware", `Config: ${JSON.stringify(config, null, 2)}\n`);
|
|
16
|
-
this.Manager = Manager;
|
|
17
|
-
this.app = app;
|
|
18
|
-
this.config = config;
|
|
19
|
-
// Apply default middleware based on configuration
|
|
20
|
-
Logger.logger.debug("middleware", "About to call applyDefaultMiddleware\n");
|
|
21
|
-
this.applyDefaultMiddleware();
|
|
22
|
-
Logger.logger.debug("middleware", "applyDefaultMiddleware completed\n");
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Register custom middleware with options
|
|
26
|
-
*/
|
|
27
|
-
register(middleware, options) {
|
|
28
|
-
try {
|
|
29
|
-
const id = this.Manager.register(middleware, options);
|
|
30
|
-
const name = options?.name || `middleware-${id.slice(0, 8)}`;
|
|
31
|
-
// Track the name-to-ID mapping for easier removal
|
|
32
|
-
this.nameToIdMap.set(name, id);
|
|
33
|
-
Logger.logger.debug("middleware", `Custom middleware registered: ${name} (${id})`);
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
Logger.logger.error("middleware", `Failed to register middleware: ${error}`);
|
|
37
|
-
}
|
|
38
|
-
return this;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Unregister middleware by ID
|
|
42
|
-
*/
|
|
43
|
-
unregister(id) {
|
|
44
|
-
try {
|
|
45
|
-
this.Manager.unregister(id);
|
|
46
|
-
Logger.logger.debug("middleware", `Middleware unregistered: ${id}`);
|
|
47
|
-
}
|
|
48
|
-
catch (error) {
|
|
49
|
-
Logger.logger.error("middleware", `Failed to unregister middleware: ${error}`);
|
|
50
|
-
}
|
|
51
|
-
return this;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Enable middleware by ID
|
|
55
|
-
*/
|
|
56
|
-
enable(id) {
|
|
57
|
-
try {
|
|
58
|
-
this.Manager.enable(id);
|
|
59
|
-
Logger.logger.debug("middleware", `Middleware enabled: ${id}`);
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
Logger.logger.error("middleware", `Failed to enable middleware: ${error}`);
|
|
63
|
-
}
|
|
64
|
-
return this;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Disable middleware by ID
|
|
68
|
-
*/
|
|
69
|
-
disable(id) {
|
|
70
|
-
try {
|
|
71
|
-
this.Manager.disable(id);
|
|
72
|
-
Logger.logger.debug("middleware", `Middleware disabled: ${id}`);
|
|
73
|
-
}
|
|
74
|
-
catch (error) {
|
|
75
|
-
Logger.logger.error("middleware", `Failed to disable middleware: ${error}`);
|
|
76
|
-
}
|
|
77
|
-
return this;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Remove middleware by name
|
|
81
|
-
*/
|
|
82
|
-
removeByName(name) {
|
|
83
|
-
try {
|
|
84
|
-
const id = this.nameToIdMap.get(name);
|
|
85
|
-
if (id) {
|
|
86
|
-
const success = this.Manager.unregister(id);
|
|
87
|
-
if (success) {
|
|
88
|
-
this.nameToIdMap.delete(name);
|
|
89
|
-
Logger.logger.debug("middleware", `Middleware removed: ${name} (${id})`);
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
Logger.logger.warn("middleware", `Middleware not found: ${name}`);
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
Logger.logger.error("middleware", `Failed to remove middleware: ${error}`);
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get middleware information
|
|
103
|
-
*/
|
|
104
|
-
getInfo(id) {
|
|
105
|
-
return this.Manager.getInfo(id);
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Get middleware statistics
|
|
109
|
-
*/
|
|
110
|
-
getStats() {
|
|
111
|
-
return this.Manager.getStats();
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Clear all middleware
|
|
115
|
-
*/
|
|
116
|
-
clear() {
|
|
117
|
-
try {
|
|
118
|
-
// Get all tracked middleware IDs and unregister them
|
|
119
|
-
const idsToRemove = [];
|
|
120
|
-
// Collect all IDs from our name-to-ID mapping
|
|
121
|
-
for (const [, id] of this.nameToIdMap.entries()) {
|
|
122
|
-
idsToRemove.push(id);
|
|
123
|
-
}
|
|
124
|
-
// Also get any middleware that might not be in our mapping
|
|
125
|
-
const allMiddleware = this.Manager.getInfo();
|
|
126
|
-
for (const middleware of allMiddleware) {
|
|
127
|
-
// Try to find the ID by looking up the middleware in the manager's registry
|
|
128
|
-
// Since MiddlewareInfo doesn't include ID, we need to use the name mapping
|
|
129
|
-
const mappedId = this.nameToIdMap.get(middleware.name);
|
|
130
|
-
if (mappedId && !idsToRemove.includes(mappedId)) {
|
|
131
|
-
idsToRemove.push(mappedId);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
// Unregister all found middleware
|
|
135
|
-
let removedCount = 0;
|
|
136
|
-
for (const id of idsToRemove) {
|
|
137
|
-
if (this.Manager.unregister(id)) {
|
|
138
|
-
removedCount++;
|
|
139
|
-
// Remove from our tracking map
|
|
140
|
-
for (const [name, mappedId] of this.nameToIdMap.entries()) {
|
|
141
|
-
if (mappedId === id) {
|
|
142
|
-
this.nameToIdMap.delete(name);
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
Logger.logger.debug("middleware", `Cleared ${removedCount} custom middleware`);
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
Logger.logger.error("middleware", `Failed to clear middleware: ${error}`);
|
|
152
|
-
}
|
|
153
|
-
return this;
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Optimize middleware execution
|
|
157
|
-
*/
|
|
158
|
-
async optimize() {
|
|
159
|
-
try {
|
|
160
|
-
await this.Manager.optimize();
|
|
161
|
-
Logger.logger.debug("middleware", "Middleware optimization completed");
|
|
162
|
-
}
|
|
163
|
-
catch (error) {
|
|
164
|
-
Logger.logger.error("middleware", `Failed to optimize middleware: ${error}`);
|
|
165
|
-
}
|
|
166
|
-
return this;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Apply default middleware based on configuration
|
|
170
|
-
*/
|
|
171
|
-
applyDefaultMiddleware() {
|
|
172
|
-
Logger.logger.debug("middleware", "applyDefaultMiddleware method entered\n");
|
|
173
|
-
Logger.logger.debug("middleware", `this.config: ${JSON.stringify(this.config, null, 2)}\n`);
|
|
174
|
-
Logger.logger.debug("middleware", "Applying default middleware configuration...");
|
|
175
|
-
// Apply XyPrissJS middleware if security is enabled
|
|
176
|
-
if (this.config.security !== false) {
|
|
177
|
-
try {
|
|
178
|
-
const securityOptions = typeof this.config.security === "object"
|
|
179
|
-
? this.config.security
|
|
180
|
-
: {};
|
|
181
|
-
// Convert complex rateLimit config to boolean for XyPrissJS middleware
|
|
182
|
-
const rateLimitEnabled = this.config.rateLimit !== false;
|
|
183
|
-
const maxRequestsPerMinute = typeof this.config.rateLimit === "object"
|
|
184
|
-
? this.config.rateLimit.max || 100
|
|
185
|
-
: 100;
|
|
186
|
-
// XyPrissMiddleware is not available, using fallback
|
|
187
|
-
const XyPrissMiddlewareHandler = (req, res, next) => {
|
|
188
|
-
// Basic security middleware fallback
|
|
189
|
-
res.setHeader("X-Content-Type-Options", "nosniff");
|
|
190
|
-
next();
|
|
191
|
-
};
|
|
192
|
-
this.Manager.register(XyPrissMiddlewareHandler, {
|
|
193
|
-
name: "XyPriss-security",
|
|
194
|
-
priority: "critical",
|
|
195
|
-
cacheable: false,
|
|
196
|
-
});
|
|
197
|
-
Logger.logger.debug("middleware", "XyPrissJS security middleware applied");
|
|
198
|
-
}
|
|
199
|
-
catch (error) {
|
|
200
|
-
Logger.logger.warn("middleware", `Failed to apply XyPrissJS middleware: ${error}`);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
// Apply CORS if enabled
|
|
204
|
-
if (this.config.cors !== false) {
|
|
205
|
-
try {
|
|
206
|
-
const corsOptions = typeof this.config.cors === "object"
|
|
207
|
-
? this.config.cors
|
|
208
|
-
: {};
|
|
209
|
-
this.Manager.enableCors(corsOptions);
|
|
210
|
-
Logger.logger.debug("middleware", "CORS middleware applied");
|
|
211
|
-
}
|
|
212
|
-
catch (error) {
|
|
213
|
-
Logger.logger.warn("middleware", `Failed to apply CORS middleware: ${error}`);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
// Apply compression if enabled
|
|
217
|
-
if (this.config.compression !== false) {
|
|
218
|
-
try {
|
|
219
|
-
const compressionOptions = typeof this.config.compression === "object"
|
|
220
|
-
? this.config.compression
|
|
221
|
-
: {};
|
|
222
|
-
this.Manager.enableCompression(compressionOptions);
|
|
223
|
-
Logger.logger.debug("middleware", "Compression middleware applied");
|
|
224
|
-
}
|
|
225
|
-
catch (error) {
|
|
226
|
-
Logger.logger.warn("middleware", `Failed to apply compression middleware: ${error}`);
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
// Apply rate limiting if enabled
|
|
230
|
-
if (this.config.rateLimit !== false) {
|
|
231
|
-
try {
|
|
232
|
-
const rateLimitOptions = typeof this.config.rateLimit === "object"
|
|
233
|
-
? this.config.rateLimit
|
|
234
|
-
: {};
|
|
235
|
-
this.Manager.enableRateLimit(rateLimitOptions);
|
|
236
|
-
Logger.logger.debug("middleware", "Rate limiting middleware applied");
|
|
237
|
-
}
|
|
238
|
-
catch (error) {
|
|
239
|
-
Logger.logger.warn("middleware", `Failed to apply rate limiting middleware: ${error}`);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
// Apply custom headers if specified
|
|
243
|
-
if (this.config.customHeaders) {
|
|
244
|
-
try {
|
|
245
|
-
const customHeadersMiddleware = (req, res, next) => {
|
|
246
|
-
Object.entries(this.config.customHeaders).forEach(([key, value]) => {
|
|
247
|
-
res.setHeader(key, value);
|
|
248
|
-
});
|
|
249
|
-
next();
|
|
250
|
-
};
|
|
251
|
-
this.Manager.register(customHeadersMiddleware, {
|
|
252
|
-
name: "custom-headers",
|
|
253
|
-
priority: "high",
|
|
254
|
-
cacheable: true,
|
|
255
|
-
ttl: 3600000, // 1 hour
|
|
256
|
-
});
|
|
257
|
-
Logger.logger.debug("middleware", "Custom headers middleware applied");
|
|
258
|
-
}
|
|
259
|
-
catch (error) {
|
|
260
|
-
Logger.logger.warn("middleware", `Failed to apply custom headers middleware: ${error}`);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
Logger.logger.debug("middleware", "Default middleware configuration applied");
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* Update configuration and reapply middleware
|
|
267
|
-
*/
|
|
268
|
-
updateConfig(newConfig) {
|
|
269
|
-
this.config = { ...this.config, ...newConfig };
|
|
270
|
-
this.Manager.configure(this.config);
|
|
271
|
-
// Reapply default middleware with new configuration
|
|
272
|
-
this.applyDefaultMiddleware();
|
|
273
|
-
Logger.logger.debug("middleware", "Middleware configuration updated");
|
|
274
|
-
return this;
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Get current configuration
|
|
278
|
-
*/
|
|
279
|
-
getConfig() {
|
|
280
|
-
return { ...this.config };
|
|
281
|
-
}
|
|
282
|
-
/**
|
|
283
|
-
* Enable performance tracking for all middleware
|
|
284
|
-
*/
|
|
285
|
-
enablePerformanceTracking() {
|
|
286
|
-
this.config.enablePerformanceTracking = true;
|
|
287
|
-
this.Manager.configure(this.config);
|
|
288
|
-
Logger.logger.debug("middleware", "Performance tracking enabled for all middleware");
|
|
289
|
-
return this;
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Disable performance tracking for all middleware
|
|
293
|
-
*/
|
|
294
|
-
disablePerformanceTracking() {
|
|
295
|
-
this.config.enablePerformanceTracking = false;
|
|
296
|
-
this.Manager.configure(this.config);
|
|
297
|
-
Logger.logger.debug("middleware", "Performance tracking disabled for all middleware");
|
|
298
|
-
return this;
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Enable caching for all middleware
|
|
302
|
-
*/
|
|
303
|
-
enableCaching() {
|
|
304
|
-
this.config.enableCaching = true;
|
|
305
|
-
this.Manager.configure(this.config);
|
|
306
|
-
Logger.logger.debug("middleware", "Caching enabled for all middleware");
|
|
307
|
-
return this;
|
|
308
|
-
}
|
|
309
|
-
/**
|
|
310
|
-
* Disable caching for all middleware
|
|
311
|
-
*/
|
|
312
|
-
disableCaching() {
|
|
313
|
-
this.config.enableCaching = false;
|
|
314
|
-
this.Manager.configure(this.config);
|
|
315
|
-
Logger.logger.debug("middleware", "Caching disabled for all middleware");
|
|
316
|
-
return this;
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Warm up middleware cache
|
|
320
|
-
*/
|
|
321
|
-
async warmCache() {
|
|
322
|
-
try {
|
|
323
|
-
await this.Manager.warmCache();
|
|
324
|
-
Logger.logger.debug("middleware", "Middleware cache warmed up");
|
|
325
|
-
}
|
|
326
|
-
catch (error) {
|
|
327
|
-
Logger.logger.error("middleware", `Failed to warm cache: ${error}`);
|
|
328
|
-
}
|
|
329
|
-
return this;
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* Clear middleware cache
|
|
333
|
-
*/
|
|
334
|
-
clearCache() {
|
|
335
|
-
try {
|
|
336
|
-
this.Manager.clearCache();
|
|
337
|
-
Logger.logger.debug("middleware", "Middleware cache cleared");
|
|
338
|
-
}
|
|
339
|
-
catch (error) {
|
|
340
|
-
Logger.logger.error("middleware", `Failed to clear cache: ${error}`);
|
|
341
|
-
}
|
|
342
|
-
return this;
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
exports.MiddlewareAPI = MiddlewareAPI;
|
|
347
|
-
//# sourceMappingURL=MiddlewareAPI.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareAPI.js","sources":["../../../../../../../src/server/components/fastapi/middlewares/MiddlewareAPI.ts"],"sourcesContent":[null],"names":["logger"],"mappings":"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"}
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var MiddlewareAPI = require('./MiddlewareAPI.js');
|
|
4
|
-
var Logger = require('../../../../../shared/logger/Logger.js');
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* MiddlewareMethodsManager - Adds middleware methods to the UltraFastApp
|
|
8
|
-
* Follows the same pattern as RouteManager for adding methods to the app
|
|
9
|
-
*/
|
|
10
|
-
class MiddlewareMethodsManager {
|
|
11
|
-
constructor(dependencies) {
|
|
12
|
-
this.dependencies = dependencies;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Add all middleware methods to the Express app
|
|
16
|
-
*/
|
|
17
|
-
addMiddlewareMethods() {
|
|
18
|
-
Logger.logger.debug("middleware", "Adding middleware methods to UltraFastApp...");
|
|
19
|
-
this.addMiddlewareMethod();
|
|
20
|
-
this.addSecureMiddlewareMethods();
|
|
21
|
-
this.addPerformanceMiddlewareMethods();
|
|
22
|
-
this.addCachedMiddlewareMethods();
|
|
23
|
-
this.addMiddlewareManagementMethods();
|
|
24
|
-
this.addConvenienceMethods();
|
|
25
|
-
Logger.logger.debug("middleware", "Middleware methods added successfully");
|
|
26
|
-
Logger.logger.debug("middleware", "All middleware methods added successfully\n");
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Add the main middleware() method that returns MiddlewareAPI
|
|
30
|
-
*/
|
|
31
|
-
addMiddlewareMethod() {
|
|
32
|
-
this.dependencies.app.middleware = (config) => {
|
|
33
|
-
const api = new MiddlewareAPI.MiddlewareAPI(this.dependencies.middlewareManager, this.dependencies.app, config || {});
|
|
34
|
-
return api;
|
|
35
|
-
};
|
|
36
|
-
// Add a marker to identify this is the real implementation
|
|
37
|
-
this.dependencies.app.middleware.__isRealImplementation = true;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Add secure middleware methods
|
|
41
|
-
*/
|
|
42
|
-
addSecureMiddlewareMethods() {
|
|
43
|
-
this.dependencies.app.useSecure = (middleware) => {
|
|
44
|
-
const middlewareArray = Array.isArray(middleware)
|
|
45
|
-
? middleware
|
|
46
|
-
: [middleware];
|
|
47
|
-
middlewareArray.forEach((mw, index) => {
|
|
48
|
-
this.dependencies.middlewareManager.register(mw, {
|
|
49
|
-
name: `secure-middleware-${index}`,
|
|
50
|
-
priority: "critical",
|
|
51
|
-
cacheable: false,
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
Logger.logger.debug("middleware", `Registered ${middlewareArray.length} secure middleware`);
|
|
55
|
-
return this.dependencies.app;
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Add performance middleware methods
|
|
60
|
-
*/
|
|
61
|
-
addPerformanceMiddlewareMethods() {
|
|
62
|
-
this.dependencies.app.usePerformance = (middleware) => {
|
|
63
|
-
const middlewareArray = Array.isArray(middleware)
|
|
64
|
-
? middleware
|
|
65
|
-
: [middleware];
|
|
66
|
-
middlewareArray.forEach((mw, index) => {
|
|
67
|
-
this.dependencies.middlewareManager.register(mw, {
|
|
68
|
-
name: `performance-middleware-${index}`,
|
|
69
|
-
priority: "high",
|
|
70
|
-
cacheable: true,
|
|
71
|
-
});
|
|
72
|
-
});
|
|
73
|
-
Logger.logger.debug("middleware", `Registered ${middlewareArray.length} performance middleware`);
|
|
74
|
-
return this.dependencies.app;
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Add cached middleware methods
|
|
79
|
-
*/
|
|
80
|
-
addCachedMiddlewareMethods() {
|
|
81
|
-
this.dependencies.app.useCached = (middleware, ttl) => {
|
|
82
|
-
const middlewareArray = Array.isArray(middleware)
|
|
83
|
-
? middleware
|
|
84
|
-
: [middleware];
|
|
85
|
-
middlewareArray.forEach((mw, index) => {
|
|
86
|
-
this.dependencies.middlewareManager.register(mw, {
|
|
87
|
-
name: `cached-middleware-${index}`,
|
|
88
|
-
priority: "normal",
|
|
89
|
-
cacheable: true,
|
|
90
|
-
ttl: ttl || 300000, // 5 minutes default
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
Logger.logger.debug("middleware", `Registered ${middlewareArray.length} cached middleware`);
|
|
94
|
-
return this.dependencies.app;
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Add middleware management methods
|
|
99
|
-
*/
|
|
100
|
-
addMiddlewareManagementMethods() {
|
|
101
|
-
// Get middleware information
|
|
102
|
-
this.dependencies.app.getMiddleware = (name) => {
|
|
103
|
-
return this.dependencies.middlewareManager.getInfo(name);
|
|
104
|
-
};
|
|
105
|
-
// Remove middleware
|
|
106
|
-
this.dependencies.app.removeMiddleware = (name) => {
|
|
107
|
-
try {
|
|
108
|
-
// Find middleware by name and get its ID from the manager's registry
|
|
109
|
-
const middlewareId = this.findMiddlewareIdByName(name);
|
|
110
|
-
if (middlewareId) {
|
|
111
|
-
const success = this.dependencies.middlewareManager.unregister(middlewareId);
|
|
112
|
-
if (success) {
|
|
113
|
-
Logger.logger.debug("middleware", `Middleware removed: ${name} (${middlewareId})`);
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
Logger.logger.warn("middleware", `Middleware not found: ${name}`);
|
|
118
|
-
return false;
|
|
119
|
-
}
|
|
120
|
-
catch (error) {
|
|
121
|
-
Logger.logger.error("middleware", `Failed to remove middleware: ${error}`);
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
// Get middleware statistics
|
|
126
|
-
this.dependencies.app.getMiddlewareStats = () => {
|
|
127
|
-
return this.dependencies.middlewareManager.getStats();
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Find middleware ID by name from the manager's registry
|
|
132
|
-
* This method accesses the internal registry to get the ID
|
|
133
|
-
*/
|
|
134
|
-
findMiddlewareIdByName(name) {
|
|
135
|
-
try {
|
|
136
|
-
// Access the middleware manager's internal registry
|
|
137
|
-
// Since we need to access private members, we'll use a workaround
|
|
138
|
-
const manager = this.dependencies.middlewareManager;
|
|
139
|
-
if (manager.middlewareRegistry &&
|
|
140
|
-
manager.middlewareRegistry instanceof Map) {
|
|
141
|
-
// Iterate through the registry to find middleware by name
|
|
142
|
-
for (const [id, entry,] of manager.middlewareRegistry.entries()) {
|
|
143
|
-
if (entry.name === name) {
|
|
144
|
-
return id;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
// Alternative approach: try to use reflection to access the registry
|
|
149
|
-
const registryKeys = Object.getOwnPropertyNames(manager);
|
|
150
|
-
for (const key of registryKeys) {
|
|
151
|
-
if (key.includes("registry") || key.includes("Registry")) {
|
|
152
|
-
const registry = manager[key];
|
|
153
|
-
if (registry instanceof Map) {
|
|
154
|
-
for (const [id, entry] of registry.entries()) {
|
|
155
|
-
if (entry &&
|
|
156
|
-
typeof entry === "object" &&
|
|
157
|
-
entry.name === name) {
|
|
158
|
-
return id;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
Logger.logger.warn("middleware", `Could not find ID for middleware: ${name}`);
|
|
165
|
-
return null;
|
|
166
|
-
}
|
|
167
|
-
catch (error) {
|
|
168
|
-
Logger.logger.error("middleware", `Error finding middleware ID: ${error}`);
|
|
169
|
-
return null;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Add convenience methods for common middleware types
|
|
174
|
-
*/
|
|
175
|
-
addConvenienceMethods() {
|
|
176
|
-
// Enable security middleware
|
|
177
|
-
this.dependencies.app.enableSecurity = (options) => {
|
|
178
|
-
this.dependencies.middlewareManager.enableSecurity(options);
|
|
179
|
-
Logger.logger.debug("middleware", "Security middleware enabled via convenience method");
|
|
180
|
-
return this.dependencies.app;
|
|
181
|
-
};
|
|
182
|
-
// Enable compression middleware
|
|
183
|
-
this.dependencies.app.enableCompression = (options) => {
|
|
184
|
-
this.dependencies.middlewareManager.enableCompression(options);
|
|
185
|
-
Logger.logger.debug("middleware", "Compression middleware enabled via convenience method");
|
|
186
|
-
return this.dependencies.app;
|
|
187
|
-
};
|
|
188
|
-
// Enable rate limiting middleware
|
|
189
|
-
this.dependencies.app.enableRateLimit = (options) => {
|
|
190
|
-
this.dependencies.middlewareManager.enableRateLimit(options);
|
|
191
|
-
Logger.logger.debug("middleware", "Rate limiting middleware enabled via convenience method");
|
|
192
|
-
return this.dependencies.app;
|
|
193
|
-
};
|
|
194
|
-
// Enable CORS middleware
|
|
195
|
-
this.dependencies.app.enableCors = (options) => {
|
|
196
|
-
this.dependencies.middlewareManager.enableCors(options);
|
|
197
|
-
Logger.logger.debug("middleware", "CORS middleware enabled via convenience method");
|
|
198
|
-
return this.dependencies.app;
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
exports.MiddlewareMethodsManager = MiddlewareMethodsManager;
|
|
204
|
-
//# sourceMappingURL=MiddlewareMethodsManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareMethodsManager.js","sources":["../../../../../../../src/server/components/fastapi/middlewares/MiddlewareMethodsManager.ts"],"sourcesContent":[null],"names":["logger","MiddlewareAPI"],"mappings":"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"}
|