@rapidrest/service-core 1.0.0-rc.2 → 1.0.0-rc.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/dist/lib/BackgroundService.js +0 -4
  2. package/dist/lib/BackgroundService.js.map +1 -1
  3. package/dist/lib/BackgroundServiceManager.js +21 -4
  4. package/dist/lib/BackgroundServiceManager.js.map +1 -1
  5. package/dist/lib/EventListenerManager.js.map +1 -1
  6. package/dist/lib/OpenApiSpec.js +3 -2
  7. package/dist/lib/OpenApiSpec.js.map +1 -1
  8. package/dist/lib/Server.js +18 -79
  9. package/dist/lib/Server.js.map +1 -1
  10. package/dist/lib/database/TypeOrmSupport.js +18 -2
  11. package/dist/lib/database/TypeOrmSupport.js.map +1 -1
  12. package/dist/lib/decorators/DocDecorators.js +19 -1
  13. package/dist/lib/decorators/DocDecorators.js.map +1 -1
  14. package/dist/lib/decorators/PersistenceDecorators.js.map +1 -1
  15. package/dist/lib/decorators/RouteDecorators.js +71 -20
  16. package/dist/lib/decorators/RouteDecorators.js.map +1 -1
  17. package/dist/lib/http/Adapters.js +45 -2
  18. package/dist/lib/http/Adapters.js.map +1 -1
  19. package/dist/lib/http/Router.js +53 -56
  20. package/dist/lib/http/Router.js.map +1 -1
  21. package/dist/lib/models/ModelUtils.js +18 -8
  22. package/dist/lib/models/ModelUtils.js.map +1 -1
  23. package/dist/lib/models/RepoUtils.js +96 -31
  24. package/dist/lib/models/RepoUtils.js.map +1 -1
  25. package/dist/lib/routes/{AdminRoute.js → BaseAdminRoute.js} +51 -36
  26. package/dist/lib/routes/BaseAdminRoute.js.map +1 -0
  27. package/dist/lib/routes/{MetricsRoute.js → BaseMetricsRoute.js} +28 -15
  28. package/dist/lib/routes/BaseMetricsRoute.js.map +1 -0
  29. package/dist/lib/routes/{OpenAPIRoute.js → BaseOpenAPIRoute.js} +31 -32
  30. package/dist/lib/routes/BaseOpenAPIRoute.js.map +1 -0
  31. package/dist/lib/routes/BasePushRoute.js +193 -0
  32. package/dist/lib/routes/BasePushRoute.js.map +1 -0
  33. package/dist/lib/routes/BaseStaticRoute.js +152 -0
  34. package/dist/lib/routes/BaseStaticRoute.js.map +1 -0
  35. package/dist/lib/routes/BaseStatusRoute.js +79 -0
  36. package/dist/lib/routes/BaseStatusRoute.js.map +1 -0
  37. package/dist/lib/routes/CRUDRoute.js +238 -0
  38. package/dist/lib/routes/CRUDRoute.js.map +1 -0
  39. package/dist/lib/routes/ModelRoute.js +20 -28
  40. package/dist/lib/routes/ModelRoute.js.map +1 -1
  41. package/dist/lib/routes/index.js +7 -4
  42. package/dist/lib/routes/index.js.map +1 -1
  43. package/dist/lib/security/ACLUtils.js +10 -13
  44. package/dist/lib/security/ACLUtils.js.map +1 -1
  45. package/dist/lib/security/AccessControlListMongo.js +5 -1
  46. package/dist/lib/security/AccessControlListMongo.js.map +1 -1
  47. package/dist/lib/security/AccessControlListSQL.js +7 -3
  48. package/dist/lib/security/AccessControlListSQL.js.map +1 -1
  49. package/dist/lib/security/BaseACLRoute.js +239 -0
  50. package/dist/lib/security/BaseACLRoute.js.map +1 -0
  51. package/dist/lib/security/index.js +3 -0
  52. package/dist/lib/security/index.js.map +1 -1
  53. package/dist/lib/test/request.js +6 -2
  54. package/dist/lib/test/request.js.map +1 -1
  55. package/dist/types/BackgroundService.d.ts +0 -5
  56. package/dist/types/BackgroundServiceManager.d.ts +1 -1
  57. package/dist/types/EventListenerManager.d.ts +4 -4
  58. package/dist/types/Server.d.ts +21 -6
  59. package/dist/types/decorators/DocDecorators.d.ts +9 -0
  60. package/dist/types/decorators/PersistenceDecorators.d.ts +7 -0
  61. package/dist/types/decorators/RouteDecorators.d.ts +14 -5
  62. package/dist/types/http/Adapters.d.ts +19 -0
  63. package/dist/types/http/Router.d.ts +6 -6
  64. package/dist/types/models/ModelUtils.d.ts +2 -1
  65. package/dist/types/routes/BaseAdminRoute.d.ts +59 -0
  66. package/dist/types/routes/BaseMetricsRoute.d.ts +37 -0
  67. package/dist/types/routes/BaseOpenAPIRoute.d.ts +33 -0
  68. package/dist/types/routes/BasePushRoute.d.ts +39 -0
  69. package/dist/types/routes/BaseStaticRoute.d.ts +44 -0
  70. package/dist/types/routes/BaseStatusRoute.d.ts +37 -0
  71. package/dist/types/routes/CRUDRoute.d.ts +47 -0
  72. package/dist/types/routes/ModelRoute.d.ts +23 -16
  73. package/dist/types/routes/index.d.ts +7 -4
  74. package/dist/types/security/ACLUtils.d.ts +1 -1
  75. package/dist/types/security/AccessControlList.d.ts +1 -1
  76. package/dist/types/security/AccessControlListMongo.d.ts +1 -1
  77. package/dist/types/security/AccessControlListSQL.d.ts +1 -1
  78. package/dist/types/security/BaseACLRoute.d.ts +73 -0
  79. package/dist/types/security/index.d.ts +3 -0
  80. package/package.json +132 -129
  81. package/tsconfig.export.json +17 -0
  82. package/dist/lib/routes/AdminRoute.js.map +0 -1
  83. package/dist/lib/routes/MetricsRoute.js.map +0 -1
  84. package/dist/lib/routes/OpenAPIRoute.js.map +0 -1
  85. package/dist/lib/routes/StatusRoute.js +0 -55
  86. package/dist/lib/routes/StatusRoute.js.map +0 -1
  87. package/dist/lib/security/ACLRouteMongo.js +0 -194
  88. package/dist/lib/security/ACLRouteMongo.js.map +0 -1
  89. package/dist/lib/security/ACLRouteSQL.js +0 -193
  90. package/dist/lib/security/ACLRouteSQL.js.map +0 -1
  91. package/dist/types/routes/AdminRoute.d.ts +0 -47
  92. package/dist/types/routes/MetricsRoute.d.ts +0 -15
  93. package/dist/types/routes/OpenAPIRoute.d.ts +0 -17
  94. package/dist/types/routes/StatusRoute.d.ts +0 -11
  95. package/dist/types/security/ACLRouteMongo.d.ts +0 -19
  96. package/dist/types/security/ACLRouteSQL.d.ts +0 -19
  97. package/docs/Makefile +0 -20
  98. package/docs/conf.py +0 -58
  99. package/docs/index.rst +0 -17
  100. package/docs/make.bat +0 -35
  101. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/README.md +0 -13
  102. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +0 -25
  103. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +0 -25
  104. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +0 -25
  105. package/docs/reference/@rapidrest/namespaces/DocDecorators/README.md +0 -23
  106. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +0 -25
  107. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +0 -25
  108. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +0 -25
  109. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +0 -25
  110. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +0 -25
  111. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +0 -28
  112. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +0 -25
  113. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +0 -25
  114. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +0 -28
  115. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +0 -57
  116. package/docs/reference/@rapidrest/namespaces/EventDecorators/README.md +0 -12
  117. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +0 -17
  118. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +0 -26
  119. package/docs/reference/@rapidrest/namespaces/ModelDecorators/README.md +0 -26
  120. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +0 -25
  121. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +0 -18
  122. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +0 -25
  123. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +0 -27
  124. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +0 -35
  125. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +0 -25
  126. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +0 -27
  127. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +0 -26
  128. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +0 -45
  129. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +0 -14
  130. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/README.md +0 -27
  131. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +0 -25
  132. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +0 -25
  133. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +0 -119
  134. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +0 -25
  135. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +0 -68
  136. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +0 -26
  137. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +0 -26
  138. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +0 -27
  139. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/CollationOptions.md +0 -79
  140. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +0 -41
  141. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +0 -51
  142. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/EntityOptions.md +0 -32
  143. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +0 -41
  144. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +0 -61
  145. package/docs/reference/@rapidrest/namespaces/RouteDecorators/README.md +0 -36
  146. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +0 -26
  147. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +0 -33
  148. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +0 -31
  149. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +0 -25
  150. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +0 -25
  151. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +0 -25
  152. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +0 -25
  153. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +0 -25
  154. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +0 -25
  155. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +0 -31
  156. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +0 -25
  157. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +0 -25
  158. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +0 -26
  159. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +0 -25
  160. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +0 -25
  161. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +0 -31
  162. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +0 -25
  163. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +0 -26
  164. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +0 -31
  165. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +0 -26
  166. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +0 -31
  167. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +0 -25
  168. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +0 -33
  169. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +0 -31
  170. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +0 -25
  171. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +0 -25
  172. package/docs/reference/README.md +0 -20
  173. package/docs/reference/classes/ACLUtils.md +0 -263
  174. package/docs/reference/classes/AdminRoute.md +0 -51
  175. package/docs/reference/classes/AuthMiddleware.md +0 -173
  176. package/docs/reference/classes/BackgroundService.md +0 -117
  177. package/docs/reference/classes/BackgroundServiceManager.md +0 -172
  178. package/docs/reference/classes/BaseEntity.md +0 -82
  179. package/docs/reference/classes/BaseMongoEntity.md +0 -107
  180. package/docs/reference/classes/BasicStrategy.md +0 -131
  181. package/docs/reference/classes/BasicStrategyOptions.md +0 -115
  182. package/docs/reference/classes/BulkError.md +0 -271
  183. package/docs/reference/classes/ConnectionManager.md +0 -75
  184. package/docs/reference/classes/EventListenerManager.md +0 -88
  185. package/docs/reference/classes/HttpRouter.md +0 -343
  186. package/docs/reference/classes/JWTStrategy.md +0 -100
  187. package/docs/reference/classes/JWTStrategyOptions.md +0 -97
  188. package/docs/reference/classes/MetricsRoute.md +0 -27
  189. package/docs/reference/classes/ModelRoute.md +0 -527
  190. package/docs/reference/classes/ModelUtils.md +0 -430
  191. package/docs/reference/classes/MongoConnection.md +0 -218
  192. package/docs/reference/classes/MongoRepository.md +0 -390
  193. package/docs/reference/classes/MongoSchemaSync.md +0 -97
  194. package/docs/reference/classes/NetUtils.md +0 -90
  195. package/docs/reference/classes/NotificationUtils.md +0 -77
  196. package/docs/reference/classes/ObjectFactory.md +0 -336
  197. package/docs/reference/classes/OpenAPIRoute.md +0 -77
  198. package/docs/reference/classes/OpenApiSpec.md +0 -892
  199. package/docs/reference/classes/RecoverableBaseEntity.md +0 -114
  200. package/docs/reference/classes/RecoverableBaseMongoEntity.md +0 -124
  201. package/docs/reference/classes/RedisTransport.md +0 -2202
  202. package/docs/reference/classes/RepoUtils.md +0 -482
  203. package/docs/reference/classes/RouteUtils.md +0 -191
  204. package/docs/reference/classes/Server.md +0 -408
  205. package/docs/reference/classes/SimpleEntity.md +0 -48
  206. package/docs/reference/classes/SimpleMongoEntity.md +0 -66
  207. package/docs/reference/classes/StatusExtraData.md +0 -57
  208. package/docs/reference/classes/StatusRoute.md +0 -26
  209. package/docs/reference/classes/UWSRequest.md +0 -226
  210. package/docs/reference/classes/UWSResponse.md +0 -257
  211. package/docs/reference/classes/UWSWebSocketShim.md +0 -958
  212. package/docs/reference/enumerations/ACLAction.md +0 -63
  213. package/docs/reference/enumerations/ApiErrorMessages.md +0 -123
  214. package/docs/reference/enumerations/ApiErrors.md +0 -123
  215. package/docs/reference/functions/createWebSocketStream.md +0 -27
  216. package/docs/reference/functions/isSqlDataSource.md +0 -26
  217. package/docs/reference/functions/readBody.md +0 -29
  218. package/docs/reference/functions/resolveCollectionName.md +0 -33
  219. package/docs/reference/functions/runChain.md +0 -40
  220. package/docs/reference/functions/snakeCase.md +0 -28
  221. package/docs/reference/globals.md +0 -106
  222. package/docs/reference/interfaces/ACLRecord.md +0 -96
  223. package/docs/reference/interfaces/AccessControlList.md +0 -76
  224. package/docs/reference/interfaces/AuthResult.md +0 -55
  225. package/docs/reference/interfaces/AuthStrategy.md +0 -95
  226. package/docs/reference/interfaces/CreateRequestOptions.md +0 -121
  227. package/docs/reference/interfaces/DeleteRequestOptions.md +0 -137
  228. package/docs/reference/interfaces/FindRequestOptions.md +0 -133
  229. package/docs/reference/interfaces/HttpRequest.md +0 -147
  230. package/docs/reference/interfaces/HttpResponse.md +0 -164
  231. package/docs/reference/interfaces/JWTAuthResult.md +0 -84
  232. package/docs/reference/interfaces/RepoCreateOptions.md +0 -95
  233. package/docs/reference/interfaces/RepoDeleteOptions.md +0 -105
  234. package/docs/reference/interfaces/RepoFindOptions.md +0 -125
  235. package/docs/reference/interfaces/RepoOperationOptions.md +0 -69
  236. package/docs/reference/interfaces/RepoUpdateOptions.md +0 -101
  237. package/docs/reference/interfaces/RequestOptions.md +0 -112
  238. package/docs/reference/interfaces/RequestWS.md +0 -225
  239. package/docs/reference/interfaces/TruncateRequestOptions.md +0 -161
  240. package/docs/reference/interfaces/UpdateRequestOptions.md +0 -139
  241. package/docs/reference/type-aliases/ErrorHandler.md +0 -35
  242. package/docs/reference/type-aliases/NextFunction.md +0 -23
  243. package/docs/reference/type-aliases/OneOrMany.md +0 -19
  244. package/docs/reference/type-aliases/OneOrNull.md +0 -19
  245. package/docs/reference/type-aliases/PartialBaseEntity.md +0 -17
  246. package/docs/reference/type-aliases/PartialSimpleEntity.md +0 -17
  247. package/docs/reference/type-aliases/RequestHandler.md +0 -31
  248. package/docs/reference/type-aliases/UpdateObject.md +0 -19
  249. package/docs/reference/type-aliases/WsUpgradeAuth.md +0 -27
  250. package/docs/reference/type-aliases/WsUpgradeAuthResult.md +0 -47
