xypriss 9.11.13 → 9.12.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 +6 -20
- package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js +11 -128
- package/dist/cjs/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
- package/dist/cjs/src/middleware/security-middleware.js +9 -478
- package/dist/cjs/src/middleware/security-middleware.js.map +1 -1
- package/dist/cjs/src/plugins/core/manager/PluginLoader.js +0 -4
- package/dist/cjs/src/plugins/core/manager/PluginLoader.js.map +1 -1
- package/dist/cjs/src/server/const/default.js +9 -12
- package/dist/cjs/src/server/const/default.js.map +1 -1
- package/dist/cjs/src/server/core/HttpServer.js +2 -0
- package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
- package/dist/cjs/src/server/core/ResponseEnhancer.js +6 -6
- package/dist/cjs/src/server/core/ResponseEnhancer.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +290 -2
- package/dist/cjs/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCBridge/index.js +13 -5
- package/dist/cjs/src/server/core/XHSCBridge/index.js.map +1 -1
- package/dist/cjs/src/server/core/XHSCProtocol.js +279 -103
- package/dist/cjs/src/server/core/XHSCProtocol.js.map +1 -1
- package/dist/cjs/src/server/core/http/RadixRouter.js +146 -0
- package/dist/cjs/src/server/core/http/RadixRouter.js.map +1 -0
- package/dist/cjs/src/xhsc/cluster/XHSCWorker.js +72 -8
- package/dist/cjs/src/xhsc/cluster/XHSCWorker.js.map +1 -1
- package/dist/cjs/src/xhsc/cluster/xbp.js +158 -25
- package/dist/cjs/src/xhsc/cluster/xbp.js.map +1 -1
- package/dist/diag_config.d.ts +2 -0
- package/dist/diag_config.d.ts.map +1 -0
- package/dist/diag_config.js +13 -0
- package/dist/diag_config.js.map +1 -0
- package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js +11 -128
- package/dist/esm/src/middleware/built-in/BuiltInMiddleware.js.map +1 -1
- package/dist/esm/src/middleware/security-middleware.js +9 -478
- package/dist/esm/src/middleware/security-middleware.js.map +1 -1
- package/dist/esm/src/plugins/core/manager/PluginLoader.js +0 -4
- package/dist/esm/src/plugins/core/manager/PluginLoader.js.map +1 -1
- package/dist/esm/src/server/const/default.js +9 -12
- package/dist/esm/src/server/const/default.js.map +1 -1
- package/dist/esm/src/server/core/HttpServer.js +2 -0
- package/dist/esm/src/server/core/HttpServer.js.map +1 -1
- package/dist/esm/src/server/core/ResponseEnhancer.js +6 -6
- package/dist/esm/src/server/core/ResponseEnhancer.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +290 -2
- package/dist/esm/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -1
- package/dist/esm/src/server/core/XHSCBridge/index.js +13 -5
- package/dist/esm/src/server/core/XHSCBridge/index.js.map +1 -1
- package/dist/esm/src/server/core/XHSCProtocol.js +279 -103
- package/dist/esm/src/server/core/XHSCProtocol.js.map +1 -1
- package/dist/esm/src/server/core/http/RadixRouter.js +143 -0
- package/dist/esm/src/server/core/http/RadixRouter.js.map +1 -0
- package/dist/esm/src/xhsc/cluster/XHSCWorker.js +72 -8
- package/dist/esm/src/xhsc/cluster/XHSCWorker.js.map +1 -1
- package/dist/esm/src/xhsc/cluster/xbp.js +158 -25
- package/dist/esm/src/xhsc/cluster/xbp.js.map +1 -1
- package/dist/fix_docs.d.ts +2 -0
- package/dist/fix_docs.d.ts.map +1 -0
- package/dist/fix_docs.js +152 -0
- package/dist/fix_docs.js.map +1 -0
- package/dist/index.d.ts +53 -136
- package/dist/lib.d.ts +3 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +10 -0
- package/dist/lib.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +3 -0
- package/dist/main.js.map +1 -0
- package/dist/plugin.d.ts +2 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +5 -0
- package/dist/plugin.js.map +1 -0
- package/dist/refactor_docs.d.ts +2 -0
- package/dist/refactor_docs.d.ts.map +1 -0
- package/dist/refactor_docs.js +48 -0
- package/dist/refactor_docs.js.map +1 -0
- package/dist/src/ConfigurationManager.d.ts +155 -0
- package/dist/src/ConfigurationManager.d.ts.map +1 -0
- package/dist/src/ConfigurationManager.js +379 -0
- package/dist/src/ConfigurationManager.js.map +1 -0
- package/dist/src/FiUp.d.ts +31 -0
- package/dist/src/FiUp.d.ts.map +1 -0
- package/dist/src/FiUp.js +79 -0
- package/dist/src/FiUp.js.map +1 -0
- package/dist/src/cache/CacheFactory.d.ts +163 -0
- package/dist/src/cache/CacheFactory.d.ts.map +1 -0
- package/dist/src/cache/CacheFactory.js +707 -0
- package/dist/src/cache/CacheFactory.js.map +1 -0
- package/dist/src/cache/index.d.ts +14 -0
- package/dist/src/cache/index.d.ts.map +1 -0
- package/dist/src/cache/index.js +13 -0
- package/dist/src/cache/index.js.map +1 -0
- package/dist/src/cache/type.d.ts +127 -0
- package/dist/src/cache/type.d.ts.map +1 -0
- package/dist/src/cache/type.js +2 -0
- package/dist/src/cache/type.js.map +1 -0
- package/dist/src/const.d.ts +138 -0
- package/dist/src/const.d.ts.map +1 -0
- package/dist/src/const.js +572 -0
- package/dist/src/const.js.map +1 -0
- package/dist/src/index.d.ts +67 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +85 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/middleware/XJsonResponseHandler.d.ts +69 -0
- package/dist/src/middleware/XJsonResponseHandler.d.ts.map +1 -0
- package/dist/src/middleware/XJsonResponseHandler.js +175 -0
- package/dist/src/middleware/XJsonResponseHandler.js.map +1 -0
- package/dist/src/middleware/XemsSessionMiddleware.d.ts +8 -0
- package/dist/src/middleware/XemsSessionMiddleware.d.ts.map +1 -0
- package/dist/src/middleware/XemsSessionMiddleware.js +110 -0
- package/dist/src/middleware/XemsSessionMiddleware.js.map +1 -0
- package/dist/src/middleware/XyPrissMiddlewareAPI.d.ts +75 -0
- package/dist/src/middleware/XyPrissMiddlewareAPI.d.ts.map +1 -0
- package/dist/src/middleware/XyPrissMiddlewareAPI.js +284 -0
- package/dist/src/middleware/XyPrissMiddlewareAPI.js.map +1 -0
- package/dist/src/middleware/built-in/BuiltInMiddleware.d.ts +104 -0
- package/dist/src/middleware/built-in/BuiltInMiddleware.d.ts.map +1 -0
- package/dist/src/middleware/built-in/BuiltInMiddleware.js +295 -0
- package/dist/src/middleware/built-in/BuiltInMiddleware.js.map +1 -0
- package/dist/src/middleware/built-in/ConversionProxyMiddleware.d.ts +7 -0
- package/dist/src/middleware/built-in/ConversionProxyMiddleware.d.ts.map +1 -0
- package/dist/src/middleware/built-in/ConversionProxyMiddleware.js +48 -0
- package/dist/src/middleware/built-in/ConversionProxyMiddleware.js.map +1 -0
- package/dist/src/middleware/built-in/ResponseManipulationMiddleware.d.ts +11 -0
- package/dist/src/middleware/built-in/ResponseManipulationMiddleware.d.ts.map +1 -0
- package/dist/src/middleware/built-in/ResponseManipulationMiddleware.js +164 -0
- package/dist/src/middleware/built-in/ResponseManipulationMiddleware.js.map +1 -0
- package/dist/src/middleware/built-in/security/BrowserOnlyProtector.d.ts +106 -0
- package/dist/src/middleware/built-in/security/BrowserOnlyProtector.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/BrowserOnlyProtector.js +547 -0
- package/dist/src/middleware/built-in/security/BrowserOnlyProtector.js.map +1 -0
- package/dist/src/middleware/built-in/security/HoneypotTarpit.d.ts +225 -0
- package/dist/src/middleware/built-in/security/HoneypotTarpit.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/HoneypotTarpit.js +551 -0
- package/dist/src/middleware/built-in/security/HoneypotTarpit.js.map +1 -0
- package/dist/src/middleware/built-in/security/MaliciousUrlScanner.d.ts +14 -0
- package/dist/src/middleware/built-in/security/MaliciousUrlScanner.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/MaliciousUrlScanner.js +71 -0
- package/dist/src/middleware/built-in/security/MaliciousUrlScanner.js.map +1 -0
- package/dist/src/middleware/built-in/security/MobileOnlyProtector.d.ts +122 -0
- package/dist/src/middleware/built-in/security/MobileOnlyProtector.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/MobileOnlyProtector.js +499 -0
- package/dist/src/middleware/built-in/security/MobileOnlyProtector.js.map +1 -0
- package/dist/src/middleware/built-in/security/RequestSignatureProtector.d.ts +128 -0
- package/dist/src/middleware/built-in/security/RequestSignatureProtector.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/RequestSignatureProtector.js +463 -0
- package/dist/src/middleware/built-in/security/RequestSignatureProtector.js.map +1 -0
- package/dist/src/middleware/built-in/security/TerminalOnlyProtector.d.ts +131 -0
- package/dist/src/middleware/built-in/security/TerminalOnlyProtector.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/TerminalOnlyProtector.js +473 -0
- package/dist/src/middleware/built-in/security/TerminalOnlyProtector.js.map +1 -0
- package/dist/src/middleware/built-in/security/UriNormalizer.d.ts +277 -0
- package/dist/src/middleware/built-in/security/UriNormalizer.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/UriNormalizer.js +388 -0
- package/dist/src/middleware/built-in/security/UriNormalizer.js.map +1 -0
- package/dist/src/middleware/built-in/security/XyPrissCors.d.ts +12 -0
- package/dist/src/middleware/built-in/security/XyPrissCors.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/XyPrissCors.js +102 -0
- package/dist/src/middleware/built-in/security/XyPrissCors.js.map +1 -0
- package/dist/src/middleware/built-in/security/XyPrissHPP.d.ts +7 -0
- package/dist/src/middleware/built-in/security/XyPrissHPP.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/XyPrissHPP.js +48 -0
- package/dist/src/middleware/built-in/security/XyPrissHPP.js.map +1 -0
- package/dist/src/middleware/built-in/security/index.d.ts +15 -0
- package/dist/src/middleware/built-in/security/index.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/index.js +15 -0
- package/dist/src/middleware/built-in/security/index.js.map +1 -0
- package/dist/src/middleware/built-in/security/types.d.ts +147 -0
- package/dist/src/middleware/built-in/security/types.d.ts.map +1 -0
- package/dist/src/middleware/built-in/security/types.js +5 -0
- package/dist/src/middleware/built-in/security/types.js.map +1 -0
- package/dist/src/middleware/safe-json-middleware.d.ts +57 -0
- package/dist/src/middleware/safe-json-middleware.d.ts.map +1 -0
- package/dist/src/middleware/safe-json-middleware.js +150 -0
- package/dist/src/middleware/safe-json-middleware.js.map +1 -0
- package/dist/src/middleware/security-middleware.d.ts +91 -0
- package/dist/src/middleware/security-middleware.d.ts.map +1 -0
- package/dist/src/middleware/security-middleware.js +537 -0
- package/dist/src/middleware/security-middleware.js.map +1 -0
- package/dist/src/plugins/ServerPluginManager.d.ts +42 -0
- package/dist/src/plugins/ServerPluginManager.d.ts.map +1 -0
- package/dist/src/plugins/ServerPluginManager.js +148 -0
- package/dist/src/plugins/ServerPluginManager.js.map +1 -0
- package/dist/src/plugins/api/PluginAPI.d.ts +124 -0
- package/dist/src/plugins/api/PluginAPI.d.ts.map +1 -0
- package/dist/src/plugins/api/PluginAPI.js +344 -0
- package/dist/src/plugins/api/PluginAPI.js.map +1 -0
- package/dist/src/plugins/builtin/RouteOptimizationPlugin.d.ts +110 -0
- package/dist/src/plugins/builtin/RouteOptimizationPlugin.d.ts.map +1 -0
- package/dist/src/plugins/builtin/RouteOptimizationPlugin.js +416 -0
- package/dist/src/plugins/builtin/RouteOptimizationPlugin.js.map +1 -0
- package/dist/src/plugins/builtin/server-maintenance/ServerMaintenancePlugin.d.ts +135 -0
- package/dist/src/plugins/builtin/server-maintenance/ServerMaintenancePlugin.d.ts.map +1 -0
- package/dist/src/plugins/builtin/server-maintenance/ServerMaintenancePlugin.js +566 -0
- package/dist/src/plugins/builtin/server-maintenance/ServerMaintenancePlugin.js.map +1 -0
- package/dist/src/plugins/builtin/xems/XemsBuiltinPlugin.d.ts +33 -0
- package/dist/src/plugins/builtin/xems/XemsBuiltinPlugin.d.ts.map +1 -0
- package/dist/src/plugins/builtin/xems/XemsBuiltinPlugin.js +246 -0
- package/dist/src/plugins/builtin/xems/XemsBuiltinPlugin.js.map +1 -0
- package/dist/src/plugins/builtin/xems/XemsPlugin.d.ts +169 -0
- package/dist/src/plugins/builtin/xems/XemsPlugin.d.ts.map +1 -0
- package/dist/src/plugins/builtin/xems/XemsPlugin.js +402 -0
- package/dist/src/plugins/builtin/xems/XemsPlugin.js.map +1 -0
- package/dist/src/plugins/builtin/xems/index.d.ts +2 -0
- package/dist/src/plugins/builtin/xems/index.d.ts.map +1 -0
- package/dist/src/plugins/builtin/xems/index.js +2 -0
- package/dist/src/plugins/builtin/xems/index.js.map +1 -0
- package/dist/src/plugins/const/OFFICIAL_PLUGINS.d.ts +2 -0
- package/dist/src/plugins/const/OFFICIAL_PLUGINS.d.ts.map +1 -0
- package/dist/src/plugins/const/OFFICIAL_PLUGINS.js +6 -0
- package/dist/src/plugins/const/OFFICIAL_PLUGINS.js.map +1 -0
- package/dist/src/plugins/const/PluginHookIds.d.ts +44 -0
- package/dist/src/plugins/const/PluginHookIds.d.ts.map +1 -0
- package/dist/src/plugins/const/PluginHookIds.js +185 -0
- package/dist/src/plugins/const/PluginHookIds.js.map +1 -0
- package/dist/src/plugins/const/PluginHookMetadataJson.d.ts +2 -0
- package/dist/src/plugins/const/PluginHookMetadataJson.d.ts.map +1 -0
- package/dist/src/plugins/const/PluginHookMetadataJson.js +6 -0
- package/dist/src/plugins/const/PluginHookMetadataJson.js.map +1 -0
- package/dist/src/plugins/const/XyprissTempDir.d.ts +23 -0
- package/dist/src/plugins/const/XyprissTempDir.d.ts.map +1 -0
- package/dist/src/plugins/const/XyprissTempDir.js +65 -0
- package/dist/src/plugins/const/XyprissTempDir.js.map +1 -0
- package/dist/src/plugins/const/getSysApi.d.ts +8 -0
- package/dist/src/plugins/const/getSysApi.d.ts.map +1 -0
- package/dist/src/plugins/const/getSysApi.js +10 -0
- package/dist/src/plugins/const/getSysApi.js.map +1 -0
- package/dist/src/plugins/core/PermissionManager.d.ts +46 -0
- package/dist/src/plugins/core/PermissionManager.d.ts.map +1 -0
- package/dist/src/plugins/core/PermissionManager.js +232 -0
- package/dist/src/plugins/core/PermissionManager.js.map +1 -0
- package/dist/src/plugins/core/XPluginManager.d.ts +110 -0
- package/dist/src/plugins/core/XPluginManager.d.ts.map +1 -0
- package/dist/src/plugins/core/XPluginManager.js +213 -0
- package/dist/src/plugins/core/XPluginManager.js.map +1 -0
- package/dist/src/plugins/core/manager/PluginHookRunner.d.ts +50 -0
- package/dist/src/plugins/core/manager/PluginHookRunner.d.ts.map +1 -0
- package/dist/src/plugins/core/manager/PluginHookRunner.js +104 -0
- package/dist/src/plugins/core/manager/PluginHookRunner.js.map +1 -0
- package/dist/src/plugins/core/manager/PluginInterceptor.d.ts +48 -0
- package/dist/src/plugins/core/manager/PluginInterceptor.d.ts.map +1 -0
- package/dist/src/plugins/core/manager/PluginInterceptor.js +196 -0
- package/dist/src/plugins/core/manager/PluginInterceptor.js.map +1 -0
- package/dist/src/plugins/core/manager/PluginLoader.d.ts +59 -0
- package/dist/src/plugins/core/manager/PluginLoader.d.ts.map +1 -0
- package/dist/src/plugins/core/manager/PluginLoader.js +203 -0
- package/dist/src/plugins/core/manager/PluginLoader.js.map +1 -0
- package/dist/src/plugins/core/manager/PluginManagement.d.ts +36 -0
- package/dist/src/plugins/core/manager/PluginManagement.d.ts.map +1 -0
- package/dist/src/plugins/core/manager/PluginManagement.js +132 -0
- package/dist/src/plugins/core/manager/PluginManagement.js.map +1 -0
- package/dist/src/plugins/core/manager/PluginRegistry.d.ts +47 -0
- package/dist/src/plugins/core/manager/PluginRegistry.d.ts.map +1 -0
- package/dist/src/plugins/core/manager/PluginRegistry.js +96 -0
- package/dist/src/plugins/core/manager/PluginRegistry.js.map +1 -0
- package/dist/src/plugins/core/manager/PluginSecurity.d.ts +71 -0
- package/dist/src/plugins/core/manager/PluginSecurity.d.ts.map +1 -0
- package/dist/src/plugins/core/manager/PluginSecurity.js +436 -0
- package/dist/src/plugins/core/manager/PluginSecurity.js.map +1 -0
- package/dist/src/plugins/route-optimization-plugin.d.ts +110 -0
- package/dist/src/plugins/route-optimization-plugin.d.ts.map +1 -0
- package/dist/src/plugins/route-optimization-plugin.js +416 -0
- package/dist/src/plugins/route-optimization-plugin.js.map +1 -0
- package/dist/src/plugins/types/PluginPermissions.d.ts +26 -0
- package/dist/src/plugins/types/PluginPermissions.d.ts.map +1 -0
- package/dist/src/plugins/types/PluginPermissions.js +10 -0
- package/dist/src/plugins/types/PluginPermissions.js.map +1 -0
- package/dist/src/plugins/types/PluginTypes.d.ts +312 -0
- package/dist/src/plugins/types/PluginTypes.d.ts.map +1 -0
- package/dist/src/plugins/types/PluginTypes.js +30 -0
- package/dist/src/plugins/types/PluginTypes.js.map +1 -0
- package/dist/src/plugins/types/index.d.ts +79 -0
- package/dist/src/plugins/types/index.d.ts.map +1 -0
- package/dist/src/plugins/types/index.js +2 -0
- package/dist/src/plugins/types/index.js.map +1 -0
- package/dist/src/quick-start.d.ts +9 -0
- package/dist/src/quick-start.d.ts.map +1 -0
- package/dist/src/quick-start.js +26 -0
- package/dist/src/quick-start.js.map +1 -0
- package/dist/src/schemas/plugingSchema.d.ts +18 -0
- package/dist/src/schemas/plugingSchema.d.ts.map +1 -0
- package/dist/src/schemas/plugingSchema.js +40 -0
- package/dist/src/schemas/plugingSchema.js.map +1 -0
- package/dist/src/server/FastServer/ComponentManager.d.ts +30 -0
- package/dist/src/server/FastServer/ComponentManager.d.ts.map +1 -0
- package/dist/src/server/FastServer/ComponentManager.js +86 -0
- package/dist/src/server/FastServer/ComponentManager.js.map +1 -0
- package/dist/src/server/FastServer/LogTracingMethods.d.ts +9 -0
- package/dist/src/server/FastServer/LogTracingMethods.d.ts.map +1 -0
- package/dist/src/server/FastServer/LogTracingMethods.js +31 -0
- package/dist/src/server/FastServer/LogTracingMethods.js.map +1 -0
- package/dist/src/server/FastServer/MiddlewareManager.d.ts +17 -0
- package/dist/src/server/FastServer/MiddlewareManager.d.ts.map +1 -0
- package/dist/src/server/FastServer/MiddlewareManager.js +64 -0
- package/dist/src/server/FastServer/MiddlewareManager.js.map +1 -0
- package/dist/src/server/FastServer/ShutdownManager.d.ts +16 -0
- package/dist/src/server/FastServer/ShutdownManager.d.ts.map +1 -0
- package/dist/src/server/FastServer/ShutdownManager.js +70 -0
- package/dist/src/server/FastServer/ShutdownManager.js.map +1 -0
- package/dist/src/server/FastServer/UploadManager.d.ts +13 -0
- package/dist/src/server/FastServer/UploadManager.d.ts.map +1 -0
- package/dist/src/server/FastServer/UploadManager.js +67 -0
- package/dist/src/server/FastServer/UploadManager.js.map +1 -0
- package/dist/src/server/FastServer/index.d.ts +50 -0
- package/dist/src/server/FastServer/index.d.ts.map +1 -0
- package/dist/src/server/FastServer/index.js +221 -0
- package/dist/src/server/FastServer/index.js.map +1 -0
- package/dist/src/server/ServerFactory.d.ts +94 -0
- package/dist/src/server/ServerFactory.d.ts.map +1 -0
- package/dist/src/server/ServerFactory.js +136 -0
- package/dist/src/server/ServerFactory.js.map +1 -0
- package/dist/src/server/components/fastapi/CacheManager.d.ts +64 -0
- package/dist/src/server/components/fastapi/CacheManager.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/CacheManager.js +212 -0
- package/dist/src/server/components/fastapi/CacheManager.js.map +1 -0
- package/dist/src/server/components/fastapi/RedirectManager.d.ts +112 -0
- package/dist/src/server/components/fastapi/RedirectManager.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/RedirectManager.js +432 -0
- package/dist/src/server/components/fastapi/RedirectManager.js.map +1 -0
- package/dist/src/server/components/fastapi/RequestProcessor.d.ts +34 -0
- package/dist/src/server/components/fastapi/RequestProcessor.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/RequestProcessor.js +177 -0
- package/dist/src/server/components/fastapi/RequestProcessor.js.map +1 -0
- package/dist/src/server/components/fastapi/RouteManager.d.ts +43 -0
- package/dist/src/server/components/fastapi/RouteManager.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/RouteManager.js +118 -0
- package/dist/src/server/components/fastapi/RouteManager.js.map +1 -0
- package/dist/src/server/components/fastapi/WorkerPoolComponent.d.ts +29 -0
- package/dist/src/server/components/fastapi/WorkerPoolComponent.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/WorkerPoolComponent.js +77 -0
- package/dist/src/server/components/fastapi/WorkerPoolComponent.js.map +1 -0
- package/dist/src/server/components/fastapi/console/ConsoleInterceptor.d.ts +54 -0
- package/dist/src/server/components/fastapi/console/ConsoleInterceptor.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/console/ConsoleInterceptor.js +464 -0
- package/dist/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -0
- package/dist/src/server/components/fastapi/console/encryption/ConsoleEncryption.d.ts +19 -0
- package/dist/src/server/components/fastapi/console/encryption/ConsoleEncryption.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/console/encryption/ConsoleEncryption.js +22 -0
- package/dist/src/server/components/fastapi/console/encryption/ConsoleEncryption.js.map +1 -0
- package/dist/src/server/components/fastapi/console/types.d.ts +115 -0
- package/dist/src/server/components/fastapi/console/types.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/console/types.js +31 -0
- package/dist/src/server/components/fastapi/console/types.js.map +1 -0
- package/dist/src/server/components/fastapi/templates/redirectTemp.d.ts +6 -0
- package/dist/src/server/components/fastapi/templates/redirectTemp.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/templates/redirectTemp.js +98 -0
- package/dist/src/server/components/fastapi/templates/redirectTemp.js.map +1 -0
- package/dist/src/server/components/fastapi/typescript/TypeScriptChecker.d.ts +96 -0
- package/dist/src/server/components/fastapi/typescript/TypeScriptChecker.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/typescript/TypeScriptChecker.js +348 -0
- package/dist/src/server/components/fastapi/typescript/TypeScriptChecker.js.map +1 -0
- package/dist/src/server/components/fastapi/upload/FileUploadManager.d.ts +45 -0
- package/dist/src/server/components/fastapi/upload/FileUploadManager.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/upload/FileUploadManager.js +234 -0
- package/dist/src/server/components/fastapi/upload/FileUploadManager.js.map +1 -0
- package/dist/src/server/components/fastapi/upload/file-upload.d.ts +80 -0
- package/dist/src/server/components/fastapi/upload/file-upload.d.ts.map +1 -0
- package/dist/src/server/components/fastapi/upload/file-upload.js +246 -0
- package/dist/src/server/components/fastapi/upload/file-upload.js.map +1 -0
- package/dist/src/server/components/lifecycle/slcm.type.d.ts +36 -0
- package/dist/src/server/components/lifecycle/slcm.type.d.ts.map +1 -0
- package/dist/src/server/components/lifecycle/slcm.type.js +5 -0
- package/dist/src/server/components/lifecycle/slcm.type.js.map +1 -0
- package/dist/src/server/components/multi-server/MultiServerApp.d.ts +137 -0
- package/dist/src/server/components/multi-server/MultiServerApp.d.ts.map +1 -0
- package/dist/src/server/components/multi-server/MultiServerApp.js +574 -0
- package/dist/src/server/components/multi-server/MultiServerApp.js.map +1 -0
- package/dist/src/server/components/multi-server/MultiServerManager.d.ts +58 -0
- package/dist/src/server/components/multi-server/MultiServerManager.d.ts.map +1 -0
- package/dist/src/server/components/multi-server/MultiServerManager.js +363 -0
- package/dist/src/server/components/multi-server/MultiServerManager.js.map +1 -0
- package/dist/src/server/components/response-control/ResponseControlManager.d.ts +22 -0
- package/dist/src/server/components/response-control/ResponseControlManager.d.ts.map +1 -0
- package/dist/src/server/components/response-control/ResponseControlManager.js +60 -0
- package/dist/src/server/components/response-control/ResponseControlManager.js.map +1 -0
- package/dist/src/server/components/static/IXStaticSchem.d.ts +7 -0
- package/dist/src/server/components/static/IXStaticSchem.d.ts.map +1 -0
- package/dist/src/server/components/static/IXStaticSchem.js +25 -0
- package/dist/src/server/components/static/IXStaticSchem.js.map +1 -0
- package/dist/src/server/components/static/MetaCache.d.ts +15 -0
- package/dist/src/server/components/static/MetaCache.d.ts.map +1 -0
- package/dist/src/server/components/static/MetaCache.js +39 -0
- package/dist/src/server/components/static/MetaCache.js.map +1 -0
- package/dist/src/server/components/static/XStatic.d.ts +218 -0
- package/dist/src/server/components/static/XStatic.d.ts.map +1 -0
- package/dist/src/server/components/static/XStatic.js +388 -0
- package/dist/src/server/components/static/XStatic.js.map +1 -0
- package/dist/src/server/components/static/types.d.ts +34 -0
- package/dist/src/server/components/static/types.d.ts.map +1 -0
- package/dist/src/server/components/static/types.js +2 -0
- package/dist/src/server/components/static/types.js.map +1 -0
- package/dist/src/server/conf/networkConnectionConf.d.ts +20 -0
- package/dist/src/server/conf/networkConnectionConf.d.ts.map +1 -0
- package/dist/src/server/conf/networkConnectionConf.js +21 -0
- package/dist/src/server/conf/networkConnectionConf.js.map +1 -0
- package/dist/src/server/conf/proxyConfig.d.ts +24 -0
- package/dist/src/server/conf/proxyConfig.d.ts.map +1 -0
- package/dist/src/server/conf/proxyConfig.js +19 -0
- package/dist/src/server/conf/proxyConfig.js.map +1 -0
- package/dist/src/server/conf/rateLimitConfig.d.ts +29 -0
- package/dist/src/server/conf/rateLimitConfig.d.ts.map +1 -0
- package/dist/src/server/conf/rateLimitConfig.js +46 -0
- package/dist/src/server/conf/rateLimitConfig.js.map +1 -0
- package/dist/src/server/const/ExecutionPredictor_EP.const.d.ts +48 -0
- package/dist/src/server/const/ExecutionPredictor_EP.const.d.ts.map +1 -0
- package/dist/src/server/const/ExecutionPredictor_EP.const.js +68 -0
- package/dist/src/server/const/ExecutionPredictor_EP.const.js.map +1 -0
- package/dist/src/server/const/MIME_MAP.d.ts +2 -0
- package/dist/src/server/const/MIME_MAP.d.ts.map +1 -0
- package/dist/src/server/const/MIME_MAP.js +419 -0
- package/dist/src/server/const/MIME_MAP.js.map +1 -0
- package/dist/src/server/const/XHSC_SIGNATURE.d.ts +2 -0
- package/dist/src/server/const/XHSC_SIGNATURE.d.ts.map +1 -0
- package/dist/src/server/const/XHSC_SIGNATURE.js +3 -0
- package/dist/src/server/const/XHSC_SIGNATURE.js.map +1 -0
- package/dist/src/server/const/XRUNTIME-HEADER.d.ts +2 -0
- package/dist/src/server/const/XRUNTIME-HEADER.d.ts.map +1 -0
- package/dist/src/server/const/XRUNTIME-HEADER.js +2 -0
- package/dist/src/server/const/XRUNTIME-HEADER.js.map +1 -0
- package/dist/src/server/const/default.d.ts +10 -0
- package/dist/src/server/const/default.d.ts.map +1 -0
- package/dist/src/server/const/default.js +335 -0
- package/dist/src/server/const/default.js.map +1 -0
- package/dist/src/server/const/http.d.ts +13 -0
- package/dist/src/server/const/http.d.ts.map +1 -0
- package/dist/src/server/const/http.js +25 -0
- package/dist/src/server/const/http.js.map +1 -0
- package/dist/src/server/const/internalFlags.d.ts +6 -0
- package/dist/src/server/const/internalFlags.d.ts.map +1 -0
- package/dist/src/server/const/internalFlags.js +11 -0
- package/dist/src/server/const/internalFlags.js.map +1 -0
- package/dist/src/server/const/reStrategy.d.ts +3 -0
- package/dist/src/server/const/reStrategy.d.ts.map +1 -0
- package/dist/src/server/const/reStrategy.js +2 -0
- package/dist/src/server/const/reStrategy.js.map +1 -0
- package/dist/src/server/core/HttpServer.d.ts +58 -0
- package/dist/src/server/core/HttpServer.d.ts.map +1 -0
- package/dist/src/server/core/HttpServer.js +276 -0
- package/dist/src/server/core/HttpServer.js.map +1 -0
- package/dist/src/server/core/RequestApp.d.ts +42 -0
- package/dist/src/server/core/RequestApp.d.ts.map +1 -0
- package/dist/src/server/core/RequestApp.js +91 -0
- package/dist/src/server/core/RequestApp.js.map +1 -0
- package/dist/src/server/core/RequestEnhancer.d.ts +171 -0
- package/dist/src/server/core/RequestEnhancer.d.ts.map +1 -0
- package/dist/src/server/core/RequestEnhancer.js +330 -0
- package/dist/src/server/core/RequestEnhancer.js.map +1 -0
- package/dist/src/server/core/ResponseEnhancer.d.ts +320 -0
- package/dist/src/server/core/ResponseEnhancer.d.ts.map +1 -0
- package/dist/src/server/core/ResponseEnhancer.js +578 -0
- package/dist/src/server/core/ResponseEnhancer.js.map +1 -0
- package/dist/src/server/core/SendFileHandler.d.ts +12 -0
- package/dist/src/server/core/SendFileHandler.d.ts.map +1 -0
- package/dist/src/server/core/SendFileHandler.js +76 -0
- package/dist/src/server/core/SendFileHandler.js.map +1 -0
- package/dist/src/server/core/StartupProcessor.d.ts +35 -0
- package/dist/src/server/core/StartupProcessor.d.ts.map +1 -0
- package/dist/src/server/core/StartupProcessor.js +114 -0
- package/dist/src/server/core/StartupProcessor.js.map +1 -0
- package/dist/src/server/core/VirtualServer.d.ts +17 -0
- package/dist/src/server/core/VirtualServer.d.ts.map +1 -0
- package/dist/src/server/core/VirtualServer.js +28 -0
- package/dist/src/server/core/VirtualServer.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/EngineManager.d.ts +17 -0
- package/dist/src/server/core/XHSCBridge/EngineManager.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/EngineManager.js +168 -0
- package/dist/src/server/core/XHSCBridge/EngineManager.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/LogProcessor.d.ts +20 -0
- package/dist/src/server/core/XHSCBridge/LogProcessor.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/LogProcessor.js +124 -0
- package/dist/src/server/core/XHSCBridge/LogProcessor.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/SocketManager.d.ts +20 -0
- package/dist/src/server/core/XHSCBridge/SocketManager.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/SocketManager.js +83 -0
- package/dist/src/server/core/XHSCBridge/SocketManager.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildClusterArgs.d.ts +2 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildClusterArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildClusterArgs.js +66 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildClusterArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildConversionArgs.d.ts +5 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildConversionArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildConversionArgs.js +32 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildConversionArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildCoreArgs.d.ts +2 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildCoreArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildCoreArgs.js +33 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildCoreArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildNetworkArgs.d.ts +2 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildNetworkArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildNetworkArgs.js +49 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildNetworkArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildPerformanceArgs.d.ts +2 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildPerformanceArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildPerformanceArgs.js +44 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildPerformanceArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildRequestArgs.d.ts +2 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildRequestArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildRequestArgs.js +31 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildRequestArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildSecurityArgs.d.ts +61 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildSecurityArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js +330 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildSecurityArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildStaticArgs.d.ts +5 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildStaticArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildStaticArgs.js +37 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildStaticArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildUploadArgs.d.ts +2 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildUploadArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildUploadArgs.js +24 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildUploadArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildWorkerPoolArgs.d.ts +2 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildWorkerPoolArgs.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildWorkerPoolArgs.js +28 -0
- package/dist/src/server/core/XHSCBridge/cmd/buildWorkerPoolArgs.js.map +1 -0
- package/dist/src/server/core/XHSCBridge/index.d.ts +28 -0
- package/dist/src/server/core/XHSCBridge/index.d.ts.map +1 -0
- package/dist/src/server/core/XHSCBridge/index.js +102 -0
- package/dist/src/server/core/XHSCBridge/index.js.map +1 -0
- package/dist/src/server/core/XHSCProtocol.d.ts +156 -0
- package/dist/src/server/core/XHSCProtocol.d.ts.map +1 -0
- package/dist/src/server/core/XHSCProtocol.js +617 -0
- package/dist/src/server/core/XHSCProtocol.js.map +1 -0
- package/dist/src/server/core/XyDiagnosticsManager.d.ts +28 -0
- package/dist/src/server/core/XyDiagnosticsManager.d.ts.map +1 -0
- package/dist/src/server/core/XyDiagnosticsManager.js +74 -0
- package/dist/src/server/core/XyDiagnosticsManager.js.map +1 -0
- package/dist/src/server/core/XyLifecycleManager.d.ts +51 -0
- package/dist/src/server/core/XyLifecycleManager.d.ts.map +1 -0
- package/dist/src/server/core/XyLifecycleManager.js +230 -0
- package/dist/src/server/core/XyLifecycleManager.js.map +1 -0
- package/dist/src/server/core/XyModuleManager.d.ts +40 -0
- package/dist/src/server/core/XyModuleManager.d.ts.map +1 -0
- package/dist/src/server/core/XyModuleManager.js +124 -0
- package/dist/src/server/core/XyModuleManager.js.map +1 -0
- package/dist/src/server/core/XyRoutingManager.d.ts +42 -0
- package/dist/src/server/core/XyRoutingManager.d.ts.map +1 -0
- package/dist/src/server/core/XyRoutingManager.js +198 -0
- package/dist/src/server/core/XyRoutingManager.js.map +1 -0
- package/dist/src/server/core/XyServerCreator.d.ts +22 -0
- package/dist/src/server/core/XyServerCreator.d.ts.map +1 -0
- package/dist/src/server/core/XyServerCreator.js +121 -0
- package/dist/src/server/core/XyServerCreator.js.map +1 -0
- package/dist/src/server/core/XyprissApp.d.ts +208 -0
- package/dist/src/server/core/XyprissApp.d.ts.map +1 -0
- package/dist/src/server/core/XyprissApp.js +575 -0
- package/dist/src/server/core/XyprissApp.js.map +1 -0
- package/dist/src/server/core/http/BodyParser.d.ts +8 -0
- package/dist/src/server/core/http/BodyParser.d.ts.map +1 -0
- package/dist/src/server/core/http/BodyParser.js +43 -0
- package/dist/src/server/core/http/BodyParser.js.map +1 -0
- package/dist/src/server/core/http/HttpErrorHandler.d.ts +17 -0
- package/dist/src/server/core/http/HttpErrorHandler.d.ts.map +1 -0
- package/dist/src/server/core/http/HttpErrorHandler.js +49 -0
- package/dist/src/server/core/http/HttpErrorHandler.js.map +1 -0
- package/dist/src/server/core/http/RequestForwarder.d.ts +11 -0
- package/dist/src/server/core/http/RequestForwarder.d.ts.map +1 -0
- package/dist/src/server/core/http/RequestForwarder.js +41 -0
- package/dist/src/server/core/http/RequestForwarder.js.map +1 -0
- package/dist/src/server/core/http/RouteManager.d.ts +16 -0
- package/dist/src/server/core/http/RouteManager.d.ts.map +1 -0
- package/dist/src/server/core/http/RouteManager.js +103 -0
- package/dist/src/server/core/http/RouteManager.js.map +1 -0
- package/dist/src/server/core/request/XyRequestManager.d.ts +57 -0
- package/dist/src/server/core/request/XyRequestManager.d.ts.map +1 -0
- package/dist/src/server/core/request/XyRequestManager.js +226 -0
- package/dist/src/server/core/request/XyRequestManager.js.map +1 -0
- package/dist/src/server/handlers/NotFoundHandler.d.ts +25 -0
- package/dist/src/server/handlers/NotFoundHandler.d.ts.map +1 -0
- package/dist/src/server/handlers/NotFoundHandler.js +79 -0
- package/dist/src/server/handlers/NotFoundHandler.js.map +1 -0
- package/dist/src/server/handlers/templates/notFoundTemplate.d.ts +3 -0
- package/dist/src/server/handlers/templates/notFoundTemplate.d.ts.map +1 -0
- package/dist/src/server/handlers/templates/notFoundTemplate.js +396 -0
- package/dist/src/server/handlers/templates/notFoundTemplate.js.map +1 -0
- package/dist/src/server/middleware/MiddlewareManager.d.ts +64 -0
- package/dist/src/server/middleware/MiddlewareManager.d.ts.map +1 -0
- package/dist/src/server/middleware/MiddlewareManager.js +217 -0
- package/dist/src/server/middleware/MiddlewareManager.js.map +1 -0
- package/dist/src/server/routing/Router.d.ts +57 -0
- package/dist/src/server/routing/Router.d.ts.map +1 -0
- package/dist/src/server/routing/Router.js +173 -0
- package/dist/src/server/routing/Router.js.map +1 -0
- package/dist/src/server/routing/index.d.ts +16 -0
- package/dist/src/server/routing/index.d.ts.map +1 -0
- package/dist/src/server/routing/index.js +7 -0
- package/dist/src/server/routing/index.js.map +1 -0
- package/dist/src/server/routing/modules/XyGuard.d.ts +34 -0
- package/dist/src/server/routing/modules/XyGuard.d.ts.map +1 -0
- package/dist/src/server/routing/modules/XyGuard.js +30 -0
- package/dist/src/server/routing/modules/XyGuard.js.map +1 -0
- package/dist/src/server/routing/modules/constants.d.ts +5 -0
- package/dist/src/server/routing/modules/constants.d.ts.map +1 -0
- package/dist/src/server/routing/modules/constants.js +13 -0
- package/dist/src/server/routing/modules/constants.js.map +1 -0
- package/dist/src/server/routing/modules/groups.d.ts +14 -0
- package/dist/src/server/routing/modules/groups.d.ts.map +1 -0
- package/dist/src/server/routing/modules/groups.js +55 -0
- package/dist/src/server/routing/modules/groups.js.map +1 -0
- package/dist/src/server/routing/modules/helpers.d.ts +19 -0
- package/dist/src/server/routing/modules/helpers.d.ts.map +1 -0
- package/dist/src/server/routing/modules/helpers.js +164 -0
- package/dist/src/server/routing/modules/helpers.js.map +1 -0
- package/dist/src/server/routing/modules/middleware.d.ts +20 -0
- package/dist/src/server/routing/modules/middleware.d.ts.map +1 -0
- package/dist/src/server/routing/modules/middleware.js +185 -0
- package/dist/src/server/routing/modules/middleware.js.map +1 -0
- package/dist/src/server/routing/modules/path.d.ts +33 -0
- package/dist/src/server/routing/modules/path.d.ts.map +1 -0
- package/dist/src/server/routing/modules/path.js +125 -0
- package/dist/src/server/routing/modules/path.js.map +1 -0
- package/dist/src/server/routing/modules/registry.d.ts +29 -0
- package/dist/src/server/routing/modules/registry.d.ts.map +1 -0
- package/dist/src/server/routing/modules/registry.js +159 -0
- package/dist/src/server/routing/modules/registry.js.map +1 -0
- package/dist/src/server/routing/modules/types.d.ts +143 -0
- package/dist/src/server/routing/modules/types.d.ts.map +1 -0
- package/dist/src/server/routing/modules/types.js +2 -0
- package/dist/src/server/routing/modules/types.js.map +1 -0
- package/dist/src/server/service/Reload/exec/ExecutableBuilder.d.ts +67 -0
- package/dist/src/server/service/Reload/exec/ExecutableBuilder.d.ts.map +1 -0
- package/dist/src/server/service/Reload/exec/ExecutableBuilder.js +337 -0
- package/dist/src/server/service/Reload/exec/ExecutableBuilder.js.map +1 -0
- package/dist/src/server/service/Reload/exec/TypeScriptExecutor.d.ts +67 -0
- package/dist/src/server/service/Reload/exec/TypeScriptExecutor.d.ts.map +1 -0
- package/dist/src/server/service/Reload/exec/TypeScriptExecutor.js +337 -0
- package/dist/src/server/service/Reload/exec/TypeScriptExecutor.js.map +1 -0
- package/dist/src/server/service/Reload/exec/build-executable.d.ts +9 -0
- package/dist/src/server/service/Reload/exec/build-executable.d.ts.map +1 -0
- package/dist/src/server/service/Reload/exec/build-executable.js +44 -0
- package/dist/src/server/service/Reload/exec/build-executable.js.map +1 -0
- package/dist/src/server/service/Reload/types/TSExecutor.type.d.ts +18 -0
- package/dist/src/server/service/Reload/types/TSExecutor.type.d.ts.map +1 -0
- package/dist/src/server/service/Reload/types/TSExecutor.type.js +2 -0
- package/dist/src/server/service/Reload/types/TSExecutor.type.js.map +1 -0
- package/dist/src/server/service/Reload/types/hotreloader.d.ts +21 -0
- package/dist/src/server/service/Reload/types/hotreloader.d.ts.map +1 -0
- package/dist/src/server/service/Reload/types/hotreloader.js +2 -0
- package/dist/src/server/service/Reload/types/hotreloader.js.map +1 -0
- package/dist/src/server/service/Reload/types/quickdev.type.d.ts +30 -0
- package/dist/src/server/service/Reload/types/quickdev.type.d.ts.map +1 -0
- package/dist/src/server/service/Reload/types/quickdev.type.js +2 -0
- package/dist/src/server/service/Reload/types/quickdev.type.js.map +1 -0
- package/dist/src/server/utils/ConfigLoader.d.ts +33 -0
- package/dist/src/server/utils/ConfigLoader.d.ts.map +1 -0
- package/dist/src/server/utils/ConfigLoader.js +182 -0
- package/dist/src/server/utils/ConfigLoader.js.map +1 -0
- package/dist/src/server/utils/MetaConfigRunner.d.ts +19 -0
- package/dist/src/server/utils/MetaConfigRunner.d.ts.map +1 -0
- package/dist/src/server/utils/MetaConfigRunner.js +84 -0
- package/dist/src/server/utils/MetaConfigRunner.js.map +1 -0
- package/dist/src/server/utils/PortManager.d.ts +61 -0
- package/dist/src/server/utils/PortManager.d.ts.map +1 -0
- package/dist/src/server/utils/PortManager.js +245 -0
- package/dist/src/server/utils/PortManager.js.map +1 -0
- package/dist/src/server/utils/WorkerModeHandler.d.ts +7 -0
- package/dist/src/server/utils/WorkerModeHandler.d.ts.map +1 -0
- package/dist/src/server/utils/WorkerModeHandler.js +60 -0
- package/dist/src/server/utils/WorkerModeHandler.js.map +1 -0
- package/dist/src/server/utils/es_modules.d.ts +3 -0
- package/dist/src/server/utils/es_modules.d.ts.map +1 -0
- package/dist/src/server/utils/es_modules.js +5 -0
- package/dist/src/server/utils/es_modules.js.map +1 -0
- package/dist/src/server/utils/forceClosePort.d.ts +100 -0
- package/dist/src/server/utils/forceClosePort.d.ts.map +1 -0
- package/dist/src/server/utils/forceClosePort.js +328 -0
- package/dist/src/server/utils/forceClosePort.js.map +1 -0
- package/dist/src/server/utils/internalFlagsFunctions.d.ts +71 -0
- package/dist/src/server/utils/internalFlagsFunctions.d.ts.map +1 -0
- package/dist/src/server/utils/internalFlagsFunctions.js +150 -0
- package/dist/src/server/utils/internalFlagsFunctions.js.map +1 -0
- package/dist/src/server/utils/shouldRegisterRouteOnServer.d.ts +6 -0
- package/dist/src/server/utils/shouldRegisterRouteOnServer.d.ts.map +1 -0
- package/dist/src/server/utils/shouldRegisterRouteOnServer.js +30 -0
- package/dist/src/server/utils/shouldRegisterRouteOnServer.js.map +1 -0
- package/dist/src/server/utils/wildcardMatcher.d.ts +30 -0
- package/dist/src/server/utils/wildcardMatcher.d.ts.map +1 -0
- package/dist/src/server/utils/wildcardMatcher.js +220 -0
- package/dist/src/server/utils/wildcardMatcher.js.map +1 -0
- package/dist/src/shared/logger/DEFAULT_LOGGER_CONFIG.d.ts +3 -0
- package/dist/src/shared/logger/DEFAULT_LOGGER_CONFIG.d.ts.map +1 -0
- package/dist/src/shared/logger/DEFAULT_LOGGER_CONFIG.js +63 -0
- package/dist/src/shared/logger/DEFAULT_LOGGER_CONFIG.js.map +1 -0
- package/dist/src/shared/logger/DEFAULT_PALETTE.d.ts +16 -0
- package/dist/src/shared/logger/DEFAULT_PALETTE.d.ts.map +1 -0
- package/dist/src/shared/logger/DEFAULT_PALETTE.js +16 -0
- package/dist/src/shared/logger/DEFAULT_PALETTE.js.map +1 -0
- package/dist/src/shared/logger/Logger.d.ts +95 -0
- package/dist/src/shared/logger/Logger.d.ts.map +1 -0
- package/dist/src/shared/logger/Logger.js +576 -0
- package/dist/src/shared/logger/Logger.js.map +1 -0
- package/dist/src/shared/logger/index.d.ts +2 -0
- package/dist/src/shared/logger/index.d.ts.map +1 -0
- package/dist/src/shared/logger/index.js +2 -0
- package/dist/src/shared/logger/index.js.map +1 -0
- package/dist/src/shared/logger/quickLogger.d.ts +19 -0
- package/dist/src/shared/logger/quickLogger.d.ts.map +1 -0
- package/dist/src/shared/logger/quickLogger.js +162 -0
- package/dist/src/shared/logger/quickLogger.js.map +1 -0
- package/dist/src/shared/types/index.d.ts +2 -0
- package/dist/src/shared/types/index.d.ts.map +1 -0
- package/dist/src/shared/types/index.js +2 -0
- package/dist/src/shared/types/index.js.map +1 -0
- package/dist/src/shared/types/logger.type.d.ts +46 -0
- package/dist/src/shared/types/logger.type.d.ts.map +1 -0
- package/dist/src/shared/types/logger.type.js +41 -0
- package/dist/src/shared/types/logger.type.js.map +1 -0
- package/dist/src/types/CpuMon.t.d.ts +43 -0
- package/dist/src/types/CpuMon.t.d.ts.map +1 -0
- package/dist/src/types/CpuMon.t.js +2 -0
- package/dist/src/types/CpuMon.t.js.map +1 -0
- package/dist/src/types/ExecutionPredictor.type.d.ts +25 -0
- package/dist/src/types/ExecutionPredictor.type.d.ts.map +1 -0
- package/dist/src/types/ExecutionPredictor.type.js +2 -0
- package/dist/src/types/ExecutionPredictor.type.js.map +1 -0
- package/dist/src/types/FiUp.type.d.ts +50 -0
- package/dist/src/types/FiUp.type.d.ts.map +1 -0
- package/dist/src/types/FiUp.type.js +2 -0
- package/dist/src/types/FiUp.type.js.map +1 -0
- package/dist/src/types/NotFoundConfig.d.ts +39 -0
- package/dist/src/types/NotFoundConfig.d.ts.map +1 -0
- package/dist/src/types/NotFoundConfig.js +82 -0
- package/dist/src/types/NotFoundConfig.js.map +1 -0
- package/dist/src/types/ReqPreCompiler.type.d.ts +49 -0
- package/dist/src/types/ReqPreCompiler.type.d.ts.map +1 -0
- package/dist/src/types/ReqPreCompiler.type.js +2 -0
- package/dist/src/types/ReqPreCompiler.type.js.map +1 -0
- package/dist/src/types/SendUtils.d.ts +79 -0
- package/dist/src/types/SendUtils.d.ts.map +1 -0
- package/dist/src/types/SendUtils.js +5 -0
- package/dist/src/types/SendUtils.js.map +1 -0
- package/dist/src/types/ServerOptions.d.ts +875 -0
- package/dist/src/types/ServerOptions.d.ts.map +1 -0
- package/dist/src/types/ServerOptions.js +4 -0
- package/dist/src/types/ServerOptions.js.map +1 -0
- package/dist/src/types/XyApp.type.d.ts +614 -0
- package/dist/src/types/XyApp.type.d.ts.map +1 -0
- package/dist/src/types/XyApp.type.js +2 -0
- package/dist/src/types/XyApp.type.js.map +1 -0
- package/dist/src/types/XyPrissRouter.types.d.ts +23 -0
- package/dist/src/types/XyPrissRouter.types.d.ts.map +1 -0
- package/dist/src/types/XyPrissRouter.types.js +2 -0
- package/dist/src/types/XyPrissRouter.types.js.map +1 -0
- package/dist/src/types/bun_cluster.t.d.ts +40 -0
- package/dist/src/types/bun_cluster.t.d.ts.map +1 -0
- package/dist/src/types/bun_cluster.t.js +2 -0
- package/dist/src/types/bun_cluster.t.js.map +1 -0
- package/dist/src/types/cluster.ipc.t.d.ts +141 -0
- package/dist/src/types/cluster.ipc.t.d.ts.map +1 -0
- package/dist/src/types/cluster.ipc.t.js +88 -0
- package/dist/src/types/cluster.ipc.t.js.map +1 -0
- package/dist/src/types/components/CacheManager.type.d.ts +8 -0
- package/dist/src/types/components/CacheManager.type.d.ts.map +1 -0
- package/dist/src/types/components/CacheManager.type.js +2 -0
- package/dist/src/types/components/CacheManager.type.js.map +1 -0
- package/dist/src/types/components/PlugingM.type.d.ts +8 -0
- package/dist/src/types/components/PlugingM.type.d.ts.map +1 -0
- package/dist/src/types/components/PlugingM.type.js +2 -0
- package/dist/src/types/components/PlugingM.type.js.map +1 -0
- package/dist/src/types/components/ReqProcessor.type.d.ts +7 -0
- package/dist/src/types/components/ReqProcessor.type.d.ts.map +1 -0
- package/dist/src/types/components/ReqProcessor.type.js +2 -0
- package/dist/src/types/components/ReqProcessor.type.js.map +1 -0
- package/dist/src/types/components/RouteM.type.d.ts +9 -0
- package/dist/src/types/components/RouteM.type.d.ts.map +1 -0
- package/dist/src/types/components/RouteM.type.js +2 -0
- package/dist/src/types/components/RouteM.type.js.map +1 -0
- package/dist/src/types/httpServer.type.d.ts +258 -0
- package/dist/src/types/httpServer.type.d.ts.map +1 -0
- package/dist/src/types/httpServer.type.js +25 -0
- package/dist/src/types/httpServer.type.js.map +1 -0
- package/dist/src/types/index.d.ts +228 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +37 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/middleware-api.types.d.ts +180 -0
- package/dist/src/types/middleware-api.types.d.ts.map +1 -0
- package/dist/src/types/middleware-api.types.js +6 -0
- package/dist/src/types/middleware-api.types.js.map +1 -0
- package/dist/src/types/middlewareManager.types.d.ts +18 -0
- package/dist/src/types/middlewareManager.types.d.ts.map +1 -0
- package/dist/src/types/middlewareManager.types.js +2 -0
- package/dist/src/types/middlewareManager.types.js.map +1 -0
- package/dist/src/types/mod/cache.d.ts +417 -0
- package/dist/src/types/mod/cache.d.ts.map +1 -0
- package/dist/src/types/mod/cache.js +12 -0
- package/dist/src/types/mod/cache.js.map +1 -0
- package/dist/src/types/mod/core.d.ts +390 -0
- package/dist/src/types/mod/core.d.ts.map +1 -0
- package/dist/src/types/mod/core.js +2 -0
- package/dist/src/types/mod/core.js.map +1 -0
- package/dist/src/types/mod/monitoring.d.ts +473 -0
- package/dist/src/types/mod/monitoring.d.ts.map +1 -0
- package/dist/src/types/mod/monitoring.js +12 -0
- package/dist/src/types/mod/monitoring.js.map +1 -0
- package/dist/src/types/mod/performance.d.ts +370 -0
- package/dist/src/types/mod/performance.d.ts.map +1 -0
- package/dist/src/types/mod/performance.js +12 -0
- package/dist/src/types/mod/performance.js.map +1 -0
- package/dist/src/types/mod/routing.d.ts +385 -0
- package/dist/src/types/mod/routing.d.ts.map +1 -0
- package/dist/src/types/mod/routing.js +12 -0
- package/dist/src/types/mod/routing.js.map +1 -0
- package/dist/src/types/mod/security.d.ts +1370 -0
- package/dist/src/types/mod/security.d.ts.map +1 -0
- package/dist/src/types/mod/security.js +2 -0
- package/dist/src/types/mod/security.js.map +1 -0
- package/dist/src/types/perfomance.d.ts +37 -0
- package/dist/src/types/perfomance.d.ts.map +1 -0
- package/dist/src/types/perfomance.js +2 -0
- package/dist/src/types/perfomance.js.map +1 -0
- package/dist/src/types/types.d.ts +210 -0
- package/dist/src/types/types.d.ts.map +1 -0
- package/dist/src/types/types.js +21 -0
- package/dist/src/types/types.js.map +1 -0
- package/dist/src/types/xems.type.d.ts +84 -0
- package/dist/src/types/xems.type.d.ts.map +1 -0
- package/dist/src/types/xems.type.js +2 -0
- package/dist/src/types/xems.type.js.map +1 -0
- package/dist/src/utils/ConfigSyntaxParser.d.ts +59 -0
- package/dist/src/utils/ConfigSyntaxParser.d.ts.map +1 -0
- package/dist/src/utils/ConfigSyntaxParser.js +240 -0
- package/dist/src/utils/ConfigSyntaxParser.js.map +1 -0
- package/dist/src/utils/DotEnvLoader.d.ts +25 -0
- package/dist/src/utils/DotEnvLoader.d.ts.map +1 -0
- package/dist/src/utils/DotEnvLoader.js +69 -0
- package/dist/src/utils/DotEnvLoader.js.map +1 -0
- package/dist/src/utils/JsonUtils.d.ts +23 -0
- package/dist/src/utils/JsonUtils.d.ts.map +1 -0
- package/dist/src/utils/JsonUtils.js +29 -0
- package/dist/src/utils/JsonUtils.js.map +1 -0
- package/dist/src/utils/ProjectDiscovery.d.ts +61 -0
- package/dist/src/utils/ProjectDiscovery.d.ts.map +1 -0
- package/dist/src/utils/ProjectDiscovery.js +302 -0
- package/dist/src/utils/ProjectDiscovery.js.map +1 -0
- package/dist/src/utils/SecurityShield.d.ts +11 -0
- package/dist/src/utils/SecurityShield.d.ts.map +1 -0
- package/dist/src/utils/SecurityShield.js +57 -0
- package/dist/src/utils/SecurityShield.js.map +1 -0
- package/dist/src/utils/Send.d.ts +466 -0
- package/dist/src/utils/Send.d.ts.map +1 -0
- package/dist/src/utils/Send.js +619 -0
- package/dist/src/utils/Send.js.map +1 -0
- package/dist/src/utils/getIp.d.ts +53 -0
- package/dist/src/utils/getIp.d.ts.map +1 -0
- package/dist/src/utils/getIp.js +160 -0
- package/dist/src/utils/getIp.js.map +1 -0
- package/dist/src/utils/getMime.d.ts +52 -0
- package/dist/src/utils/getMime.d.ts.map +1 -0
- package/dist/src/utils/getMime.js +90 -0
- package/dist/src/utils/getMime.js.map +1 -0
- package/dist/src/utils/mergeWithDefaults.d.ts +92 -0
- package/dist/src/utils/mergeWithDefaults.d.ts.map +1 -0
- package/dist/src/utils/mergeWithDefaults.js +172 -0
- package/dist/src/utils/mergeWithDefaults.js.map +1 -0
- package/dist/src/utils/mimeUtils.d.ts +10 -0
- package/dist/src/utils/mimeUtils.d.ts.map +1 -0
- package/dist/src/utils/mimeUtils.js +14 -0
- package/dist/src/utils/mimeUtils.js.map +1 -0
- package/dist/src/xhsc/EnvApi.d.ts +310 -0
- package/dist/src/xhsc/EnvApi.d.ts.map +1 -0
- package/dist/src/xhsc/EnvApi.js +556 -0
- package/dist/src/xhsc/EnvApi.js.map +1 -0
- package/dist/src/xhsc/FSApi.d.ts +21 -0
- package/dist/src/xhsc/FSApi.d.ts.map +1 -0
- package/dist/src/xhsc/FSApi.js +49 -0
- package/dist/src/xhsc/FSApi.js.map +1 -0
- package/dist/src/xhsc/OSApi.d.ts +195 -0
- package/dist/src/xhsc/OSApi.d.ts.map +1 -0
- package/dist/src/xhsc/OSApi.js +220 -0
- package/dist/src/xhsc/OSApi.js.map +1 -0
- package/dist/src/xhsc/PathApi.d.ts +305 -0
- package/dist/src/xhsc/PathApi.d.ts.map +1 -0
- package/dist/src/xhsc/PathApi.js +389 -0
- package/dist/src/xhsc/PathApi.js.map +1 -0
- package/dist/src/xhsc/System.d.ts +126 -0
- package/dist/src/xhsc/System.d.ts.map +1 -0
- package/dist/src/xhsc/System.js +58 -0
- package/dist/src/xhsc/System.js.map +1 -0
- package/dist/src/xhsc/UtilsApi.d.ts +45 -0
- package/dist/src/xhsc/UtilsApi.d.ts.map +1 -0
- package/dist/src/xhsc/UtilsApi.js +47 -0
- package/dist/src/xhsc/UtilsApi.js.map +1 -0
- package/dist/src/xhsc/VarsApi.d.ts +81 -0
- package/dist/src/xhsc/VarsApi.d.ts.map +1 -0
- package/dist/src/xhsc/VarsApi.js +175 -0
- package/dist/src/xhsc/VarsApi.js.map +1 -0
- package/dist/src/xhsc/XyPrissCache.d.ts +36 -0
- package/dist/src/xhsc/XyPrissCache.d.ts.map +1 -0
- package/dist/src/xhsc/XyPrissCache.js +66 -0
- package/dist/src/xhsc/XyPrissCache.js.map +1 -0
- package/dist/src/xhsc/XyPrissRunner.d.ts +48 -0
- package/dist/src/xhsc/XyPrissRunner.d.ts.map +1 -0
- package/dist/src/xhsc/XyPrissRunner.js +395 -0
- package/dist/src/xhsc/XyPrissRunner.js.map +1 -0
- package/dist/src/xhsc/api/env/env.d.ts +227 -0
- package/dist/src/xhsc/api/env/env.d.ts.map +1 -0
- package/dist/src/xhsc/api/env/env.js +84 -0
- package/dist/src/xhsc/api/env/env.js.map +1 -0
- package/dist/src/xhsc/cluster/XHSCWorker.d.ts +95 -0
- package/dist/src/xhsc/cluster/XHSCWorker.d.ts.map +1 -0
- package/dist/src/xhsc/cluster/XHSCWorker.js +319 -0
- package/dist/src/xhsc/cluster/XHSCWorker.js.map +1 -0
- package/dist/src/xhsc/cluster/xbp.d.ts +87 -0
- package/dist/src/xhsc/cluster/xbp.d.ts.map +1 -0
- package/dist/src/xhsc/cluster/xbp.js +366 -0
- package/dist/src/xhsc/cluster/xbp.js.map +1 -0
- package/dist/src/xhsc/cmdr.d.ts +9 -0
- package/dist/src/xhsc/cmdr.d.ts.map +1 -0
- package/dist/src/xhsc/cmdr.js +2 -0
- package/dist/src/xhsc/cmdr.js.map +1 -0
- package/dist/src/xhsc/fs/FSArchive.d.ts +55 -0
- package/dist/src/xhsc/fs/FSArchive.d.ts.map +1 -0
- package/dist/src/xhsc/fs/FSArchive.js +66 -0
- package/dist/src/xhsc/fs/FSArchive.js.map +1 -0
- package/dist/src/xhsc/fs/FSBase.d.ts +14 -0
- package/dist/src/xhsc/fs/FSBase.d.ts.map +1 -0
- package/dist/src/xhsc/fs/FSBase.js +15 -0
- package/dist/src/xhsc/fs/FSBase.js.map +1 -0
- package/dist/src/xhsc/fs/FSCore.d.ts +416 -0
- package/dist/src/xhsc/fs/FSCore.d.ts.map +1 -0
- package/dist/src/xhsc/fs/FSCore.js +522 -0
- package/dist/src/xhsc/fs/FSCore.js.map +1 -0
- package/dist/src/xhsc/fs/FSExtended.d.ts +212 -0
- package/dist/src/xhsc/fs/FSExtended.d.ts.map +1 -0
- package/dist/src/xhsc/fs/FSExtended.js +303 -0
- package/dist/src/xhsc/fs/FSExtended.js.map +1 -0
- package/dist/src/xhsc/fs/FSHelpers.d.ts +381 -0
- package/dist/src/xhsc/fs/FSHelpers.d.ts.map +1 -0
- package/dist/src/xhsc/fs/FSHelpers.js +501 -0
- package/dist/src/xhsc/fs/FSHelpers.js.map +1 -0
- package/dist/src/xhsc/fs/FSSearch.d.ts +77 -0
- package/dist/src/xhsc/fs/FSSearch.d.ts.map +1 -0
- package/dist/src/xhsc/fs/FSSearch.js +95 -0
- package/dist/src/xhsc/fs/FSSearch.js.map +1 -0
- package/dist/src/xhsc/fs/FSWatch.d.ts +107 -0
- package/dist/src/xhsc/fs/FSWatch.d.ts.map +1 -0
- package/dist/src/xhsc/fs/FSWatch.js +136 -0
- package/dist/src/xhsc/fs/FSWatch.js.map +1 -0
- package/dist/src/xhsc/fs/FileHandle.d.ts +40 -0
- package/dist/src/xhsc/fs/FileHandle.d.ts.map +1 -0
- package/dist/src/xhsc/fs/FileHandle.js +107 -0
- package/dist/src/xhsc/fs/FileHandle.js.map +1 -0
- package/dist/src/xhsc/ipc/XHSCDirectIPC.d.ts +24 -0
- package/dist/src/xhsc/ipc/XHSCDirectIPC.d.ts.map +1 -0
- package/dist/src/xhsc/ipc/XHSCDirectIPC.js +110 -0
- package/dist/src/xhsc/ipc/XHSCDirectIPC.js.map +1 -0
- package/dist/src/xhsc/types.d.ts +268 -0
- package/dist/src/xhsc/types.d.ts.map +1 -0
- package/dist/src/xhsc/types.js +8 -0
- package/dist/src/xhsc/types.js.map +1 -0
- package/dist/src/xhsc/utils/ArrayUtils.d.ts +38 -0
- package/dist/src/xhsc/utils/ArrayUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/ArrayUtils.js +63 -0
- package/dist/src/xhsc/utils/ArrayUtils.js.map +1 -0
- package/dist/src/xhsc/utils/AsyncUtils.d.ts +437 -0
- package/dist/src/xhsc/utils/AsyncUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/AsyncUtils.js +578 -0
- package/dist/src/xhsc/utils/AsyncUtils.js.map +1 -0
- package/dist/src/xhsc/utils/DateUtils.d.ts +649 -0
- package/dist/src/xhsc/utils/DateUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/DateUtils.js +956 -0
- package/dist/src/xhsc/utils/DateUtils.js.map +1 -0
- package/dist/src/xhsc/utils/Discovery.d.ts +41 -0
- package/dist/src/xhsc/utils/Discovery.d.ts.map +1 -0
- package/dist/src/xhsc/utils/Discovery.js +108 -0
- package/dist/src/xhsc/utils/Discovery.js.map +1 -0
- package/dist/src/xhsc/utils/FunctionUtils.d.ts +15 -0
- package/dist/src/xhsc/utils/FunctionUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/FunctionUtils.js +25 -0
- package/dist/src/xhsc/utils/FunctionUtils.js.map +1 -0
- package/dist/src/xhsc/utils/IdUtils.d.ts +14 -0
- package/dist/src/xhsc/utils/IdUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/IdUtils.js +17 -0
- package/dist/src/xhsc/utils/IdUtils.js.map +1 -0
- package/dist/src/xhsc/utils/NumberUtils.d.ts +59 -0
- package/dist/src/xhsc/utils/NumberUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/NumberUtils.js +75 -0
- package/dist/src/xhsc/utils/NumberUtils.js.map +1 -0
- package/dist/src/xhsc/utils/ObjectUtils.d.ts +96 -0
- package/dist/src/xhsc/utils/ObjectUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/ObjectUtils.js +136 -0
- package/dist/src/xhsc/utils/ObjectUtils.js.map +1 -0
- package/dist/src/xhsc/utils/Platform.d.ts +29 -0
- package/dist/src/xhsc/utils/Platform.d.ts.map +1 -0
- package/dist/src/xhsc/utils/Platform.js +47 -0
- package/dist/src/xhsc/utils/Platform.js.map +1 -0
- package/dist/src/xhsc/utils/StringUtils.d.ts +105 -0
- package/dist/src/xhsc/utils/StringUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/StringUtils.js +141 -0
- package/dist/src/xhsc/utils/StringUtils.js.map +1 -0
- package/dist/src/xhsc/utils/ValidationUtils.d.ts +33 -0
- package/dist/src/xhsc/utils/ValidationUtils.d.ts.map +1 -0
- package/dist/src/xhsc/utils/ValidationUtils.js +45 -0
- package/dist/src/xhsc/utils/ValidationUtils.js.map +1 -0
- package/dist/src/xhsc.d.ts +49 -0
- package/dist/src/xhsc.d.ts.map +1 -0
- package/dist/src/xhsc.js +263 -0
- package/dist/src/xhsc.js.map +1 -0
- package/dist/test_finish.d.ts +2 -0
- package/dist/test_finish.d.ts.map +1 -0
- package/dist/test_finish.js +10 -0
- package/dist/test_finish.js.map +1 -0
- package/dist/test_parser_optimizations.d.ts +2 -0
- package/dist/test_parser_optimizations.d.ts.map +1 -0
- package/dist/test_parser_optimizations.js +22 -0
- package/dist/test_parser_optimizations.js.map +1 -0
- package/dist/test_regex.d.ts +2 -0
- package/dist/test_regex.d.ts.map +1 -0
- package/dist/test_regex.js +20 -0
- package/dist/test_regex.js.map +1 -0
- package/dist/test_server.d.ts +2 -0
- package/dist/test_server.d.ts.map +1 -0
- package/dist/test_server.js +23 -0
- package/dist/test_server.js.map +1 -0
- package/package.json +3 -6
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* XyPrissJS - Fast And Secure
|
|
3
|
+
*
|
|
4
|
+
* @author Nehonix
|
|
5
|
+
* @license Nehonix OSL (NOSL)
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
8
|
+
*
|
|
9
|
+
* This License governs the use, modification, and distribution of software
|
|
10
|
+
* provided by NEHONIX under its open source projects.
|
|
11
|
+
* NEHONIX is committed to fostering collaborative innovation while strictly
|
|
12
|
+
* protecting its intellectual property rights.
|
|
13
|
+
* Violation of any term of this License will result in immediate termination of all granted rights
|
|
14
|
+
* and may subject the violator to legal action.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
17
|
+
* INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
|
|
18
|
+
* AND NON-INFRINGEMENT.
|
|
19
|
+
* IN NO EVENT SHALL NEHONIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
|
20
|
+
* OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OR INABILITY TO USE THE SOFTWARE,
|
|
21
|
+
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
22
|
+
*
|
|
23
|
+
***************************************************************************** */
|
|
24
|
+
import { XyPrisRequest } from "../types/httpServer.type";
|
|
25
|
+
/** Result enriched with metadata for observability / debugging. */
|
|
26
|
+
export interface GetIpResult {
|
|
27
|
+
/** Resolved IP address (IPv4 or IPv6, normalised). */
|
|
28
|
+
ip: string;
|
|
29
|
+
/** Header / source that provided the IP. */
|
|
30
|
+
source: IpSource;
|
|
31
|
+
}
|
|
32
|
+
export type IpSource = "cf-connecting-ip" | "true-client-ip" | "x-real-ip" | "x-forwarded-for" | "forwarded" | "x-client-ip" | "x-cluster-client-ip" | "req.ip" | "socket" | "fallback";
|
|
33
|
+
/**
|
|
34
|
+
* Robustly extracts the **real** client IP from a request.
|
|
35
|
+
*
|
|
36
|
+
* Resolution order (most-specific / trustworthy first):
|
|
37
|
+
* 1. `CF-Connecting-IP` – Cloudflare; single, authoritative value
|
|
38
|
+
* 2. `True-Client-IP` – Akamai / Cloudflare enterprise
|
|
39
|
+
* 3. `X-Real-IP` – Nginx single-proxy setups
|
|
40
|
+
* 4. `X-Client-IP` – Some load balancers / Apache mod_remoteip
|
|
41
|
+
* 5. `X-Cluster-Client-IP` – Rackspace, some Nginx configs
|
|
42
|
+
* 6. `Forwarded` – RFC 7239 standard header
|
|
43
|
+
* 7. `X-Forwarded-For` – De-facto standard (picks first public IP)
|
|
44
|
+
* 8. `req.ip` – XyPrisRequest parsed value
|
|
45
|
+
* 9. `socket.remoteAddress` – Raw TCP socket
|
|
46
|
+
* 10. `"127.0.0.1"` – Ultimate fallback (never throws)
|
|
47
|
+
*
|
|
48
|
+
* @param req - The request object (XyPrisRequest-compatible).
|
|
49
|
+
* @param enriched - When `true`, returns `{ ip, source }` for observability.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getIp(req: XyPrisRequest): string;
|
|
52
|
+
export declare function getIp(req: XyPrisRequest, enriched: true): GetIpResult;
|
|
53
|
+
//# sourceMappingURL=getIp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIp.d.ts","sourceRoot":"","sources":["../../../src/utils/getIp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;iFAsBiF;AAIjF,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAIzD,mEAAmE;AACnE,MAAM,WAAW,WAAW;IACxB,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,MAAM,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,MAAM,QAAQ,GACd,kBAAkB,GAClB,gBAAgB,GAChB,WAAW,GACX,iBAAiB,GACjB,WAAW,GACX,aAAa,GACb,qBAAqB,GACrB,QAAQ,GACR,QAAQ,GACR,UAAU,CAAC;AAuGjB;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAAC;AAClD,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,GAAG,WAAW,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* XyPrissJS - Fast And Secure
|
|
3
|
+
*
|
|
4
|
+
* @author Nehonix
|
|
5
|
+
* @license Nehonix OSL (NOSL)
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
8
|
+
*
|
|
9
|
+
* This License governs the use, modification, and distribution of software
|
|
10
|
+
* provided by NEHONIX under its open source projects.
|
|
11
|
+
* NEHONIX is committed to fostering collaborative innovation while strictly
|
|
12
|
+
* protecting its intellectual property rights.
|
|
13
|
+
* Violation of any term of this License will result in immediate termination of all granted rights
|
|
14
|
+
* and may subject the violator to legal action.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
17
|
+
* INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
|
|
18
|
+
* AND NON-INFRINGEMENT.
|
|
19
|
+
* IN NO EVENT SHALL NEHONIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
|
20
|
+
* OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OR INABILITY TO USE THE SOFTWARE,
|
|
21
|
+
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
22
|
+
*
|
|
23
|
+
***************************************************************************** */
|
|
24
|
+
// ─── Constants ────────────────────────────────────────────────────────────────
|
|
25
|
+
/** Regex that validates a raw IPv4 or IPv6 string (no port, no brackets). */
|
|
26
|
+
const IPV4_RE = /^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/;
|
|
27
|
+
const IPV6_RE = /^[\da-f:]+$/i;
|
|
28
|
+
/** Private / loopback ranges we never want to return as the *real* client IP. */
|
|
29
|
+
const PRIVATE_RANGES = [
|
|
30
|
+
/^127\./, // 127.0.0.0/8 – loopback
|
|
31
|
+
/^10\./, // 10.0.0.0/8 – RFC 1918
|
|
32
|
+
/^172\.(1[6-9]|2\d|3[01])\./, // 172.16.0.0/12 – RFC 1918
|
|
33
|
+
/^192\.168\./, // 192.168.0.0/16 – RFC 1918
|
|
34
|
+
/^169\.254\./, // 169.254.0.0/16 – link-local
|
|
35
|
+
/^::1$/, // IPv6 loopback
|
|
36
|
+
/^fe80:/i, // IPv6 link-local
|
|
37
|
+
/^fc|^fd/i, // IPv6 unique local
|
|
38
|
+
];
|
|
39
|
+
const FALLBACK_IP = "127.0.0.1";
|
|
40
|
+
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
41
|
+
/**
|
|
42
|
+
* Strips an IPv6-mapped IPv4 prefix ("::ffff:") and surrounding brackets.
|
|
43
|
+
* "::ffff:1.2.3.4" → "1.2.3.4"
|
|
44
|
+
* "[::1]" → "::1"
|
|
45
|
+
*/
|
|
46
|
+
function normaliseIp(raw) {
|
|
47
|
+
let ip = raw.trim();
|
|
48
|
+
// Strip brackets used in URLs: [::1]:3000 → ::1
|
|
49
|
+
if (ip.startsWith("[")) {
|
|
50
|
+
ip = ip.replace(/^\[([^\]]+)\].*$/, "$1");
|
|
51
|
+
}
|
|
52
|
+
// Strip port from IPv4: 1.2.3.4:3000 → 1.2.3.4
|
|
53
|
+
const v4WithPort = ip.match(/^(\d{1,3}(?:\.\d{1,3}){3}):\d+$/);
|
|
54
|
+
if (v4WithPort)
|
|
55
|
+
ip = v4WithPort[1];
|
|
56
|
+
// Strip IPv6-mapped IPv4 prefix
|
|
57
|
+
if (/^::ffff:/i.test(ip))
|
|
58
|
+
ip = ip.slice(7);
|
|
59
|
+
return ip;
|
|
60
|
+
}
|
|
61
|
+
/** Returns true only for syntactically valid, non-private IPv4 / IPv6. */
|
|
62
|
+
function isValidPublicIp(raw) {
|
|
63
|
+
const ip = normaliseIp(raw);
|
|
64
|
+
if (!ip)
|
|
65
|
+
return false;
|
|
66
|
+
const isIpv4 = IPV4_RE.test(ip);
|
|
67
|
+
const isIpv6 = !isIpv4 && IPV6_RE.test(ip);
|
|
68
|
+
if (!isIpv4 && !isIpv6)
|
|
69
|
+
return false;
|
|
70
|
+
return !PRIVATE_RANGES.some((re) => re.test(ip));
|
|
71
|
+
}
|
|
72
|
+
/** Safely reads a header value – returns undefined for missing / empty. */
|
|
73
|
+
function header(headers, name) {
|
|
74
|
+
const val = headers[name.toLowerCase()];
|
|
75
|
+
if (!val)
|
|
76
|
+
return undefined;
|
|
77
|
+
const str = Array.isArray(val) ? val[0] : val;
|
|
78
|
+
return str?.trim() || undefined;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Parses the RFC 7239 `Forwarded` header.
|
|
82
|
+
* `Forwarded: for=1.2.3.4;proto=https, for=5.6.7.8`
|
|
83
|
+
* → ["1.2.3.4", "5.6.7.8"]
|
|
84
|
+
*/
|
|
85
|
+
function parseForwardedHeader(value) {
|
|
86
|
+
return value
|
|
87
|
+
.split(",")
|
|
88
|
+
.map((part) => {
|
|
89
|
+
const match = part.match(/for=["[]?([^\]",;]+)/i);
|
|
90
|
+
return match ? normaliseIp(match[1]) : "";
|
|
91
|
+
})
|
|
92
|
+
.filter(Boolean);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Given a comma-separated (or array) `X-Forwarded-For` header,
|
|
96
|
+
* returns the first *valid public* IP, or the first entry as fallback.
|
|
97
|
+
*/
|
|
98
|
+
function pickFromXff(raw) {
|
|
99
|
+
const entries = (Array.isArray(raw) ? raw.flatMap((v) => v.split(",")) : raw.split(",")).map((s) => normaliseIp(s));
|
|
100
|
+
// Prefer first valid public IP (leftmost = original client in standard chains)
|
|
101
|
+
const pub = entries.find(isValidPublicIp);
|
|
102
|
+
if (pub)
|
|
103
|
+
return pub;
|
|
104
|
+
// Accept first private IP rather than nothing (intranet / dev env)
|
|
105
|
+
const first = entries[0];
|
|
106
|
+
return first && (IPV4_RE.test(first) || IPV6_RE.test(first))
|
|
107
|
+
? first
|
|
108
|
+
: undefined;
|
|
109
|
+
}
|
|
110
|
+
export function getIp(req, enriched) {
|
|
111
|
+
const headers = (req.headers ?? {});
|
|
112
|
+
const resolve = (ip, source) => {
|
|
113
|
+
const normalised = normaliseIp(ip);
|
|
114
|
+
return enriched ? { ip: normalised, source } : normalised;
|
|
115
|
+
};
|
|
116
|
+
// 1. CF-Connecting-IP
|
|
117
|
+
const cfIp = header(headers, "cf-connecting-ip");
|
|
118
|
+
if (cfIp)
|
|
119
|
+
return resolve(cfIp, "cf-connecting-ip");
|
|
120
|
+
// 2. True-Client-IP
|
|
121
|
+
const trueClientIp = header(headers, "true-client-ip");
|
|
122
|
+
if (trueClientIp)
|
|
123
|
+
return resolve(trueClientIp, "true-client-ip");
|
|
124
|
+
// 3. X-Real-IP
|
|
125
|
+
const xRealIp = header(headers, "x-real-ip");
|
|
126
|
+
if (xRealIp)
|
|
127
|
+
return resolve(xRealIp, "x-real-ip");
|
|
128
|
+
// 4. X-Client-IP
|
|
129
|
+
const xClientIp = header(headers, "x-client-ip");
|
|
130
|
+
if (xClientIp)
|
|
131
|
+
return resolve(xClientIp, "x-client-ip");
|
|
132
|
+
// 5. X-Cluster-Client-IP
|
|
133
|
+
const xClusterIp = header(headers, "x-cluster-client-ip");
|
|
134
|
+
if (xClusterIp)
|
|
135
|
+
return resolve(xClusterIp, "x-cluster-client-ip");
|
|
136
|
+
// 6. Forwarded (RFC 7239)
|
|
137
|
+
const forwarded = header(headers, "forwarded");
|
|
138
|
+
if (forwarded) {
|
|
139
|
+
const [first] = parseForwardedHeader(forwarded);
|
|
140
|
+
if (first)
|
|
141
|
+
return resolve(first, "forwarded");
|
|
142
|
+
}
|
|
143
|
+
// 7. X-Forwarded-For
|
|
144
|
+
const xForwardedFor = headers["x-forwarded-for"];
|
|
145
|
+
if (xForwardedFor) {
|
|
146
|
+
const picked = pickFromXff(xForwardedFor);
|
|
147
|
+
if (picked)
|
|
148
|
+
return resolve(picked, "x-forwarded-for");
|
|
149
|
+
}
|
|
150
|
+
// 8. req.ip (framework-level, e.g. XyPrisRequest with trust proxy)
|
|
151
|
+
if (req.ip)
|
|
152
|
+
return resolve(req.ip, "req.ip");
|
|
153
|
+
// 9. Raw socket
|
|
154
|
+
const socketAddr = req.socket?.remoteAddress;
|
|
155
|
+
if (socketAddr)
|
|
156
|
+
return resolve(socketAddr, "socket");
|
|
157
|
+
// 10. Last-resort fallback
|
|
158
|
+
return resolve(FALLBACK_IP, "fallback");
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=getIp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIp.js","sourceRoot":"","sources":["../../../src/utils/getIp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* XyPriss - Fast And Secure
|
|
3
|
+
*
|
|
4
|
+
* @author Nehonix
|
|
5
|
+
* @license Nehonix OSL (NOSL)
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
8
|
+
****************************************************************************/
|
|
9
|
+
/**
|
|
10
|
+
* Resolves a single MIME type from a file extension.
|
|
11
|
+
*
|
|
12
|
+
* @param ext - The file extension (e.g., '.png' or 'jpg').
|
|
13
|
+
* @returns The corresponding MIME type or 'application/octet-stream' if unknown.
|
|
14
|
+
*/
|
|
15
|
+
export declare const getMime: (ext: string) => string;
|
|
16
|
+
/**
|
|
17
|
+
* Advanced utility to resolve multiple MIME types from file extensions.
|
|
18
|
+
*
|
|
19
|
+
* This helper is designed to simplify server configurations, particularly for
|
|
20
|
+
* 'fileUpload' and security policies, by allowing developers to specify
|
|
21
|
+
* human-readable extensions instead of complex MIME strings.
|
|
22
|
+
*
|
|
23
|
+
* FEATURES:
|
|
24
|
+
* - Supports single extensions or arrays.
|
|
25
|
+
* - Automatically normalizes extensions (handles missing dots).
|
|
26
|
+
* - Deduplicates results to ensure a clean MIME array.
|
|
27
|
+
* - Can fall back to global 'fileUpload.allowedExtensions' if no argument is provided.
|
|
28
|
+
*
|
|
29
|
+
* @param extensions - A single extension (e.g., '.png') or an array (e.g., ['.jpg', '.pdf']).
|
|
30
|
+
* If omitted, the function attempts to read from global configuration.
|
|
31
|
+
* @returns A unique array of resolved MIME types.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* // 1. Map an array of extensions for file upload configuration
|
|
35
|
+
* const uploadConfig = {
|
|
36
|
+
* allowedMimeTypes: getMimes(['.png', '.jpg', '.jpeg', '.webp'])
|
|
37
|
+
* };
|
|
38
|
+
* // Result: ['image/png', 'image/jpeg', 'image/webp']
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* // 2. Map a single extension
|
|
42
|
+
* const mimes = getMimes('.pdf');
|
|
43
|
+
* // Result: ['application/pdf']
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* // 3. Automatic detection from xypriss.config.json
|
|
47
|
+
* // If config has: { "fileUpload": { "allowedExtensions": [".zip", ".rar"] } }
|
|
48
|
+
* const mimes = getMimes();
|
|
49
|
+
* // Result: ['application/zip', 'application/vnd.rar']
|
|
50
|
+
*/
|
|
51
|
+
export declare const getMimes: (extensions?: string | string[]) => string[];
|
|
52
|
+
//# sourceMappingURL=getMime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMime.d.ts","sourceRoot":"","sources":["../../../src/utils/getMime.ts"],"names":[],"mappings":"AAAA;;;;;;;8EAO8E;AAK9E;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAMrC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAa,MAAM,GAAG,MAAM,EAAE,KAAG,MAAM,EA4B/D,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* XyPriss - Fast And Secure
|
|
3
|
+
*
|
|
4
|
+
* @author Nehonix
|
|
5
|
+
* @license Nehonix OSL (NOSL)
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
8
|
+
****************************************************************************/
|
|
9
|
+
import { MIME_MAP } from "../server/const/MIME_MAP";
|
|
10
|
+
import { __cfg__ } from "../ConfigurationManager";
|
|
11
|
+
/**
|
|
12
|
+
* Resolves a single MIME type from a file extension.
|
|
13
|
+
*
|
|
14
|
+
* @param ext - The file extension (e.g., '.png' or 'jpg').
|
|
15
|
+
* @returns The corresponding MIME type or 'application/octet-stream' if unknown.
|
|
16
|
+
*/
|
|
17
|
+
export const getMime = (ext) => {
|
|
18
|
+
if (!ext)
|
|
19
|
+
return "application/octet-stream";
|
|
20
|
+
const normalized = ext.startsWith(".")
|
|
21
|
+
? ext.toLowerCase()
|
|
22
|
+
: `.${ext.toLowerCase()}`;
|
|
23
|
+
return MIME_MAP?.[normalized] || "application/octet-stream";
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Advanced utility to resolve multiple MIME types from file extensions.
|
|
27
|
+
*
|
|
28
|
+
* This helper is designed to simplify server configurations, particularly for
|
|
29
|
+
* 'fileUpload' and security policies, by allowing developers to specify
|
|
30
|
+
* human-readable extensions instead of complex MIME strings.
|
|
31
|
+
*
|
|
32
|
+
* FEATURES:
|
|
33
|
+
* - Supports single extensions or arrays.
|
|
34
|
+
* - Automatically normalizes extensions (handles missing dots).
|
|
35
|
+
* - Deduplicates results to ensure a clean MIME array.
|
|
36
|
+
* - Can fall back to global 'fileUpload.allowedExtensions' if no argument is provided.
|
|
37
|
+
*
|
|
38
|
+
* @param extensions - A single extension (e.g., '.png') or an array (e.g., ['.jpg', '.pdf']).
|
|
39
|
+
* If omitted, the function attempts to read from global configuration.
|
|
40
|
+
* @returns A unique array of resolved MIME types.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* // 1. Map an array of extensions for file upload configuration
|
|
44
|
+
* const uploadConfig = {
|
|
45
|
+
* allowedMimeTypes: getMimes(['.png', '.jpg', '.jpeg', '.webp'])
|
|
46
|
+
* };
|
|
47
|
+
* // Result: ['image/png', 'image/jpeg', 'image/webp']
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* // 2. Map a single extension
|
|
51
|
+
* const mimes = getMimes('.pdf');
|
|
52
|
+
* // Result: ['application/pdf']
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* // 3. Automatic detection from xypriss.config.json
|
|
56
|
+
* // If config has: { "fileUpload": { "allowedExtensions": [".zip", ".rar"] } }
|
|
57
|
+
* const mimes = getMimes();
|
|
58
|
+
* // Result: ['application/zip', 'application/vnd.rar']
|
|
59
|
+
*/
|
|
60
|
+
export const getMimes = (extensions) => {
|
|
61
|
+
let targetExts = [];
|
|
62
|
+
if (extensions) {
|
|
63
|
+
targetExts = Array.isArray(extensions) ? extensions : [extensions];
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
// Fallback to global framework configuration if available
|
|
67
|
+
try {
|
|
68
|
+
const uMimeConfig = __cfg__.get("fileUpload")?.allowedExtensions;
|
|
69
|
+
if (Array.isArray(uMimeConfig)) {
|
|
70
|
+
targetExts = uMimeConfig;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
// Config might not be initialized yet in early-loading contexts
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (targetExts.length === 0)
|
|
79
|
+
return [];
|
|
80
|
+
const mimeSet = new Set();
|
|
81
|
+
for (const ext of targetExts) {
|
|
82
|
+
if (!ext)
|
|
83
|
+
continue;
|
|
84
|
+
const mime = getMime(ext);
|
|
85
|
+
if (mime)
|
|
86
|
+
mimeSet.add(mime);
|
|
87
|
+
}
|
|
88
|
+
return Array.from(mimeSet);
|
|
89
|
+
};
|
|
90
|
+
//# sourceMappingURL=getMime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMime.js","sourceRoot":"","sources":["../../../src/utils/getMime.ts"],"names":[],"mappings":"AAAA;;;;;;;8EAO8E;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;IAC3C,IAAI,CAAC,GAAG;QAAE,OAAO,0BAA0B,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;QAClC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;QACnB,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;IAC9B,OAAO,QAAQ,EAAE,CAAC,UAAU,CAAC,IAAI,0BAA0B,CAAC;AAChE,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,UAA8B,EAAY,EAAE;IACjE,IAAI,UAAU,GAAa,EAAE,CAAC;IAE9B,IAAI,UAAU,EAAE,CAAC;QACb,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACJ,0DAA0D;QAC1D,IAAI,CAAC;YACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;YACjE,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,WAAW,CAAC;YAC7B,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,gEAAgE;YAChE,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* XyPrissJS - Fast And Secure
|
|
3
|
+
*
|
|
4
|
+
* @author Nehonix
|
|
5
|
+
* @license Nehonix OSL (NOSL)
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
8
|
+
*
|
|
9
|
+
* This License governs the use, modification, and distribution of software
|
|
10
|
+
* provided by NEHONIX under its open source projects.
|
|
11
|
+
* NEHONIX is committed to fostering collaborative innovation while strictly
|
|
12
|
+
* protecting its intellectual property rights.
|
|
13
|
+
* Violation of any term of this License will result in immediate termination of all granted rights
|
|
14
|
+
* and may subject the violator to legal action.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
17
|
+
* INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
|
|
18
|
+
* AND NON-INFRINGEMENT.
|
|
19
|
+
* IN NO EVENT SHALL NEHONIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
|
20
|
+
* OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OR INABILITY TO USE THE SOFTWARE,
|
|
21
|
+
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
22
|
+
*
|
|
23
|
+
***************************************************************************** */
|
|
24
|
+
export type ArrayStrategy = "replace" | "concat" | "merge";
|
|
25
|
+
export interface MergeOptions {
|
|
26
|
+
/**
|
|
27
|
+
* How to handle arrays when both `defaults` and `userOptions` have an
|
|
28
|
+
* array at tme key.
|
|
29
|
+
* - `"replace"` (default) — user array wins entirely.
|
|
30
|
+
* - `"concat"` — `[...defaultArray, ...userArray]`.
|
|
31
|
+
* - `"merge"` — element-wise: recurse for plain-object items,
|
|
32
|
+
* otherwise use the user element (or the default
|
|
33
|
+
* element when the user array is shorter).
|
|
34
|
+
*/
|
|
35
|
+
arrayStrategy?: ArrayStrategy;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* mergeWithDefaults — Smart config merge utility
|
|
39
|
+
*
|
|
40
|
+
* Unlike `{ ...defaults, ...userOptions }` (shallow spread), this utility:
|
|
41
|
+
*
|
|
42
|
+
* 1. **User-provided keys always win** — a key present in `userOptions` (even
|
|
43
|
+
* if its value is `false`, `null`, `0`, or `""`) is NEVER overridden by a
|
|
44
|
+
* default. Only truly absent keys fall back to the default.
|
|
45
|
+
*
|
|
46
|
+
* 2. **Deep merge for plain objects** — nested objects are merged recursively
|
|
47
|
+
* at any depth, so that `userOptions.rateLimit.max` doesn't wipe out
|
|
48
|
+
* `defaults.rateLimit.windowMs`.
|
|
49
|
+
*
|
|
50
|
+
* 3. **No mutation** — returns a new object; inputs are untouched.
|
|
51
|
+
*
|
|
52
|
+
* 4. **Circular reference protection** — cycles are detected and broken
|
|
53
|
+
* (the circular reference is replaced by `undefined`).
|
|
54
|
+
*
|
|
55
|
+
* 5. **Prototype pollution protection** — dangerous keys (`__proto__`,
|
|
56
|
+
* `constructor`, `prototype`) are silently ignored.
|
|
57
|
+
*
|
|
58
|
+
* 6. **Array strategy** — configurable via `options.arrayStrategy`:
|
|
59
|
+
* - `"replace"` (default) — user array fully replaces the default array.
|
|
60
|
+
* - `"concat"` — arrays are concatenated (defaults first).
|
|
61
|
+
* - `"merge"` — elements are merged index-by-index (plain
|
|
62
|
+
* objects recurse, primitives use user value).
|
|
63
|
+
*
|
|
64
|
+
* 7. **Symbol keys** — included in the merge alongside string keys.
|
|
65
|
+
*
|
|
66
|
+
* ### Example
|
|
67
|
+
* ```ts
|
|
68
|
+
* const defaults = {
|
|
69
|
+
* origin: true,
|
|
70
|
+
* credentials: false,
|
|
71
|
+
* maxAge: 86400,
|
|
72
|
+
* rateLimit: { max: 100, windowMs: 60_000 },
|
|
73
|
+
* };
|
|
74
|
+
* const user = {
|
|
75
|
+
* credentials: true,
|
|
76
|
+
* origin: ["http://localhost:5173"],
|
|
77
|
+
* rateLimit: { max: 50 }, // windowMs falls back to default
|
|
78
|
+
* };
|
|
79
|
+
*
|
|
80
|
+
* mergeWithDefaults(defaults, user);
|
|
81
|
+
* // → {
|
|
82
|
+
* // origin: ["http://localhost:5173"],
|
|
83
|
+
* // credentials: true,
|
|
84
|
+
* // maxAge: 86400,
|
|
85
|
+
* // rateLimit: { max: 50, windowMs: 60_000 },
|
|
86
|
+
* // }
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
export declare function mergeWithDefaults<T extends Record<string | symbol, any>>(defaults: T, userOptions: Partial<T> | undefined | null, options?: MergeOptions,
|
|
90
|
+
/** @internal — tracks visited objects to break circular refs */
|
|
91
|
+
_seen?: WeakSet<object>): T;
|
|
92
|
+
//# sourceMappingURL=mergeWithDefaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeWithDefaults.d.ts","sourceRoot":"","sources":["../../../src/utils/mergeWithDefaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;iFAsBiF;AAMjF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,YAAY;IACzB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CACjC;AASD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,EACpE,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EAC1C,OAAO,GAAE,YAAiB;AAC1B,gEAAgE;AAChE,KAAK,GAAE,OAAO,CAAC,MAAM,CAAiB,GACvC,CAAC,CAqDH"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
/***************************************************************************
|
|
2
|
+
* XyPrissJS - Fast And Secure
|
|
3
|
+
*
|
|
4
|
+
* @author Nehonix
|
|
5
|
+
* @license Nehonix OSL (NOSL)
|
|
6
|
+
*
|
|
7
|
+
* Copyright (c) 2025 Nehonix. All rights reserved.
|
|
8
|
+
*
|
|
9
|
+
* This License governs the use, modification, and distribution of software
|
|
10
|
+
* provided by NEHONIX under its open source projects.
|
|
11
|
+
* NEHONIX is committed to fostering collaborative innovation while strictly
|
|
12
|
+
* protecting its intellectual property rights.
|
|
13
|
+
* Violation of any term of this License will result in immediate termination of all granted rights
|
|
14
|
+
* and may subject the violator to legal action.
|
|
15
|
+
*
|
|
16
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
17
|
+
* INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
|
|
18
|
+
* AND NON-INFRINGEMENT.
|
|
19
|
+
* IN NO EVENT SHALL NEHONIX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
|
|
20
|
+
* OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OR INABILITY TO USE THE SOFTWARE,
|
|
21
|
+
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
|
22
|
+
*
|
|
23
|
+
***************************************************************************** */
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
// Implementation
|
|
26
|
+
// ---------------------------------------------------------------------------
|
|
27
|
+
/** Keys that must never be written to avoid prototype pollution. */
|
|
28
|
+
const BLOCKED_KEYS = new Set(["__proto__", "constructor", "prototype"]);
|
|
29
|
+
/**
|
|
30
|
+
* mergeWithDefaults — Smart config merge utility
|
|
31
|
+
*
|
|
32
|
+
* Unlike `{ ...defaults, ...userOptions }` (shallow spread), this utility:
|
|
33
|
+
*
|
|
34
|
+
* 1. **User-provided keys always win** — a key present in `userOptions` (even
|
|
35
|
+
* if its value is `false`, `null`, `0`, or `""`) is NEVER overridden by a
|
|
36
|
+
* default. Only truly absent keys fall back to the default.
|
|
37
|
+
*
|
|
38
|
+
* 2. **Deep merge for plain objects** — nested objects are merged recursively
|
|
39
|
+
* at any depth, so that `userOptions.rateLimit.max` doesn't wipe out
|
|
40
|
+
* `defaults.rateLimit.windowMs`.
|
|
41
|
+
*
|
|
42
|
+
* 3. **No mutation** — returns a new object; inputs are untouched.
|
|
43
|
+
*
|
|
44
|
+
* 4. **Circular reference protection** — cycles are detected and broken
|
|
45
|
+
* (the circular reference is replaced by `undefined`).
|
|
46
|
+
*
|
|
47
|
+
* 5. **Prototype pollution protection** — dangerous keys (`__proto__`,
|
|
48
|
+
* `constructor`, `prototype`) are silently ignored.
|
|
49
|
+
*
|
|
50
|
+
* 6. **Array strategy** — configurable via `options.arrayStrategy`:
|
|
51
|
+
* - `"replace"` (default) — user array fully replaces the default array.
|
|
52
|
+
* - `"concat"` — arrays are concatenated (defaults first).
|
|
53
|
+
* - `"merge"` — elements are merged index-by-index (plain
|
|
54
|
+
* objects recurse, primitives use user value).
|
|
55
|
+
*
|
|
56
|
+
* 7. **Symbol keys** — included in the merge alongside string keys.
|
|
57
|
+
*
|
|
58
|
+
* ### Example
|
|
59
|
+
* ```ts
|
|
60
|
+
* const defaults = {
|
|
61
|
+
* origin: true,
|
|
62
|
+
* credentials: false,
|
|
63
|
+
* maxAge: 86400,
|
|
64
|
+
* rateLimit: { max: 100, windowMs: 60_000 },
|
|
65
|
+
* };
|
|
66
|
+
* const user = {
|
|
67
|
+
* credentials: true,
|
|
68
|
+
* origin: ["http://localhost:5173"],
|
|
69
|
+
* rateLimit: { max: 50 }, // windowMs falls back to default
|
|
70
|
+
* };
|
|
71
|
+
*
|
|
72
|
+
* mergeWithDefaults(defaults, user);
|
|
73
|
+
* // → {
|
|
74
|
+
* // origin: ["http://localhost:5173"],
|
|
75
|
+
* // credentials: true,
|
|
76
|
+
* // maxAge: 86400,
|
|
77
|
+
* // rateLimit: { max: 50, windowMs: 60_000 },
|
|
78
|
+
* // }
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export function mergeWithDefaults(defaults, userOptions, options = {},
|
|
82
|
+
/** @internal — tracks visited objects to break circular refs */
|
|
83
|
+
_seen = new WeakSet()) {
|
|
84
|
+
if (!userOptions)
|
|
85
|
+
return shallowClone(defaults);
|
|
86
|
+
// Guard against circular structures
|
|
87
|
+
if (_seen.has(userOptions))
|
|
88
|
+
return shallowClone(defaults);
|
|
89
|
+
_seen.add(userOptions);
|
|
90
|
+
const result = shallowClone(defaults);
|
|
91
|
+
const arrayStrategy = options.arrayStrategy ?? "replace";
|
|
92
|
+
// Merge both string and symbol keys from userOptions
|
|
93
|
+
const keys = [
|
|
94
|
+
...Object.keys(userOptions),
|
|
95
|
+
...Object.getOwnPropertySymbols(userOptions),
|
|
96
|
+
];
|
|
97
|
+
for (const key of keys) {
|
|
98
|
+
// Prototype pollution guard (only relevant for string keys)
|
|
99
|
+
if (typeof key === "string" && BLOCKED_KEYS.has(key))
|
|
100
|
+
continue;
|
|
101
|
+
const userVal = userOptions[key];
|
|
102
|
+
const defaultVal = defaults[key];
|
|
103
|
+
// Honour `undefined` as "not provided" — let default win
|
|
104
|
+
if (userVal === undefined)
|
|
105
|
+
continue;
|
|
106
|
+
if (isPlainObject(userVal) && isPlainObject(defaultVal)) {
|
|
107
|
+
// Both sides are plain objects → recurse
|
|
108
|
+
result[key] = mergeWithDefaults(defaultVal, userVal, options, _seen);
|
|
109
|
+
}
|
|
110
|
+
else if (Array.isArray(userVal) &&
|
|
111
|
+
Array.isArray(defaultVal) &&
|
|
112
|
+
arrayStrategy !== "replace") {
|
|
113
|
+
result[key] = mergeArrays(defaultVal, userVal, arrayStrategy, options, _seen);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
// Primitive, array (replace strategy), class instance, null, etc.
|
|
117
|
+
result[key] = userVal;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
// Helpers
|
|
124
|
+
// ---------------------------------------------------------------------------
|
|
125
|
+
/** Merges two arrays according to the chosen strategy. */
|
|
126
|
+
function mergeArrays(defaultArr, userArr, strategy, options, seen) {
|
|
127
|
+
if (strategy === "concat") {
|
|
128
|
+
return [...defaultArr, ...userArr];
|
|
129
|
+
}
|
|
130
|
+
// "merge" — element-wise
|
|
131
|
+
const length = Math.max(defaultArr.length, userArr.length);
|
|
132
|
+
const merged = [];
|
|
133
|
+
for (let i = 0; i < length; i++) {
|
|
134
|
+
const dItem = defaultArr[i];
|
|
135
|
+
const uItem = userArr[i];
|
|
136
|
+
if (i >= userArr.length) {
|
|
137
|
+
// User array is shorter — keep default element
|
|
138
|
+
merged.push(dItem);
|
|
139
|
+
}
|
|
140
|
+
else if (i >= defaultArr.length) {
|
|
141
|
+
// Default array is shorter — take user element as-is
|
|
142
|
+
merged.push(uItem);
|
|
143
|
+
}
|
|
144
|
+
else if (isPlainObject(uItem) && isPlainObject(dItem)) {
|
|
145
|
+
merged.push(mergeWithDefaults(dItem, uItem, options, seen));
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
// Primitive or non-plain-object — user wins
|
|
149
|
+
merged.push(uItem !== undefined ? uItem : dItem);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return merged;
|
|
153
|
+
}
|
|
154
|
+
/** Shallow-clones an object preserving both string and symbol own keys. */
|
|
155
|
+
function shallowClone(obj) {
|
|
156
|
+
const clone = Object.create(Object.getPrototypeOf(obj));
|
|
157
|
+
for (const key of Object.getOwnPropertyNames(obj)) {
|
|
158
|
+
clone[key] = obj[key];
|
|
159
|
+
}
|
|
160
|
+
for (const sym of Object.getOwnPropertySymbols(obj)) {
|
|
161
|
+
clone[sym] = obj[sym];
|
|
162
|
+
}
|
|
163
|
+
return clone;
|
|
164
|
+
}
|
|
165
|
+
/** Returns `true` for plain `{}` objects (not arrays, not class instances). */
|
|
166
|
+
function isPlainObject(value) {
|
|
167
|
+
if (typeof value !== "object" || value === null)
|
|
168
|
+
return false;
|
|
169
|
+
const proto = Object.getPrototypeOf(value);
|
|
170
|
+
return proto === Object.prototype || proto === null;
|
|
171
|
+
}
|
|
172
|
+
//# sourceMappingURL=mergeWithDefaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeWithDefaults.js","sourceRoot":"","sources":["../../../src/utils/mergeWithDefaults.ts"],"names":[],"mappings":"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"}
|