@adaas/a-server 0.0.22 → 0.0.23
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/.conf/tsconfig.base.json +79 -0
- package/.conf/tsconfig.browser.json +32 -0
- package/.conf/tsconfig.node.json +33 -0
- package/LICENSE +10 -19
- package/dist/browser/index.d.mts +1669 -0
- package/dist/browser/index.mjs +2869 -0
- package/dist/browser/index.mjs.map +1 -0
- package/dist/node/A-Request.entity-8_9MCXT2.d.ts +533 -0
- package/dist/node/A-Request.entity-r905O60G.d.mts +533 -0
- package/dist/node/A-Response.entity-BVYAc6-8.d.mts +318 -0
- package/dist/node/A-Response.entity-CRc-t-vr.d.ts +318 -0
- package/dist/node/channels/A-Http/A-Http.channel.constants.d.mts +9 -0
- package/dist/node/channels/A-Http/A-Http.channel.constants.d.ts +9 -0
- package/dist/node/channels/A-Http/A-Http.channel.constants.js +13 -0
- package/dist/node/channels/A-Http/A-Http.channel.constants.js.map +1 -0
- package/dist/node/channels/A-Http/A-Http.channel.constants.mjs +12 -0
- package/dist/node/channels/A-Http/A-Http.channel.constants.mjs.map +1 -0
- package/dist/node/channels/A-Http/A-Http.channel.d.mts +23 -0
- package/dist/node/channels/A-Http/A-Http.channel.d.ts +23 -0
- package/dist/node/channels/A-Http/A-Http.channel.error.d.mts +7 -0
- package/dist/node/channels/A-Http/A-Http.channel.error.d.ts +7 -0
- package/dist/node/channels/A-Http/A-Http.channel.error.js +11 -0
- package/dist/node/channels/A-Http/A-Http.channel.error.js.map +1 -0
- package/dist/node/channels/A-Http/A-Http.channel.error.mjs +10 -0
- package/dist/node/channels/A-Http/A-Http.channel.error.mjs.map +1 -0
- package/dist/node/channels/A-Http/A-Http.channel.js +122 -0
- package/dist/node/channels/A-Http/A-Http.channel.js.map +1 -0
- package/dist/node/channels/A-Http/A-Http.channel.mjs +110 -0
- package/dist/node/channels/A-Http/A-Http.channel.mjs.map +1 -0
- package/dist/node/channels/A-Http/A-Http.channel.types.d.mts +67 -0
- package/dist/node/channels/A-Http/A-Http.channel.types.d.ts +67 -0
- package/dist/node/channels/A-Http/A-Http.channel.types.js +4 -0
- package/dist/node/channels/A-Http/A-Http.channel.types.js.map +1 -0
- package/dist/node/channels/A-Http/A-Http.channel.types.mjs +3 -0
- package/dist/node/channels/A-Http/A-Http.channel.types.mjs.map +1 -0
- package/dist/node/channels/A-Websockets/A-Websockets.channel.d.mts +7 -0
- package/dist/node/channels/A-Websockets/A-Websockets.channel.d.ts +7 -0
- package/dist/node/channels/A-Websockets/A-Websockets.channel.js +13 -0
- package/dist/node/channels/A-Websockets/A-Websockets.channel.js.map +1 -0
- package/dist/node/channels/A-Websockets/A-Websockets.channel.mjs +12 -0
- package/dist/node/channels/A-Websockets/A-Websockets.channel.mjs.map +1 -0
- package/dist/node/chunk-EQQGB2QZ.mjs +15 -0
- package/dist/node/chunk-EQQGB2QZ.mjs.map +1 -0
- package/dist/node/constants/env.constants.d.mts +12 -0
- package/dist/node/constants/env.constants.d.ts +12 -0
- package/dist/node/constants/env.constants.js +23 -0
- package/dist/node/constants/env.constants.js.map +1 -0
- package/dist/node/constants/env.constants.mjs +22 -0
- package/dist/node/constants/env.constants.mjs.map +1 -0
- package/dist/node/controllers/A-CommandController/A-CommandController.component.d.mts +29 -0
- package/dist/node/controllers/A-CommandController/A-CommandController.component.d.ts +29 -0
- package/dist/node/controllers/A-CommandController/A-CommandController.component.js +55 -0
- package/dist/node/controllers/A-CommandController/A-CommandController.component.js.map +1 -0
- package/dist/node/controllers/A-CommandController/A-CommandController.component.mjs +43 -0
- package/dist/node/controllers/A-CommandController/A-CommandController.component.mjs.map +1 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.d.mts +44 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.d.ts +44 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.js +189 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.js.map +1 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.mjs +177 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.mjs.map +1 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.types.d.mts +2 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.types.d.ts +2 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.types.js +4 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.types.js.map +1 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.types.mjs +3 -0
- package/dist/node/controllers/A-EntityController/A-EntityController.component.types.mjs.map +1 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.component.d.mts +28 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.component.d.ts +28 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.component.js +59 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.component.js.map +1 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.component.mjs +47 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.component.mjs.map +1 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.types.d.mts +2 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.types.d.ts +2 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.types.js +4 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.types.js.map +1 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.types.mjs +3 -0
- package/dist/node/controllers/A-ListingController/A-ListingController.types.mjs.map +1 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.component.d.mts +30 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.component.d.ts +30 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.component.js +46 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.component.js.map +1 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.component.mjs +34 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.component.mjs.map +1 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.types.d.mts +2 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.types.d.ts +2 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.types.js +4 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.types.js.map +1 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.types.mjs +3 -0
- package/dist/node/controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.types.mjs.map +1 -0
- package/dist/node/index.d.mts +51 -0
- package/dist/node/index.d.ts +51 -0
- package/dist/node/index.js +320 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/index.mjs +48 -0
- package/dist/node/index.mjs.map +1 -0
- package/dist/node/lib/A-Request/A-HttpRequestData.context.d.mts +12 -0
- package/dist/node/lib/A-Request/A-HttpRequestData.context.d.ts +12 -0
- package/dist/node/lib/A-Request/A-HttpRequestData.context.js +25 -0
- package/dist/node/lib/A-Request/A-HttpRequestData.context.js.map +1 -0
- package/dist/node/lib/A-Request/A-HttpRequestData.context.mjs +24 -0
- package/dist/node/lib/A-Request/A-HttpRequestData.context.mjs.map +1 -0
- package/dist/node/lib/A-Request/A-HttpServerRequest.context.d.mts +39 -0
- package/dist/node/lib/A-Request/A-HttpServerRequest.context.d.ts +39 -0
- package/dist/node/lib/A-Request/A-HttpServerRequest.context.js +56 -0
- package/dist/node/lib/A-Request/A-HttpServerRequest.context.js.map +1 -0
- package/dist/node/lib/A-Request/A-HttpServerRequest.context.mjs +55 -0
- package/dist/node/lib/A-Request/A-HttpServerRequest.context.mjs.map +1 -0
- package/dist/node/lib/A-Request/A-Request.constants.d.mts +18 -0
- package/dist/node/lib/A-Request/A-Request.constants.d.ts +18 -0
- package/dist/node/lib/A-Request/A-Request.constants.js +22 -0
- package/dist/node/lib/A-Request/A-Request.constants.js.map +1 -0
- package/dist/node/lib/A-Request/A-Request.constants.mjs +22 -0
- package/dist/node/lib/A-Request/A-Request.constants.mjs.map +1 -0
- package/dist/node/lib/A-Request/A-Request.entity.d.mts +17 -0
- package/dist/node/lib/A-Request/A-Request.entity.d.ts +17 -0
- package/dist/node/lib/A-Request/A-Request.entity.js +651 -0
- package/dist/node/lib/A-Request/A-Request.entity.js.map +1 -0
- package/dist/node/lib/A-Request/A-Request.entity.mjs +639 -0
- package/dist/node/lib/A-Request/A-Request.entity.mjs.map +1 -0
- package/dist/node/lib/A-Request/A-Request.env.d.mts +37 -0
- package/dist/node/lib/A-Request/A-Request.env.d.ts +37 -0
- package/dist/node/lib/A-Request/A-Request.env.js +39 -0
- package/dist/node/lib/A-Request/A-Request.env.js.map +1 -0
- package/dist/node/lib/A-Request/A-Request.env.mjs +38 -0
- package/dist/node/lib/A-Request/A-Request.env.mjs.map +1 -0
- package/dist/node/lib/A-Request/A-Request.error.d.mts +11 -0
- package/dist/node/lib/A-Request/A-Request.error.d.ts +11 -0
- package/dist/node/lib/A-Request/A-Request.error.js +15 -0
- package/dist/node/lib/A-Request/A-Request.error.js.map +1 -0
- package/dist/node/lib/A-Request/A-Request.error.mjs +14 -0
- package/dist/node/lib/A-Request/A-Request.error.mjs.map +1 -0
- package/dist/node/lib/A-Request/A-Request.helper.d.mts +105 -0
- package/dist/node/lib/A-Request/A-Request.helper.d.ts +105 -0
- package/dist/node/lib/A-Request/A-Request.helper.js +181 -0
- package/dist/node/lib/A-Request/A-Request.helper.js.map +1 -0
- package/dist/node/lib/A-Request/A-Request.helper.mjs +180 -0
- package/dist/node/lib/A-Request/A-Request.helper.mjs.map +1 -0
- package/dist/node/lib/A-Request/A-Request.types.d.mts +17 -0
- package/dist/node/lib/A-Request/A-Request.types.d.ts +17 -0
- package/dist/node/lib/A-Request/A-Request.types.js +14 -0
- package/dist/node/lib/A-Request/A-Request.types.js.map +1 -0
- package/dist/node/lib/A-Request/A-Request.types.mjs +14 -0
- package/dist/node/lib/A-Request/A-Request.types.mjs.map +1 -0
- package/dist/node/lib/A-Response/A-Response.constants.d.mts +24 -0
- package/dist/node/lib/A-Response/A-Response.constants.d.ts +24 -0
- package/dist/node/lib/A-Response/A-Response.constants.js +28 -0
- package/dist/node/lib/A-Response/A-Response.constants.js.map +1 -0
- package/dist/node/lib/A-Response/A-Response.constants.mjs +28 -0
- package/dist/node/lib/A-Response/A-Response.constants.mjs.map +1 -0
- package/dist/node/lib/A-Response/A-Response.entity.d.mts +20 -0
- package/dist/node/lib/A-Response/A-Response.entity.d.ts +20 -0
- package/dist/node/lib/A-Response/A-Response.entity.js +544 -0
- package/dist/node/lib/A-Response/A-Response.entity.js.map +1 -0
- package/dist/node/lib/A-Response/A-Response.entity.mjs +532 -0
- package/dist/node/lib/A-Response/A-Response.entity.mjs.map +1 -0
- package/dist/node/lib/A-Response/A-Response.env.d.mts +2 -0
- package/dist/node/lib/A-Response/A-Response.env.d.ts +2 -0
- package/dist/node/lib/A-Response/A-Response.env.js +4 -0
- package/dist/node/lib/A-Response/A-Response.env.js.map +1 -0
- package/dist/node/lib/A-Response/A-Response.env.mjs +3 -0
- package/dist/node/lib/A-Response/A-Response.env.mjs.map +1 -0
- package/dist/node/lib/A-Response/A-Response.error.d.mts +6 -0
- package/dist/node/lib/A-Response/A-Response.error.d.ts +6 -0
- package/dist/node/lib/A-Response/A-Response.error.js +10 -0
- package/dist/node/lib/A-Response/A-Response.error.js.map +1 -0
- package/dist/node/lib/A-Response/A-Response.error.mjs +9 -0
- package/dist/node/lib/A-Response/A-Response.error.mjs.map +1 -0
- package/dist/node/lib/A-Response/A-Response.types.d.mts +20 -0
- package/dist/node/lib/A-Response/A-Response.types.d.ts +20 -0
- package/dist/node/lib/A-Response/A-Response.types.js +4 -0
- package/dist/node/lib/A-Response/A-Response.types.js.map +1 -0
- package/dist/node/lib/A-Response/A-Response.types.mjs +3 -0
- package/dist/node/lib/A-Response/A-Response.types.mjs.map +1 -0
- package/dist/node/lib/A-Server/A-HttpServer.constants.d.mts +7 -0
- package/dist/node/lib/A-Server/A-HttpServer.constants.d.ts +7 -0
- package/dist/node/lib/A-Server/A-HttpServer.constants.js +11 -0
- package/dist/node/lib/A-Server/A-HttpServer.constants.js.map +1 -0
- package/dist/node/lib/A-Server/A-HttpServer.constants.mjs +11 -0
- package/dist/node/lib/A-Server/A-HttpServer.constants.mjs.map +1 -0
- package/dist/node/lib/A-Server/A-HttpServer.container.d.mts +50 -0
- package/dist/node/lib/A-Server/A-HttpServer.container.d.ts +50 -0
- package/dist/node/lib/A-Server/A-HttpServer.container.js +194 -0
- package/dist/node/lib/A-Server/A-HttpServer.container.js.map +1 -0
- package/dist/node/lib/A-Server/A-HttpServer.container.mjs +182 -0
- package/dist/node/lib/A-Server/A-HttpServer.container.mjs.map +1 -0
- package/dist/node/lib/A-Server/A-HttpServer.error.d.mts +54 -0
- package/dist/node/lib/A-Server/A-HttpServer.error.d.ts +54 -0
- package/dist/node/lib/A-Server/A-HttpServer.error.js +118 -0
- package/dist/node/lib/A-Server/A-HttpServer.error.js.map +1 -0
- package/dist/node/lib/A-Server/A-HttpServer.error.mjs +117 -0
- package/dist/node/lib/A-Server/A-HttpServer.error.mjs.map +1 -0
- package/dist/node/lib/A-Server/A-HttpServer.types.d.mts +19 -0
- package/dist/node/lib/A-Server/A-HttpServer.types.d.ts +19 -0
- package/dist/node/lib/A-Server/A-HttpServer.types.js +4 -0
- package/dist/node/lib/A-Server/A-HttpServer.types.js.map +1 -0
- package/dist/node/lib/A-Server/A-HttpServer.types.mjs +3 -0
- package/dist/node/lib/A-Server/A-HttpServer.types.mjs.map +1 -0
- package/dist/node/lib/A-Server/A-Server.context.d.mts +22 -0
- package/dist/node/lib/A-Server/A-Server.context.d.ts +22 -0
- package/dist/node/lib/A-Server/A-Server.context.js +24 -0
- package/dist/node/lib/A-Server/A-Server.context.js.map +1 -0
- package/dist/node/lib/A-Server/A-Server.context.mjs +23 -0
- package/dist/node/lib/A-Server/A-Server.context.mjs.map +1 -0
- package/dist/node/lib/A-Server/A-Server.error.d.mts +14 -0
- package/dist/node/lib/A-Server/A-Server.error.d.ts +14 -0
- package/dist/node/lib/A-Server/A-Server.error.js +26 -0
- package/dist/node/lib/A-Server/A-Server.error.js.map +1 -0
- package/dist/node/lib/A-Server/A-Server.error.mjs +25 -0
- package/dist/node/lib/A-Server/A-Server.error.mjs.map +1 -0
- package/dist/node/lib/A-Server/A-Server.types.d.mts +26 -0
- package/dist/node/lib/A-Server/A-Server.types.d.ts +26 -0
- package/dist/node/lib/A-Server/A-Server.types.js +4 -0
- package/dist/node/lib/A-Server/A-Server.types.js.map +1 -0
- package/dist/node/lib/A-Server/A-Server.types.mjs +3 -0
- package/dist/node/lib/A-Server/A-Server.types.mjs.map +1 -0
- package/dist/node/lib/A-ServerController/A-ServerController.component.d.mts +29 -0
- package/dist/node/lib/A-ServerController/A-ServerController.component.d.ts +29 -0
- package/dist/node/lib/A-ServerController/A-ServerController.component.js +49 -0
- package/dist/node/lib/A-ServerController/A-ServerController.component.js.map +1 -0
- package/dist/node/lib/A-ServerController/A-ServerController.component.mjs +37 -0
- package/dist/node/lib/A-ServerController/A-ServerController.component.mjs.map +1 -0
- package/dist/node/lib/A-ServerController/A-ServerController.types.d.mts +2 -0
- package/dist/node/lib/A-ServerController/A-ServerController.types.d.ts +2 -0
- package/dist/node/lib/A-ServerController/A-ServerController.types.js +4 -0
- package/dist/node/lib/A-ServerController/A-ServerController.types.js.map +1 -0
- package/dist/node/lib/A-ServerController/A-ServerController.types.mjs +3 -0
- package/dist/node/lib/A-ServerController/A-ServerController.types.mjs.map +1 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.entity.d.mts +49 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.entity.d.ts +49 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.entity.js +91 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.entity.js.map +1 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.entity.mjs +90 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.entity.mjs.map +1 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.types.d.mts +22 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.types.d.ts +22 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.types.js +10 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.types.js.map +1 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.types.mjs +10 -0
- package/dist/node/lib/A-ServerEntityList/A-EntityList.types.mjs.map +1 -0
- package/dist/node/lib/A-ServerListQuery/A-ServerListQueryFilter.context.d.mts +13 -0
- package/dist/node/lib/A-ServerListQuery/A-ServerListQueryFilter.context.d.ts +13 -0
- package/dist/node/lib/A-ServerListQuery/A-ServerListQueryFilter.context.js +32 -0
- package/dist/node/lib/A-ServerListQuery/A-ServerListQueryFilter.context.js.map +1 -0
- package/dist/node/lib/A-ServerListQuery/A-ServerListQueryFilter.context.mjs +31 -0
- package/dist/node/lib/A-ServerListQuery/A-ServerListQueryFilter.context.mjs.map +1 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.component.d.mts +48 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.component.d.ts +48 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.component.js +88 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.component.js.map +1 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.component.mjs +76 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.component.mjs.map +1 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.constants.d.mts +24 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.constants.d.ts +24 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.constants.js +33 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.constants.js.map +1 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.constants.mjs +33 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.constants.mjs.map +1 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.types.d.mts +12 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.types.d.ts +12 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.types.js +4 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.types.js.map +1 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.types.mjs +3 -0
- package/dist/node/lib/A-ServerLogger/A-ServerLogger.types.mjs.map +1 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.component.d.mts +6 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.component.d.ts +6 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.component.js +18 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.component.js.map +1 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.component.mjs +17 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.component.mjs.map +1 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.constants.d.mts +2 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.constants.d.ts +2 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.constants.js +4 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.constants.js.map +1 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.constants.mjs +3 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.constants.mjs.map +1 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.types.d.mts +2 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.types.d.ts +2 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.types.js +4 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.types.js.map +1 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.types.mjs +3 -0
- package/dist/node/lib/A-ServerMiddleware/A-ServerMiddleware.types.mjs.map +1 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.component.d.mts +31 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.component.d.ts +31 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.component.js +90 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.component.js.map +1 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.component.mjs +78 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.component.mjs.map +1 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.constants.d.mts +9 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.constants.d.ts +9 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.constants.js +14 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.constants.js.map +1 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.constants.mjs +14 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.constants.mjs.map +1 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.context.d.mts +36 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.context.d.ts +36 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.context.js +60 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.context.js.map +1 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.context.mjs +59 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.context.mjs.map +1 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.types.d.mts +23 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.types.d.ts +23 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.types.js +4 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.types.js.map +1 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.types.mjs +3 -0
- package/dist/node/lib/A-ServerProxy/A-ServerProxy.types.mjs.map +1 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.constants.d.mts +20 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.constants.d.ts +20 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.constants.js +25 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.constants.js.map +1 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.constants.mjs +24 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.constants.mjs.map +1 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.entity.d.mts +15 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.entity.d.ts +15 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.entity.js +24 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.entity.js.map +1 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.entity.mjs +23 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.entity.mjs.map +1 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.types.d.mts +6 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.types.d.ts +6 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.types.js +4 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.types.js.map +1 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.types.mjs +3 -0
- package/dist/node/lib/A-ServerRoute/A-ServerRoute.types.mjs.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.component.d.mts +84 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.component.d.ts +84 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.component.js +194 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.component.js.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.component.mjs +184 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.component.mjs.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.constants.d.mts +6 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.constants.d.ts +6 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.constants.js +10 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.constants.js.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.constants.mjs +10 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.constants.mjs.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.meta.d.mts +16 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.meta.d.ts +16 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.meta.js +40 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.meta.js.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.meta.mjs +39 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.meta.mjs.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.types.d.mts +24 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.types.d.ts +24 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.types.js +4 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.types.js.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.types.mjs +3 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouter.types.mjs.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouterDefine.decorator.d.mts +16 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouterDefine.decorator.d.ts +16 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouterDefine.decorator.js +25 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouterDefine.decorator.js.map +1 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouterDefine.decorator.mjs +24 -0
- package/dist/node/lib/A-ServerRouter/A-ServerRouterDefine.decorator.mjs.map +1 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.component.d.mts +65 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.component.d.ts +65 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.component.js +260 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.component.js.map +1 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.component.mjs +248 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.component.mjs.map +1 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.context.d.mts +110 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.context.d.ts +110 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.context.js +180 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.context.js.map +1 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.context.mjs +179 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.context.mjs.map +1 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.types.d.mts +8 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.types.d.ts +8 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.types.js +4 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.types.js.map +1 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.types.mjs +3 -0
- package/dist/node/lib/A-ServerStatic/A-ServerStatic.types.mjs.map +1 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.component.d.mts +29 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.component.d.ts +29 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.component.js +62 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.component.js.map +1 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.component.mjs +50 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.component.mjs.map +1 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.constants.d.mts +5 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.constants.d.ts +5 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.constants.js +14 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.constants.js.map +1 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.constants.mjs +14 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.constants.mjs.map +1 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.types.d.mts +9 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.types.d.ts +9 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.types.js +4 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.types.js.map +1 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.types.mjs +3 -0
- package/dist/node/middlewares/A-ServerCORS/A_ServerCORS.types.mjs.map +1 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.component.d.mts +24 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.component.d.ts +24 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.component.js +94 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.component.js.map +1 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.component.mjs +82 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.component.mjs.map +1 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.error.d.mts +2 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.error.d.ts +2 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.error.js +4 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.error.js.map +1 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.error.mjs +3 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.error.mjs.map +1 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.types.d.mts +2 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.types.d.ts +2 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.types.js +4 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.types.js.map +1 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.types.mjs +3 -0
- package/dist/node/repositories/A-EntityRepository/A-EntityRepository.types.mjs.map +1 -0
- package/examples/simple-server/commands/SignIn.command.ts +17 -1
- package/examples/simple-server/components/Test.controller.ts +8 -7
- package/examples/simple-server/components/Users.repository.ts +28 -26
- package/examples/simple-server/concept.ts +56 -66
- package/examples/simple-server/entities/User/User.entity.ts +17 -7
- package/jest.config.ts +24 -10
- package/package.json +267 -25
- package/src/channels/A-Http/A-Http.channel.constants.ts +6 -7
- package/src/channels/A-Http/A-Http.channel.error.ts +2 -2
- package/src/channels/A-Http/A-Http.channel.ts +76 -125
- package/src/channels/A-Http/A-Http.channel.types.ts +6 -3
- package/src/channels/A-Websockets/A-Websockets.channel.ts +1 -1
- package/src/{components → controllers}/A-CommandController/A-CommandController.component.ts +16 -10
- package/src/{components → controllers}/A-EntityController/A-EntityController.component.ts +24 -28
- package/src/{components → controllers}/A-ListingController/A-ListingController.component.ts +10 -12
- package/src/{components → controllers}/A-ServerHealthMonitor/A-ServerHealthMonitor.component.ts +11 -11
- package/src/index.ts +58 -63
- package/src/lib/A-Request/A-HttpRequestData.context.ts +30 -0
- package/src/lib/A-Request/A-HttpServerRequest.context.ts +103 -0
- package/src/lib/A-Request/A-Request.constants.ts +30 -0
- package/src/lib/A-Request/A-Request.entity.ts +844 -0
- package/src/lib/A-Request/A-Request.env.ts +50 -0
- package/src/lib/A-Request/A-Request.error.ts +11 -0
- package/src/lib/A-Request/A-Request.helper.ts +276 -0
- package/src/lib/A-Request/A-Request.types.ts +284 -0
- package/src/lib/A-Request/README.md +567 -0
- package/src/lib/A-Response/A-Response.constants.ts +24 -0
- package/src/lib/A-Response/A-Response.entity.ts +689 -0
- package/src/lib/A-Response/A-Response.error.ts +6 -0
- package/src/lib/A-Response/A-Response.types.ts +127 -0
- package/src/lib/A-Response/README.md +793 -0
- package/src/lib/A-Server/A-HttpServer.constants.ts +9 -0
- package/src/lib/A-Server/A-HttpServer.container.ts +251 -0
- package/src/lib/A-Server/A-HttpServer.error.ts +165 -0
- package/src/lib/A-Server/A-HttpServer.types.ts +37 -0
- package/src/{context/A-Server/A_Server.context.ts → lib/A-Server/A-Server.context.ts} +6 -7
- package/src/lib/A-Server/A-Server.error.ts +26 -0
- package/src/{components/A-ServerError/A-ServerError.types.ts → lib/A-Server/A-Server.types.ts} +8 -0
- package/src/{components/A-Controller/A-Controller.component.ts → lib/A-ServerController/A-ServerController.component.ts} +5 -5
- package/src/{entities/A_EntityList/A_EntityList.entity.ts → lib/A-ServerEntityList/A-EntityList.entity.ts} +2 -2
- package/src/{entities/A_EntityList/A_EntityList.entity.types.ts → lib/A-ServerEntityList/A-EntityList.types.ts} +2 -2
- package/src/{context/A-ListQueryFilter/A_ListQueryFilter.context.ts → lib/A-ServerListQuery/A-ServerListQueryFilter.context.ts} +1 -1
- package/src/lib/A-ServerLogger/A-ServerLogger.component.ts +121 -0
- package/src/lib/A-ServerLogger/A-ServerLogger.types.ts +13 -0
- package/src/lib/A-ServerMiddleware/A-ServerMiddleware.component.ts +17 -0
- package/src/{components → lib}/A-ServerProxy/A-ServerProxy.component.ts +17 -12
- package/src/{context/A-ProxyConfig/A_ProxyConfig.constants.ts → lib/A-ServerProxy/A-ServerProxy.constants.ts} +1 -1
- package/src/{context/A-ProxyConfig/A_ProxyConfig.context.ts → lib/A-ServerProxy/A-ServerProxy.context.ts} +4 -4
- package/src/{context/A-ProxyConfig/A_ProxyConfig.types.ts → lib/A-ServerProxy/A-ServerProxy.types.ts} +4 -4
- package/src/lib/A-ServerRoute/A-ServerRoute.constants.ts +20 -0
- package/src/lib/A-ServerRoute/A-ServerRoute.entity.ts +48 -0
- package/src/lib/A-ServerRoute/A-ServerRoute.types.ts +6 -0
- package/src/{components/A-Router/A-Router.component.ts → lib/A-ServerRouter/A-ServerRouter.component.ts} +77 -97
- package/src/lib/A-ServerRouter/A-ServerRouter.constants.ts +8 -0
- package/src/lib/A-ServerRouter/A-ServerRouter.meta.ts +48 -0
- package/src/lib/A-ServerRouter/A-ServerRouter.types.ts +27 -0
- package/src/lib/A-ServerRouter/A-ServerRouterDefine.decorator.ts +37 -0
- package/src/{components/A-StaticLoader/A-StaticLoader.component.ts → lib/A-ServerStatic/A-ServerStatic.component.ts} +73 -54
- package/src/{context/A-StaticConfig/A-StaticConfig.context.ts → lib/A-ServerStatic/A-ServerStatic.context.ts} +16 -6
- package/src/{components → middlewares}/A-ServerCORS/A_ServerCORS.component.ts +16 -13
- package/src/{components/A-ServerCORS/A_ServerCORS.component.defaults.ts → middlewares/A-ServerCORS/A_ServerCORS.constants.ts} +2 -2
- package/src/{components → repositories}/A-EntityRepository/A-EntityRepository.component.ts +39 -30
- package/tests/A-HttpChannel.test.ts +41 -48
- package/tests/A-HttpServerError.test.ts +204 -0
- package/tests/A-Request.test.ts +351 -0
- package/tsconfig.json +40 -50
- package/tsup.config.ts +111 -13
- package/dist/index.d.mts +0 -855
- package/dist/index.d.ts +0 -855
- package/dist/index.js +0 -2179
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -2144
- package/dist/index.mjs.map +0 -1
- package/examples/microservices-server/components/controllers/Statistics.controller.ts +0 -18
- package/examples/microservices-server/components/repositories/Memory.repository.ts +0 -66
- package/examples/microservices-server/concept.ts +0 -43
- package/examples/microservices-server/context/MemoryStore.context.ts +0 -31
- package/examples/microservices-server/entities/Order.entity.ts +0 -7
- package/examples/microservices-server/entities/User.entity.ts +0 -8
- package/src/components/A-Router/A-Router.component.types.ts +0 -38
- package/src/components/A-ServerError/A-ServerError.class.ts +0 -98
- package/src/components/A-ServerLogger/A_ServerLogger.component.ts +0 -194
- package/src/components/A-ServerLogger/A_ServerLogger.component.types.ts +0 -14
- package/src/containers/A-Service/A-Service.container.ts +0 -218
- package/src/containers/A-Service/A-Service.container.types.ts +0 -46
- package/src/context/A-EntityFactory/A-EntityFactory.context.ts +0 -163
- package/src/context/A-EntityFactory/A-EntityFactory.context.types.ts +0 -11
- package/src/context/A-HttpChannel/A-HttpChannel.context.ts +0 -36
- package/src/context/A-Server/A_Server.context.types.ts +0 -9
- package/src/entities/A-Request/A-Request.entity.ts +0 -163
- package/src/entities/A-Request/A-Request.entity.types.ts +0 -41
- package/src/entities/A-Response/A-Response.entity.ts +0 -194
- package/src/entities/A-Response/A-Response.entity.types.ts +0 -26
- package/src/entities/A-Route/A-Route.entity.ts +0 -117
- package/tests/A-Service.test.ts +0 -18
- /package/src/{components → controllers}/A-EntityController/A-EntityController.component.types.ts +0 -0
- /package/src/{components/A-Controller/A-Controller.component.types.ts → controllers/A-ListingController/A-ListingController.types.ts} +0 -0
- /package/src/{components/A-ServerHealthMonitor/A-ServerHealthMonitor.component.types.ts → controllers/A-ServerHealthMonitor/A-ServerHealthMonitor.types.ts} +0 -0
- /package/src/{components/A-EntityRepository/A-EntityRepository.error.ts → lib/A-Response/A-Response.env.ts} +0 -0
- /package/src/{components/A-EntityRepository/A-EntityRepository.types.ts → lib/A-ServerController/A-ServerController.types.ts} +0 -0
- /package/src/{components → lib}/A-ServerLogger/A-ServerLogger.constants.ts +0 -0
- /package/src/{components/A-ListingController/A-ListingController.component.types.ts → lib/A-ServerMiddleware/A-ServerMiddleware.constants.ts} +0 -0
- /package/src/{components/A-ServerError/A-ServerError.constants.ts → lib/A-ServerMiddleware/A-ServerMiddleware.types.ts} +0 -0
- /package/src/{components/A-StaticLoader/A-StaticLoader.component.types.ts → lib/A-ServerStatic/A-ServerStatic.types.ts} +0 -0
- /package/src/{components/A-ServerCORS/A_ServerCORS.component.types.ts → middlewares/A-ServerCORS/A_ServerCORS.types.ts} +0 -0
- /package/src/{context/A-StaticConfig/A-StaticConfig.context.types.ts → repositories/A-EntityRepository/A-EntityRepository.error.ts} +0 -0
- /package/src/{entities/A-Route/A-Route.entity.types.ts → repositories/A-EntityRepository/A-EntityRepository.types.ts} +0 -0
|
@@ -0,0 +1,567 @@
|
|
|
1
|
+
# A_Request - Comprehensive HTTP Request Processing
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The `A_Request` class is a comprehensive wrapper around Node.js `IncomingMessage` that provides advanced HTTP request processing capabilities. It extends the base `A_Entity` class and offers features like automatic body parsing, cookie and session management, file upload handling, request validation, and performance tracking.
|
|
6
|
+
|
|
7
|
+
## Key Features
|
|
8
|
+
|
|
9
|
+
- 🚀 **High Performance**: Efficient request processing with performance metrics
|
|
10
|
+
- 📦 **Body Parsing**: Automatic parsing of JSON, form-data, multipart, and raw content
|
|
11
|
+
- 🍪 **Cookie Management**: Built-in cookie parsing and secure cookie handling
|
|
12
|
+
- 📊 **Session Support**: Session management with customizable storage
|
|
13
|
+
- 📁 **File Uploads**: Multipart file upload processing with validation
|
|
14
|
+
- ✅ **Request Validation**: Schema-based request validation with detailed error reporting
|
|
15
|
+
- ⏱️ **Performance Tracking**: Request timing, parsing metrics, and performance insights
|
|
16
|
+
- 🛡️ **Security**: Built-in security features and input sanitization
|
|
17
|
+
- 🔧 **Type Safety**: Full TypeScript support with generic types for request/response data
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install @adaas/a-server
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Basic Usage
|
|
26
|
+
|
|
27
|
+
### Simple Request Processing
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
import { A_Request } from '@adaas/a-server';
|
|
31
|
+
import { IncomingMessage } from 'http';
|
|
32
|
+
|
|
33
|
+
// Create request instance
|
|
34
|
+
const request = new A_Request({
|
|
35
|
+
id: 'req-123',
|
|
36
|
+
request: incomingMessage, // Node.js IncomingMessage
|
|
37
|
+
scope: 'api'
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
// Initialize request processing
|
|
41
|
+
await request.init();
|
|
42
|
+
|
|
43
|
+
// Access parsed data
|
|
44
|
+
console.log('Method:', request.method);
|
|
45
|
+
console.log('URL:', request.url);
|
|
46
|
+
console.log('Headers:', request.headers);
|
|
47
|
+
console.log('Body:', request.body);
|
|
48
|
+
console.log('Parameters:', request.params);
|
|
49
|
+
console.log('Query:', request.query);
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Typed Request Processing
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
interface UserCreateRequest {
|
|
56
|
+
name: string;
|
|
57
|
+
email: string;
|
|
58
|
+
age: number;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface UserParams {
|
|
62
|
+
userId: string;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
interface UserQuery {
|
|
66
|
+
include?: string;
|
|
67
|
+
sort?: string;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
const request = new A_Request<UserCreateRequest, any, UserParams, UserQuery>({
|
|
71
|
+
id: 'req-456',
|
|
72
|
+
request: incomingMessage,
|
|
73
|
+
scope: 'users'
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
await request.init();
|
|
77
|
+
|
|
78
|
+
// Fully typed access
|
|
79
|
+
const userName: string = request.body.name;
|
|
80
|
+
const userId: string = request.params.userId;
|
|
81
|
+
const sortOrder: string | undefined = request.query.sort;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Advanced Features
|
|
85
|
+
|
|
86
|
+
### Request Configuration
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
const options = {
|
|
90
|
+
maxBodySize: 50 * 1024 * 1024, // 50MB
|
|
91
|
+
timeout: 60000, // 60 seconds
|
|
92
|
+
encoding: 'utf8',
|
|
93
|
+
parseCookies: true,
|
|
94
|
+
parseQuery: true,
|
|
95
|
+
parseBody: true,
|
|
96
|
+
enableSession: true,
|
|
97
|
+
enableFileUploads: true,
|
|
98
|
+
strictValidation: false
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const request = new A_Request({
|
|
102
|
+
id: 'req-789',
|
|
103
|
+
request: incomingMessage,
|
|
104
|
+
scope: 'api'
|
|
105
|
+
}, options);
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Body Parsing
|
|
109
|
+
|
|
110
|
+
The A_Request class automatically detects and parses different content types:
|
|
111
|
+
|
|
112
|
+
#### JSON Requests
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
// Content-Type: application/json
|
|
116
|
+
await request.init();
|
|
117
|
+
const userData = request.body; // Parsed JSON object
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
#### Form Data
|
|
121
|
+
|
|
122
|
+
```typescript
|
|
123
|
+
// Content-Type: application/x-www-form-urlencoded
|
|
124
|
+
await request.init();
|
|
125
|
+
const formData = request.body; // Parsed form data
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
#### Multipart Data with File Uploads
|
|
129
|
+
|
|
130
|
+
```typescript
|
|
131
|
+
// Content-Type: multipart/form-data
|
|
132
|
+
const options = { enableFileUploads: true };
|
|
133
|
+
const request = new A_Request(params, options);
|
|
134
|
+
await request.init();
|
|
135
|
+
|
|
136
|
+
// Access form fields
|
|
137
|
+
const userName = request.body.name;
|
|
138
|
+
|
|
139
|
+
// Access uploaded files
|
|
140
|
+
const uploadedFiles = request.files;
|
|
141
|
+
uploadedFiles.forEach(file => {
|
|
142
|
+
console.log('Field:', file.fieldName);
|
|
143
|
+
console.log('Filename:', file.filename);
|
|
144
|
+
console.log('Size:', file.size);
|
|
145
|
+
console.log('Type:', file.mimetype);
|
|
146
|
+
console.log('Data:', file.buffer);
|
|
147
|
+
});
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### Cookie Management
|
|
151
|
+
|
|
152
|
+
```typescript
|
|
153
|
+
await request.init();
|
|
154
|
+
|
|
155
|
+
// Get all cookies
|
|
156
|
+
const cookies = request.cookies;
|
|
157
|
+
|
|
158
|
+
// Get specific cookie
|
|
159
|
+
const sessionId = request.getCookie('sessionId');
|
|
160
|
+
|
|
161
|
+
// Check if cookie exists
|
|
162
|
+
if (request.hasCookie('preferences')) {
|
|
163
|
+
const prefs = request.getCookie('preferences');
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// Set cookies (for response)
|
|
167
|
+
request.setCookie('newCookie', 'value', {
|
|
168
|
+
httpOnly: true,
|
|
169
|
+
secure: true,
|
|
170
|
+
maxAge: 3600
|
|
171
|
+
});
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### Session Management
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
const options = { enableSession: true };
|
|
178
|
+
const request = new A_Request(params, options);
|
|
179
|
+
await request.init();
|
|
180
|
+
|
|
181
|
+
// Get session data
|
|
182
|
+
const session = request.session;
|
|
183
|
+
console.log('Session ID:', session.id);
|
|
184
|
+
console.log('Created:', session.createdAt);
|
|
185
|
+
|
|
186
|
+
// Get specific session value
|
|
187
|
+
const userId = request.getSession('userId');
|
|
188
|
+
|
|
189
|
+
// Set session value
|
|
190
|
+
request.setSession('userId', '12345');
|
|
191
|
+
request.setSession('preferences', { theme: 'dark' });
|
|
192
|
+
|
|
193
|
+
// Destroy session
|
|
194
|
+
request.destroySession();
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Request Validation
|
|
198
|
+
|
|
199
|
+
```typescript
|
|
200
|
+
const schema = {
|
|
201
|
+
required: ['name', 'email'],
|
|
202
|
+
fields: {
|
|
203
|
+
name: {
|
|
204
|
+
type: 'string',
|
|
205
|
+
minLength: 2,
|
|
206
|
+
maxLength: 50
|
|
207
|
+
},
|
|
208
|
+
email: {
|
|
209
|
+
type: 'string',
|
|
210
|
+
minLength: 5,
|
|
211
|
+
maxLength: 100
|
|
212
|
+
},
|
|
213
|
+
age: {
|
|
214
|
+
type: 'number'
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
await request.init();
|
|
220
|
+
const validation = await request.validate(schema);
|
|
221
|
+
|
|
222
|
+
if (!validation.isValid) {
|
|
223
|
+
console.log('Validation errors:', validation.errors);
|
|
224
|
+
console.log('Warnings:', validation.warnings);
|
|
225
|
+
} else {
|
|
226
|
+
console.log('Request is valid!');
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// Quick validation check
|
|
230
|
+
if (!request.isValid) {
|
|
231
|
+
console.log('Request has validation errors:', request.validationErrors);
|
|
232
|
+
}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Performance Monitoring
|
|
236
|
+
|
|
237
|
+
```typescript
|
|
238
|
+
await request.init();
|
|
239
|
+
|
|
240
|
+
// Get processing metrics
|
|
241
|
+
console.log('Processing time:', request.processingTime, 'ms');
|
|
242
|
+
console.log('Client IP:', request.clientIp);
|
|
243
|
+
console.log('User Agent:', request.userAgent);
|
|
244
|
+
console.log('Content Length:', request.contentLength);
|
|
245
|
+
console.log('Body parsed:', request.isBodyParsed);
|
|
246
|
+
|
|
247
|
+
// Get comprehensive metrics
|
|
248
|
+
const metrics = request.metrics;
|
|
249
|
+
console.log('Start time:', metrics.startTime);
|
|
250
|
+
console.log('Bytes written:', metrics.bytesWritten);
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
### Request Metadata
|
|
254
|
+
|
|
255
|
+
```typescript
|
|
256
|
+
// Request information
|
|
257
|
+
console.log('Request method:', request.method);
|
|
258
|
+
console.log('Request URL:', request.url);
|
|
259
|
+
console.log('Is secure (HTTPS):', request.isSecure);
|
|
260
|
+
console.log('Is mobile device:', request.isMobile);
|
|
261
|
+
console.log('Request size:', request.size, 'bytes');
|
|
262
|
+
|
|
263
|
+
// Generate request fingerprint
|
|
264
|
+
const fingerprint = request.getFingerprint();
|
|
265
|
+
console.log('Request fingerprint:', fingerprint);
|
|
266
|
+
|
|
267
|
+
// Check content type acceptance
|
|
268
|
+
if (request.accepts('application/json')) {
|
|
269
|
+
console.log('Client accepts JSON');
|
|
270
|
+
}
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Error Handling
|
|
274
|
+
|
|
275
|
+
```typescript
|
|
276
|
+
try {
|
|
277
|
+
await request.init();
|
|
278
|
+
|
|
279
|
+
if (request.error) {
|
|
280
|
+
console.log('Request error:', request.error.message);
|
|
281
|
+
console.log('Error code:', request.error.code);
|
|
282
|
+
console.log('Status:', request.error.status);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
if (request.bodyParsingError) {
|
|
286
|
+
console.log('Body parsing failed:', request.bodyParsingError.message);
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
} catch (error) {
|
|
290
|
+
console.log('Request initialization failed:', error);
|
|
291
|
+
}
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### Stream Processing
|
|
295
|
+
|
|
296
|
+
```typescript
|
|
297
|
+
// Pipe request to another stream
|
|
298
|
+
const writeStream = fs.createWriteStream('/tmp/upload.dat');
|
|
299
|
+
request.pipe(writeStream);
|
|
300
|
+
|
|
301
|
+
// Handle large requests
|
|
302
|
+
request.req.on('data', (chunk) => {
|
|
303
|
+
console.log('Received chunk:', chunk.length, 'bytes');
|
|
304
|
+
});
|
|
305
|
+
|
|
306
|
+
request.req.on('end', () => {
|
|
307
|
+
console.log('Request complete');
|
|
308
|
+
});
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
## URL Parameter Extraction
|
|
312
|
+
|
|
313
|
+
The A_Request class provides intelligent URL parameter extraction:
|
|
314
|
+
|
|
315
|
+
```typescript
|
|
316
|
+
// URL: /users/123/posts/456?sort=date&limit=10
|
|
317
|
+
// Route pattern: /users/:userId/posts/:postId
|
|
318
|
+
|
|
319
|
+
await request.init();
|
|
320
|
+
|
|
321
|
+
// Extracted parameters
|
|
322
|
+
console.log(request.params.userId); // "123"
|
|
323
|
+
console.log(request.params.postId); // "456"
|
|
324
|
+
|
|
325
|
+
// Query parameters
|
|
326
|
+
console.log(request.query.sort); // "date"
|
|
327
|
+
console.log(request.query.limit); // "10"
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
## Route Information
|
|
331
|
+
|
|
332
|
+
```typescript
|
|
333
|
+
// Get route information
|
|
334
|
+
const route = request.route;
|
|
335
|
+
console.log('Route URL:', route.url);
|
|
336
|
+
console.log('Route method:', route.method);
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
## Debugging and Logging
|
|
340
|
+
|
|
341
|
+
```typescript
|
|
342
|
+
// Comprehensive request serialization
|
|
343
|
+
const requestData = request.toJSON();
|
|
344
|
+
console.log('Request data:', {
|
|
345
|
+
method: requestData.method,
|
|
346
|
+
url: requestData.url,
|
|
347
|
+
headers: requestData.headers,
|
|
348
|
+
params: requestData.params,
|
|
349
|
+
query: requestData.query,
|
|
350
|
+
cookies: requestData.cookies,
|
|
351
|
+
files: requestData.files,
|
|
352
|
+
clientIp: requestData.clientIp,
|
|
353
|
+
userAgent: requestData.userAgent,
|
|
354
|
+
processingTime: requestData.processingTime,
|
|
355
|
+
isValid: requestData.isValid,
|
|
356
|
+
validationErrors: requestData.validationErrors
|
|
357
|
+
});
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
## Best Practices
|
|
361
|
+
|
|
362
|
+
### 1. Always Initialize
|
|
363
|
+
|
|
364
|
+
```typescript
|
|
365
|
+
// ✅ Good
|
|
366
|
+
const request = new A_Request(params);
|
|
367
|
+
await request.init(); // Always call init()
|
|
368
|
+
|
|
369
|
+
// ❌ Bad
|
|
370
|
+
const request = new A_Request(params);
|
|
371
|
+
console.log(request.body); // Body not parsed yet
|
|
372
|
+
```
|
|
373
|
+
|
|
374
|
+
### 2. Handle Errors Gracefully
|
|
375
|
+
|
|
376
|
+
```typescript
|
|
377
|
+
// ✅ Good
|
|
378
|
+
try {
|
|
379
|
+
await request.init();
|
|
380
|
+
if (request.error) {
|
|
381
|
+
return handleError(request.error);
|
|
382
|
+
}
|
|
383
|
+
// Process request...
|
|
384
|
+
} catch (error) {
|
|
385
|
+
return handleError(error);
|
|
386
|
+
}
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### 3. Use Type Safety
|
|
390
|
+
|
|
391
|
+
```typescript
|
|
392
|
+
// ✅ Good - Typed request
|
|
393
|
+
interface CreateUserRequest {
|
|
394
|
+
name: string;
|
|
395
|
+
email: string;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
const request = new A_Request<CreateUserRequest>(params);
|
|
399
|
+
await request.init();
|
|
400
|
+
const name: string = request.body.name; // Type safe
|
|
401
|
+
|
|
402
|
+
// ❌ Bad - Untyped access
|
|
403
|
+
const name = request.body.name; // Could be undefined
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
### 4. Validate Input
|
|
407
|
+
|
|
408
|
+
```typescript
|
|
409
|
+
// ✅ Good
|
|
410
|
+
await request.init();
|
|
411
|
+
const validation = await request.validate(schema);
|
|
412
|
+
if (!validation.isValid) {
|
|
413
|
+
return response.status(400).json({
|
|
414
|
+
errors: validation.errors
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
### 5. Configure Appropriately
|
|
420
|
+
|
|
421
|
+
```typescript
|
|
422
|
+
// ✅ Good - Configure for your use case
|
|
423
|
+
const options = {
|
|
424
|
+
maxBodySize: 10 * 1024 * 1024, // 10MB for API
|
|
425
|
+
enableFileUploads: false, // Disable if not needed
|
|
426
|
+
enableSession: true, // Enable for user endpoints
|
|
427
|
+
strictValidation: true // Enable for production
|
|
428
|
+
};
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
## Security Considerations
|
|
432
|
+
|
|
433
|
+
### 1. Body Size Limits
|
|
434
|
+
|
|
435
|
+
```typescript
|
|
436
|
+
const options = {
|
|
437
|
+
maxBodySize: 1024 * 1024, // 1MB limit
|
|
438
|
+
};
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
### 2. Input Validation
|
|
442
|
+
|
|
443
|
+
```typescript
|
|
444
|
+
// Always validate input data
|
|
445
|
+
const validation = await request.validate(strictSchema);
|
|
446
|
+
if (!validation.isValid) {
|
|
447
|
+
throw new Error('Invalid input');
|
|
448
|
+
}
|
|
449
|
+
```
|
|
450
|
+
|
|
451
|
+
### 3. File Upload Security
|
|
452
|
+
|
|
453
|
+
```typescript
|
|
454
|
+
// Validate file uploads
|
|
455
|
+
request.files.forEach(file => {
|
|
456
|
+
// Check file type
|
|
457
|
+
if (!allowedTypes.includes(file.mimetype)) {
|
|
458
|
+
throw new Error('Invalid file type');
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
// Check file size
|
|
462
|
+
if (file.size > maxFileSize) {
|
|
463
|
+
throw new Error('File too large');
|
|
464
|
+
}
|
|
465
|
+
});
|
|
466
|
+
```
|
|
467
|
+
|
|
468
|
+
### 4. Cookie Security
|
|
469
|
+
|
|
470
|
+
```typescript
|
|
471
|
+
request.setCookie('sessionId', sessionId, {
|
|
472
|
+
httpOnly: true, // Prevent XSS
|
|
473
|
+
secure: true, // HTTPS only
|
|
474
|
+
sameSite: 'strict' // CSRF protection
|
|
475
|
+
});
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
## Performance Tips
|
|
479
|
+
|
|
480
|
+
### 1. Configure Parsing Options
|
|
481
|
+
|
|
482
|
+
```typescript
|
|
483
|
+
// Disable unnecessary features
|
|
484
|
+
const options = {
|
|
485
|
+
parseCookies: false, // If cookies not needed
|
|
486
|
+
parseBody: false, // If body not needed
|
|
487
|
+
enableSession: false, // If sessions not needed
|
|
488
|
+
enableFileUploads: false // If file uploads not needed
|
|
489
|
+
};
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
### 2. Monitor Performance
|
|
493
|
+
|
|
494
|
+
```typescript
|
|
495
|
+
console.log('Processing time:', request.processingTime);
|
|
496
|
+
console.log('Body parsed in:', request.bodyParsingTime);
|
|
497
|
+
console.log('Request size:', request.size);
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
### 3. Use Streaming for Large Data
|
|
501
|
+
|
|
502
|
+
```typescript
|
|
503
|
+
// For large requests, use streaming
|
|
504
|
+
request.pipe(processingStream);
|
|
505
|
+
```
|
|
506
|
+
|
|
507
|
+
## API Reference
|
|
508
|
+
|
|
509
|
+
### Constructor
|
|
510
|
+
|
|
511
|
+
```typescript
|
|
512
|
+
new A_Request<BodyType, ResponseType, ParamsType, QueryType>(
|
|
513
|
+
params: A_SERVER_TYPES__RequestConstructor,
|
|
514
|
+
options?: A_SERVER_TYPES__RequestOptions
|
|
515
|
+
)
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
### Properties
|
|
519
|
+
|
|
520
|
+
- `body: BodyType` - Parsed request body
|
|
521
|
+
- `params: ParamsType` - URL parameters
|
|
522
|
+
- `query: QueryType` - Query string parameters
|
|
523
|
+
- `cookies: Record<string, string>` - Parsed cookies
|
|
524
|
+
- `files: A_SERVER_TYPES__FileUpload[]` - Uploaded files
|
|
525
|
+
- `session: A_SERVER_TYPES__SessionData` - Session data
|
|
526
|
+
- `headers: IncomingHttpHeaders` - Request headers
|
|
527
|
+
- `method: A_SERVER_TYPES__RequestMethods` - HTTP method
|
|
528
|
+
- `url: string` - Request URL
|
|
529
|
+
- `clientIp: string` - Client IP address
|
|
530
|
+
- `userAgent: string` - User agent string
|
|
531
|
+
- `contentLength: number` - Content length in bytes
|
|
532
|
+
- `isBodyParsed: boolean` - Whether body has been parsed
|
|
533
|
+
- `isValid: boolean` - Whether request passed validation
|
|
534
|
+
- `validationErrors: string[]` - Validation error messages
|
|
535
|
+
- `processingTime: number` - Processing time in milliseconds
|
|
536
|
+
- `isSecure: boolean` - Whether request is HTTPS
|
|
537
|
+
- `isMobile: boolean` - Whether request is from mobile device
|
|
538
|
+
- `size: number` - Request size in bytes
|
|
539
|
+
|
|
540
|
+
### Methods
|
|
541
|
+
|
|
542
|
+
- `init(): Promise<void>` - Initialize request processing
|
|
543
|
+
- `validate(schema: any): Promise<A_SERVER_TYPES__ValidationResult>` - Validate request
|
|
544
|
+
- `setCookie(name: string, value: string, options?: CookieOptions): void` - Set cookie
|
|
545
|
+
- `getCookie(name: string): string | undefined` - Get cookie value
|
|
546
|
+
- `hasCookie(name: string): boolean` - Check if cookie exists
|
|
547
|
+
- `getSession(key?: string): any` - Get session data
|
|
548
|
+
- `setSession(key: string, value: any): void` - Set session data
|
|
549
|
+
- `destroySession(): void` - Destroy session
|
|
550
|
+
- `accepts(contentType: string): boolean` - Check content type acceptance
|
|
551
|
+
- `getFingerprint(): string` - Get request fingerprint
|
|
552
|
+
- `pipe(destination: WritableStream): WritableStream` - Pipe request stream
|
|
553
|
+
- `toJSON(): any` - Serialize for debugging
|
|
554
|
+
|
|
555
|
+
## Contributing
|
|
556
|
+
|
|
557
|
+
When contributing to A_Request:
|
|
558
|
+
|
|
559
|
+
1. Ensure all features have comprehensive tests
|
|
560
|
+
2. Update documentation for new features
|
|
561
|
+
3. Follow TypeScript best practices
|
|
562
|
+
4. Consider performance implications
|
|
563
|
+
5. Add security validation where appropriate
|
|
564
|
+
|
|
565
|
+
## License
|
|
566
|
+
|
|
567
|
+
MIT License - see LICENSE file for details.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
export const A_ResponseFeatures = {
|
|
4
|
+
/**
|
|
5
|
+
* Event fired when an error occurs while sending the response
|
|
6
|
+
*/
|
|
7
|
+
onError: '_A_Response_onError',
|
|
8
|
+
/**
|
|
9
|
+
* Event fired when the response is closed
|
|
10
|
+
*/
|
|
11
|
+
onClose: '_A_Response_onClose',
|
|
12
|
+
/**
|
|
13
|
+
* Event fired when the response is finished
|
|
14
|
+
*/
|
|
15
|
+
onFinish: '_A_Response_onFinish',
|
|
16
|
+
/**
|
|
17
|
+
* Event fired when the response is sent
|
|
18
|
+
*/
|
|
19
|
+
onSend: '_A_Response_onSend',
|
|
20
|
+
/**
|
|
21
|
+
* Event fired when the response is redirected
|
|
22
|
+
*/
|
|
23
|
+
onRedirect: '_A_Response_onRedirect',
|
|
24
|
+
} as const;
|