@@ -1 +1 @@
1
- {"version":3,"file":"DocDecorators.js","sourceRoot":"","sources":["../../../src/decorators/DocDecorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocDecorators.js","sourceRoot":"","sources":["../../../src/decorators/DocDecorators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PersistenceDecorators.js","sourceRoot":"","sources":["../../../src/decorators/PersistenceDecorators.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAmFvD,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAC9C,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C;;;;GAIG;AACH,SAAS,eAAe,CAAC,GAAW,EAAE,MAAW,EAAE,KAAU;IACzD,MAAM,IAAI,GAAU,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,GAAW,EAAE,MAAW;IAChD,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,SAAS,IAAI,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,MAAM,IAAI,GAAU,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACnD,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,UAAyB,EAAE;IAC9C,OAAO,UAAU,MAAW,EAAE,WAA4B;QACtD,MAAM,UAAU,GAAQ,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAChF,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE;YACjC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC;YACjC,UAAU;YACV,OAAO;SACW,CAAC,CAAC;IAC5B,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,UAAyB,EAAE;IACrD,OAAO,MAAM,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAuBD,MAAM,UAAU,KAAK,CAAC,qBAAwD,EAAE,eAAyC,EAAE,YAA2B;IAClJ,4CAA4C;IAC5C,MAAM,IAAI,GAAuB,OAAO,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/G,MAAM,MAAM,GAAyB,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QACrE,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YAC9B,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,SAAS,CAAC;IAClB,MAAM,OAAO,GACT,CAAC,OAAO,qBAAqB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;QAC/E,CAAC,CAAC,qBAAqB;QACvB,CAAC,CAAC,OAAO,eAAe,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;YACtE,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAEhC,OAAO,UAAU,MAAW,EAAE,WAA6B;QACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,uBAAuB;YACvB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE;gBACjC,IAAI;gBACJ,OAAO,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC9B,OAAO;aACU,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,+BAA+B;YAC/B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,qCAAqC,CAAC,CAAC;YACzF,CAAC;YACD,eAAe,CAAC,iBAAiB,EAAE,MAAM,EAAE;gBACvC,IAAI;gBACJ,OAAO,EAAE,MAAM;gBACf,OAAO;aACU,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAWD,MAAM,UAAU,MAAM,CAAC,YAAgC,EAAE,WAAsB;IAC3E,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACpH,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AACnC,CAAC;AACD,gCAAgC;AAEhC;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC1C,OAAO,UAAU,MAAW;QACxB,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEtD,OAAO,CAAC,cAAc,CAAC,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9D,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAU;IACxC,MAAM,MAAM,GAA4B,IAAI,GAAG,EAAE,CAAC;IAClD,+DAA+D;IAC/D,KAAK,MAAM,IAAI,IAAI,kBAAkB,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC;QAC3E,KAAK,MAAM,MAAM,IAAI,IAAoB,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAC5C,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAU;IACvC,MAAM,MAAM,GAA2B,IAAI,GAAG,EAAE,CAAC;IACjD,MAAM,QAAQ,GAAG,CAAC,GAAc,EAAU,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,QAAQ,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACzF,6FAA6F;IAC7F,yFAAyF;IACzF,kFAAkF;IAClF,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;IACrC,OAAO,IAAI,IAAI,IAAI,KAAK,QAAQ,CAAC,SAAS,IAAI,IAAI,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QACtE,MAAM,SAAS,GAAgB,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACrF,MAAM,QAAQ,GAAgB,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/E,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,KAAU;IACpC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,UAAU,GAAuB,OAAO,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QAClF,IAAI,UAAU,EAAE,CAAC;YACb,OAAO,UAAU,CAAC;QACtB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"PersistenceDecorators.js","sourceRoot":"","sources":["../../../src/decorators/PersistenceDecorators.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,44 @@
2
2
  // Copyright (C) 2020-2026 Jean-Philippe Steinmetz. All rights reserved.
3
3
  ///////////////////////////////////////////////////////////////////////////////
4
4
  import "reflect-metadata";
5
+ /**
6
+ * Retrieves a copy of the `rrst:route` metadata for the given target/propertyKey. `Reflect.getMetadata` walks the
7
+ * prototype chain, so when a subclass overrides a decorated method without having its own metadata yet, it would
8
+ * otherwise receive the *same* metadata object instance stored on the base class. Mutating that shared object (as
9
+ * the decorators below do) would corrupt the base class's metadata for every other subclass. Cloning here ensures
10
+ * each class's metadata is independent while still inheriting the base's values at decoration time.
11
+ *
12
+ * @param target The class prototype to retrieve metadata for.
13
+ * @param propertyKey The name of the method to retrieve metadata for.
14
+ */
15
+ function getRouteMetadata(target, propertyKey) {
16
+ const existing = Reflect.getMetadata("rrst:route", target, propertyKey);
17
+ return {
18
+ ...existing,
19
+ methods: existing?.methods ? new Map(existing.methods) : undefined,
20
+ };
21
+ }
22
+ /**
23
+ * Retrieves a copy of the `rrst:args` metadata for the given target/propertyKey, for the same reason described
24
+ * above for `getRouteMetadata`: overriding a decorated method requires re-declaring its parameter decorators, which
25
+ * would otherwise mutate the args metadata object inherited from the overridden ancestor method.
26
+ *
27
+ * @param target The class prototype to retrieve metadata for.
28
+ * @param propertyKey The name of the method to retrieve metadata for.
29
+ */
30
+ function getArgsMetadata(target, propertyKey) {
31
+ return { ...Reflect.getMetadata("rrst:args", target, propertyKey) };
32
+ }
33
+ /**
34
+ * Concatenates all the provided strings and joins them with `/`.
35
+ *
36
+ * @param paths The list of strings to join with `/`.
37
+ */
38
+ function join(...paths) {
39
+ let result = "";
40
+ paths.forEach((val) => (result += val.startsWith("/") ? val : `/${val}`));
41
+ return result;
42
+ }
5
43
  /**
6
44
  * Indicates a provided function or list of functions to execute *after* the decorated function and before the response
7
45
  * is sent to a client. Note that the function must call `next()` in order for this decorator to work.
@@ -10,7 +48,7 @@ import "reflect-metadata";
10
48
  */
11
49
  export function After(func) {
12
50
  return function (target, propertyKey, descriptor) {
13
- let route = Reflect.getMetadata("rrst:route", target, propertyKey) || {};
51
+ let route = getRouteMetadata(target, propertyKey);
14
52
  // Ensure we always have an array of functions. Also, append the new list of functions to any existing list.
15
53
  let funcs = Array.isArray(func) ? func : [func];
16
54
  route.after = route.after ? route.after.concat(funcs) : funcs;
@@ -18,16 +56,29 @@ export function After(func) {
18
56
  };
19
57
  }
20
58
  /**
21
- * Applies PassportJS authentication to the decorated route or method for the provided strategy or list of strategies
59
+ * Indicates that the decorated class contains route definitions. This prepends `/api` or `/api/v{version}` to
60
+ * all provided path(s). e.g. `@ApiRoute('my-api')` results in `/api/my-api`. `@ApiRoute('my-api',2) results in
61
+ * `/api/v2/my-api`.
62
+ *
63
+ * @param paths The base path(s) that all route definitions will use.
64
+ * @param version The optional version number to prepend the path with. Prefixes the provided version with `v` in the path.
65
+ */
66
+ export function ApiRoute(paths, version) {
67
+ let tPaths = Array.isArray(paths) ? paths : [paths];
68
+ tPaths = tPaths.map((path) => (version ? join("api", `v${version}`, path) : join("api", path)));
69
+ return Route(tPaths);
70
+ }
71
+ /**
72
+ * Applies authentication to the decorated route or method for the provided strategy or list of strategies
22
73
  * should be attempted before processing the route.
23
74
  *
24
- * @param strategies The PassportJS strategies that will be applied when incoming requests are processed.
75
+ * @param strategies The strategies that will be applied when incoming requests are processed.
25
76
  * @param require Set to `true` to indicate that at least one of the specified authentication strategies must pass to
26
77
  * proceed, otherwise set to `false`. Default is `true`.
27
78
  */
28
79
  export function Auth(strategies, require = true) {
29
80
  return function (target, propertyKey, descriptor) {
30
- let route = Reflect.getMetadata("rrst:route", target, propertyKey) || {};
81
+ let route = getRouteMetadata(target, propertyKey);
31
82
  route.authStrategies = strategies;
32
83
  route.authRequired = require;
33
84
  Reflect.defineMetadata("rrst:route", route, target, propertyKey);
@@ -37,7 +88,7 @@ export function Auth(strategies, require = true) {
37
88
  * Injects the authenticated authentication result as the value of the decorated argument.
38
89
  */
39
90
  export function AuthResult(target, propertyKey, index) {
40
- let args = Reflect.getMetadata("rrst:args", target, propertyKey) || {};
91
+ let args = getArgsMetadata(target, propertyKey);
41
92
  args[index] = ["authResult"];
42
93
  Reflect.defineMetadata("rrst:args", args, target, propertyKey);
43
94
  }
@@ -48,7 +99,7 @@ export function AuthResult(target, propertyKey, index) {
48
99
  */
49
100
  export function Before(func) {
50
101
  return function (target, propertyKey, descriptor) {
51
- let route = Reflect.getMetadata("rrst:route", target, propertyKey) || {};
102
+ let route = getRouteMetadata(target, propertyKey);
52
103
  // Ensure we always have an array of functions. Also, append the new list of functions to any existing list.
53
104
  let funcs = Array.isArray(func) ? func : [func];
54
105
  route.before = route.before ? route.before.concat(funcs) : funcs;
@@ -62,7 +113,7 @@ export function Before(func) {
62
113
  */
63
114
  export function ContentType(type) {
64
115
  return function (target, propertyKey, descriptor) {
65
- const route = Reflect.getMetadata("rrst:route", target, propertyKey) || {};
116
+ const route = getRouteMetadata(target, propertyKey);
66
117
  route.contentType = type;
67
118
  Reflect.defineMetadata("rrst:route", route, target, propertyKey);
68
119
  };
@@ -98,7 +149,7 @@ export function Head(path) {
98
149
  */
99
150
  export function Header(name) {
100
151
  return function (target, propertyKey, index) {
101
- let args = Reflect.getMetadata("rrst:args", target, propertyKey) || {};
152
+ let args = getArgsMetadata(target, propertyKey);
102
153
  args[index] = ["header", name];
103
154
  Reflect.defineMetadata("rrst:args", args, target, propertyKey);
104
155
  };
@@ -111,7 +162,7 @@ export function Header(name) {
111
162
  */
112
163
  export function Method(method, path) {
113
164
  return function (target, propertyKey, descriptor) {
114
- let route = Reflect.getMetadata("rrst:route", target, propertyKey) || {};
165
+ let route = getRouteMetadata(target, propertyKey);
115
166
  const pathFinal = path ? path : "";
116
167
  if (!route.methods) {
117
168
  route.methods = new Map();
@@ -154,7 +205,7 @@ export function Options(path) {
154
205
  */
155
206
  export function Param(name = undefined) {
156
207
  return function (target, propertyKey, index) {
157
- let args = Reflect.getMetadata("rrst:args", target, propertyKey) || {};
208
+ let args = getArgsMetadata(target, propertyKey);
158
209
  args[index] = ["param", name];
159
210
  Reflect.defineMetadata("rrst:args", args, target, propertyKey);
160
211
  };
@@ -237,24 +288,24 @@ export function Protect(acl = {
237
288
  */
238
289
  export function Query(name = undefined) {
239
290
  return function (target, propertyKey, index) {
240
- let args = Reflect.getMetadata("rrst:args", target, propertyKey) || {};
291
+ let args = getArgsMetadata(target, propertyKey);
241
292
  args[index] = ["query", name];
242
293
  Reflect.defineMetadata("rrst:args", args, target, propertyKey);
243
294
  };
244
295
  }
245
296
  /**
246
- * Injects the Express request object as the value of the decorated argument.
297
+ * Injects the HTTP request object as the value of the decorated argument.
247
298
  */
248
299
  export function Request(target, propertyKey, index) {
249
- let args = Reflect.getMetadata("rrst:args", target, propertyKey) || {};
300
+ let args = getArgsMetadata(target, propertyKey);
250
301
  args[index] = ["request"];
251
302
  Reflect.defineMetadata("rrst:args", args, target, propertyKey);
252
303
  }
253
304
  /**
254
- * Injects the Express response object as the value of the decorated argument.
305
+ * Injects the HTTP response object as the value of the decorated argument.
255
306
  */
256
307
  export function Response(target, propertyKey, index) {
257
- let args = Reflect.getMetadata("rrst:args", target, propertyKey) || {};
308
+ let args = getArgsMetadata(target, propertyKey);
258
309
  args[index] = ["response"];
259
310
  Reflect.defineMetadata("rrst:args", args, target, propertyKey);
260
311
  }
@@ -266,13 +317,13 @@ export function Response(target, propertyKey, index) {
266
317
  */
267
318
  export function RequiresRole(roles) {
268
319
  return function (target, propertyKey, descriptor) {
269
- let route = Reflect.getMetadata("rrst:route", target, propertyKey) || {};
320
+ let route = getRouteMetadata(target, propertyKey);
270
321
  route.requiredRoles = Array.isArray(roles) ? roles : [roles];
271
322
  Reflect.defineMetadata("rrst:route", route, target, propertyKey);
272
323
  };
273
324
  }
274
325
  /**
275
- * Indicates that the decorated class contains Express route definitions.
326
+ * Indicates that the decorated class contains route definitions.
276
327
  *
277
328
  * @param paths The base path(s) that all route definitions will use.
278
329
  */
@@ -289,7 +340,7 @@ export function Route(paths) {
289
340
  * WebSocket connection.
290
341
  */
291
342
  export function Socket(target, propertyKey, index) {
292
- let args = Reflect.getMetadata("rrst:args", target, propertyKey) || {};
343
+ let args = getArgsMetadata(target, propertyKey);
293
344
  args[index] = ["socket"];
294
345
  Reflect.defineMetadata("rrst:args", args, target, propertyKey);
295
346
  }
@@ -297,7 +348,7 @@ export function Socket(target, propertyKey, index) {
297
348
  * Injects the authenticated user object as the value of the decorated argument.
298
349
  */
299
350
  export function User(target, propertyKey, index) {
300
- let args = Reflect.getMetadata("rrst:args", target, propertyKey) || {};
351
+ let args = getArgsMetadata(target, propertyKey);
301
352
  args[index] = ["user"];
302
353
  Reflect.defineMetadata("rrst:args", args, target, propertyKey);
303
354
  }
@@ -308,7 +359,7 @@ export function User(target, propertyKey, index) {
308
359
  */
309
360
  export function Validate(func) {
310
361
  return function (target, propertyKey, descriptor) {
311
- let route = Reflect.getMetadata("rrst:route", target, propertyKey) || {};
362
+ let route = getRouteMetadata(target, propertyKey);
312
363
  route.validator = func;
313
364
  Reflect.defineMetadata("rrst:route", route, target, propertyKey);
314
365
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RouteDecorators.js","sourceRoot":"","sources":["../../../src/decorators/RouteDecorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RouteDecorators.js","sourceRoot":"","sources":["../../../src/decorators/RouteDecorators.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,kBAAkB,CAAC;AAG1B;;;;;;;;;GASG;AACH,SAAS,gBAAgB,CAAC,MAAW,EAAE,WAAmB;IACtD,MAAM,QAAQ,GAAQ,OAAO,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC7E,OAAO;QACH,GAAG,QAAQ;QACX,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;KACrE,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,eAAe,CAAC,MAAW,EAAE,WAAmB;IACrD,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAS,IAAI,CAAC,GAAG,KAAe;IAC5B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IAC1E,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,IAA+C;IACjE,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E,IAAI,KAAK,GAAQ,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEvD,4GAA4G;QAC5G,IAAI,KAAK,GAA0B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE9D,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAwB,EAAE,OAAyB;IACxE,IAAI,MAAM,GAAa,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAChG,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,IAAI,CAAC,UAA6B,EAAE,UAAmB,IAAI;IACvE,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E,IAAI,KAAK,GAAQ,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvD,KAAK,CAAC,cAAc,GAAG,UAAU,CAAC;QAClC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;QAC7B,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAa;IACtE,IAAI,IAAI,GAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAA+C;IAClE,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E,IAAI,KAAK,GAAQ,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAEvD,4GAA4G;QAC5G,IAAI,KAAK,GAA0B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvE,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAEjE,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACpC,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E,MAAM,KAAK,GAAQ,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACzD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAa;IAChC,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,IAAa;IAC7B,OAAO,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,IAAa;IAC9B,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,IAAY;IAC/B,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,KAAa;QAC5D,IAAI,IAAI,GAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC/B,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,MAAyB,EAAE,IAAa;IAC3D,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E,IAAI,KAAK,GAAQ,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,SAAS,GAAW,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3C,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACjB,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,GAAa,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClE,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;YACtB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAS;IAC3B,OAAO,UAAkD,WAAc;;QACnE,YAAO,KAAM,SAAQ,WAAW;aAG/B;YAFG,wEAAwE;YACjD,aAAU,GAAQ,IAAK;eAChD;IACN,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAa;IACjC,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,OAA2B,SAAS;IACtD,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,KAAa;QAC5D,IAAI,IAAI,GAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,IAAa;IAC/B,OAAO,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,IAAa;IAC9B,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,IAAa;IAC7B,OAAO,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/B,CAAC;AAID;;;;;;;;;;GAUG;AACH,MAAM,UAAU,OAAO,CACnB,MAAkB;IACd,GAAG,EAAE,cAAc;IACnB,OAAO,EAAE;QACL;YACI,YAAY,EAAE,WAAW;YACzB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,KAAK;SACd;QACD;YACI,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,KAAK;SACd;KACJ;CACJ;IAED,OAAO,UAAU,MAAW,EAAE,WAAoB;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,cAAc,EAAE,CAAC;YACzC,GAAG,CAAC,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3F,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,OAA2B,SAAS;IACtD,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,KAAa;QAC5D,IAAI,IAAI,GAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACnE,CAAC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAa;IACnE,IAAI,IAAI,GAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAa;IACpE,IAAI,IAAI,GAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3B,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACjD,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E,IAAI,KAAK,GAAQ,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvD,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,KAAwB;IAC1C,OAAO,UAAU,MAAgB;QAC7B,IAAI,UAAU,GAAa,OAAO,CAAC,WAAW,CAAC,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1F,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAa;IAClE,IAAI,IAAI,GAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,MAAW,EAAE,WAAmB,EAAE,KAAa;IAChE,IAAI,IAAI,GAAQ,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAuB;IAC5C,OAAO,UAAU,MAAW,EAAE,WAAmB,EAAE,UAA8B;QAC7E,IAAI,KAAK,GAAQ,gBAAgB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACvD,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,IAAa;IACnC,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC"}
@@ -94,13 +94,18 @@ export class UWSResponse {
94
94
  this._headers = new Map();
95
95
  this._headersSent = false;
96
96
  this._writableEnded = false;
97
+ this._streaming = false;
97
98
  this._aborted = false;
99
+ this._abortHandlers = [];
98
100
  /** Set to true for HEAD requests — body bytes must not be sent. */
99
101
  this.isHead = false;
100
102
  this.uwsRes = uwsRes;
101
- // Track connection abort so we don't attempt writes on a closed socket
103
+ // Track connection abort so we don't attempt writes on a closed socket.
104
+ // uWS only allows one onAborted registration per response, so fan out here.
102
105
  uwsRes.onAborted(() => {
103
106
  this._aborted = true;
107
+ for (const handler of this._abortHandlers)
108
+ handler();
104
109
  });
105
110
  }
106
111
  get statusCode() {
@@ -110,7 +115,7 @@ export class UWSResponse {
110
115
  return this._headersSent;
111
116
  }
112
117
  get writableEnded() {
113
- return this._writableEnded;
118
+ return this._writableEnded || this._streaming;
114
119
  }
115
120
  status(code) {
116
121
  this._statusCode = code;
@@ -171,6 +176,44 @@ export class UWSResponse {
171
176
  }
172
177
  });
173
178
  }
179
+ /**
180
+ * Flushes status and headers to the wire immediately without ending the response.
181
+ * Required before streaming data (e.g. SSE). Safe to call multiple times — only
182
+ * acts on the first call.
183
+ */
184
+ flushHeaders() {
185
+ if (this._aborted || this._headersSent)
186
+ return;
187
+ this._streaming = true;
188
+ this.uwsRes.cork(() => {
189
+ this.uwsRes.writeStatus(this._statusToString(this._statusCode));
190
+ for (const [key, value] of this._headers.entries()) {
191
+ if (key === "content-length")
192
+ continue;
193
+ this.uwsRes.writeHeader(key, value);
194
+ }
195
+ this._headersSent = true;
196
+ });
197
+ }
198
+ /**
199
+ * Writes a chunk to the response without ending it (streaming / SSE).
200
+ * Flushes headers on the first call if they haven't been sent yet.
201
+ */
202
+ write(data) {
203
+ if (this._aborted || this._writableEnded)
204
+ return;
205
+ if (!this._headersSent)
206
+ this.flushHeaders();
207
+ this.uwsRes.write(data);
208
+ }
209
+ /**
210
+ * Registers a callback to run when the client aborts the connection.
211
+ * Safe to call multiple times — all registered callbacks are invoked on abort.
212
+ * Uses the single uWS `onAborted` slot registered in the constructor.
213
+ */
214
+ onAbort(callback) {
215
+ this._abortHandlers.push(callback);
216
+ }
174
217
  /** Converts a numeric status code to the "200 OK" string format uWS expects. */
175
218
  _statusToString(code) {
176
219
  const messages = {
@@ -1 +1 @@
1
- {"version":3,"file":"Adapters.js","sourceRoot":"","sources":["../../../src/http/Adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Adapters.js","sourceRoot":"","sources":["../../../src/http/Adapters.ts"],"names":[],"mappings":"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"}
@@ -2,29 +2,10 @@
2
2
  // Copyright (C) 2020-2026 Jean-Philippe Steinmetz. All rights reserved.
3
3
  ///////////////////////////////////////////////////////////////////////////////
4
4
  import uWS from "uWebSockets.js";
5
- import * as fs from "fs";
6
- import * as path from "path";
7
5
  import { UWSRequest, UWSResponse, readBody } from "./Adapters.js";
8
6
  import { UWSWebSocketShim } from "./WebSocket.js";
9
- /** MIME types for static file serving. */
10
- const MIME_TYPES = {
11
- ".html": "text/html",
12
- ".css": "text/css",
13
- ".js": "application/javascript",
14
- ".mjs": "application/javascript",
15
- ".json": "application/json",
16
- ".png": "image/png",
17
- ".jpg": "image/jpeg",
18
- ".jpeg": "image/jpeg",
19
- ".gif": "image/gif",
20
- ".svg": "image/svg+xml",
21
- ".ico": "image/x-icon",
22
- ".woff": "font/woff",
23
- ".woff2": "font/woff2",
24
- ".ttf": "font/ttf",
25
- ".txt": "text/plain",
26
- ".map": "application/json",
27
- };
7
+ import { ApiError } from "@rapidrest/core";
8
+ import { ApiErrorMessages, ApiErrors } from "../ApiErrors.js";
28
9
  /**
29
10
  * Runs an ordered array of middleware handlers sequentially, Express-style.
30
11
  * Supports both 3-param `(req, res, next)` handlers and 4-param `(err, req, res, next)`
@@ -175,7 +156,6 @@ function makeUWSHandler(globalMiddleware, routeHandlers, preLength, paramNames,
175
156
  *
176
157
  * Also supports:
177
158
  * - `ws(path, handlers)` — native uWS WebSocket routing
178
- * - `static(basePath)` — basic static file serving
179
159
  * - `listen(host, port)` / `close()` — server lifecycle
180
160
  */
181
161
  export class HttpRouter {
@@ -189,6 +169,12 @@ export class HttpRouter {
189
169
  this.preRouteCount = -1;
190
170
  /** The port the server is currently listening on (set after a successful `listen()` call). */
191
171
  this.listenPort = 0;
172
+ /**
173
+ * HTTP verbs for which the application has already registered its own literal `/*` route
174
+ * (e.g. a `BaseStaticRoute` mounted at the site root via `@Route("/")`). Used by `listen()` to
175
+ * avoid clobbering an app-defined root catch-all with the default JSON 404 fallback.
176
+ */
177
+ this.rootWildcardVerbs = new Set();
192
178
  this.uwsApp = uwsApp;
193
179
  }
194
180
  /** Returns `true` if the server is currently listening. */
@@ -216,31 +202,43 @@ export class HttpRouter {
216
202
  // -------------------------------------------------------------------------
217
203
  get(routePath, ...handlers) {
218
204
  const pre = this.capturePreRouteCount();
205
+ if (routePath === "/*")
206
+ this.rootWildcardVerbs.add("get");
219
207
  this.uwsApp.get(routePath, makeUWSHandler(this.globalMiddleware, handlers, pre, extractParamNames(routePath)));
220
208
  return this;
221
209
  }
222
210
  post(routePath, ...handlers) {
223
211
  const pre = this.capturePreRouteCount();
212
+ if (routePath === "/*")
213
+ this.rootWildcardVerbs.add("post");
224
214
  this.uwsApp.post(routePath, makeUWSHandler(this.globalMiddleware, handlers, pre, extractParamNames(routePath)));
225
215
  return this;
226
216
  }
227
217
  put(routePath, ...handlers) {
228
218
  const pre = this.capturePreRouteCount();
219
+ if (routePath === "/*")
220
+ this.rootWildcardVerbs.add("put");
229
221
  this.uwsApp.put(routePath, makeUWSHandler(this.globalMiddleware, handlers, pre, extractParamNames(routePath)));
230
222
  return this;
231
223
  }
232
224
  delete(routePath, ...handlers) {
233
225
  const pre = this.capturePreRouteCount();
226
+ if (routePath === "/*")
227
+ this.rootWildcardVerbs.add("delete");
234
228
  this.uwsApp.del(routePath, makeUWSHandler(this.globalMiddleware, handlers, pre, extractParamNames(routePath)));
235
229
  return this;
236
230
  }
237
231
  patch(routePath, ...handlers) {
238
232
  const pre = this.capturePreRouteCount();
233
+ if (routePath === "/*")
234
+ this.rootWildcardVerbs.add("patch");
239
235
  this.uwsApp.patch(routePath, makeUWSHandler(this.globalMiddleware, handlers, pre, extractParamNames(routePath)));
240
236
  return this;
241
237
  }
242
238
  head(routePath, ...handlers) {
243
239
  const pre = this.capturePreRouteCount();
240
+ if (routePath === "/*")
241
+ this.rootWildcardVerbs.add("head");
244
242
  // uWS explicitly-registered HEAD routes do send body bytes — suppress them via isHead flag
245
243
  this.uwsApp.head(routePath, makeUWSHandler(this.globalMiddleware, handlers, pre, extractParamNames(routePath), true));
246
244
  return this;
@@ -307,12 +305,24 @@ export class HttpRouter {
307
305
  statusCode: 101,
308
306
  headersSent: true,
309
307
  writableEnded: false,
310
- status() { return this; },
311
- setHeader() { return this; },
312
- getHeader() { return undefined; },
313
- json() { return; },
314
- send() { return; },
315
- end() { this.writableEnded = true; },
308
+ status() {
309
+ return this;
310
+ },
311
+ setHeader() {
312
+ return this;
313
+ },
314
+ getHeader() {
315
+ return undefined;
316
+ },
317
+ json() {
318
+ return;
319
+ },
320
+ send() {
321
+ return;
322
+ },
323
+ end() {
324
+ this.writableEnded = true;
325
+ },
316
326
  };
317
327
  await runChain(handlers, req, stubRes);
318
328
  // If no handler marked wsHandled, close the connection.
@@ -348,34 +358,6 @@ export class HttpRouter {
348
358
  }
349
359
  return this;
350
360
  }
351
- /**
352
- * Serves static files from a directory via a wildcard GET route.
353
- * Files not found on disk return 404.
354
- */
355
- static(basePath) {
356
- this.uwsApp.get("/*", async (uwsRes, uwsReq) => {
357
- const remoteAddress = Buffer.from(uwsRes.getRemoteAddressAsText()).toString();
358
- const req = new UWSRequest(uwsReq, remoteAddress);
359
- const res = new UWSResponse(uwsRes);
360
- const safeBase = path.resolve(basePath);
361
- const requestedPath = req.path === "/" ? "index.html" : req.path.replace(/^\/+/, "");
362
- const filePath = path.resolve(safeBase, requestedPath);
363
- if (!filePath.startsWith(safeBase + path.sep) && filePath !== safeBase) {
364
- res.status(403).end();
365
- return;
366
- }
367
- const ext = path.extname(filePath);
368
- try {
369
- const data = await fs.promises.readFile(filePath);
370
- res.setHeader("content-type", MIME_TYPES[ext] || "application/octet-stream");
371
- res.end(data);
372
- }
373
- catch {
374
- res.status(404).end();
375
- }
376
- });
377
- return this;
378
- }
379
361
  /**
380
362
  * Starts listening on the given host and port.
381
363
  * Resolves when the server is ready; rejects if the port cannot be bound.
@@ -386,6 +368,21 @@ export class HttpRouter {
386
368
  // preLength=0 places all globalMiddleware as "post-route" so they all execute sequentially;
387
369
  // the CORS middleware terminates the chain early for OPTIONS (sends 204 without calling next).
388
370
  this.uwsApp.options("/*", makeUWSHandler(this.globalMiddleware, [], 0, []));
371
+ // Register a JSON 404 fallback for any request that doesn't match a registered route, so
372
+ // clients get the framework's normal ApiError response shape instead of uWS's built-in HTML
373
+ // "File Not Found" page. Routed through `next()` so it flows through the same error-handling
374
+ // and metrics middleware as any other error. uWS matches by specificity, not registration
375
+ // order, so this never shadows a real route — except an app-defined literal `/*` route (e.g. a
376
+ // `BaseStaticRoute` mounted at the site root), which is deliberately left alone via
377
+ // `rootWildcardVerbs`.
378
+ const notFoundHandler = (_req, _res, next) => {
379
+ next(new ApiError(ApiErrors.NOT_FOUND, 404, ApiErrorMessages.NOT_FOUND));
380
+ };
381
+ for (const verb of ["get", "post", "put", "delete", "patch", "head"]) {
382
+ if (!this.rootWildcardVerbs.has(verb)) {
383
+ this[verb]("/*", notFoundHandler);
384
+ }
385
+ }
389
386
  return new Promise((resolve, reject) => {
390
387
  this.uwsApp.listen(host, port, (socket) => {
391
388
  if (socket) {