@rapidrest/service-core 1.0.0-beta.1 → 1.0.0-beta.3

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 (163) hide show
  1. package/dist/lib/OpenApiSpec.js +1 -1
  2. package/dist/lib/OpenApiSpec.js.map +1 -1
  3. package/dist/lib/auth/AuthMiddleware.js +33 -3
  4. package/dist/lib/auth/AuthMiddleware.js.map +1 -1
  5. package/dist/lib/auth/BasicStrategy.js +46 -39
  6. package/dist/lib/auth/BasicStrategy.js.map +1 -1
  7. package/dist/lib/auth/JWTStrategy.js +69 -60
  8. package/dist/lib/auth/JWTStrategy.js.map +1 -1
  9. package/dist/lib/index.js +2 -1
  10. package/dist/lib/index.js.map +1 -1
  11. package/dist/lib/models/ModelUtils.js +1 -1
  12. package/dist/lib/models/ModelUtils.js.map +1 -1
  13. package/dist/lib/routes/MetricsRoute.js +1 -1
  14. package/dist/lib/routes/MetricsRoute.js.map +1 -1
  15. package/dist/lib/routes/RouteUtils.js +9 -8
  16. package/dist/lib/routes/RouteUtils.js.map +1 -1
  17. package/dist/types/auth/AuthMiddleware.d.ts +12 -1
  18. package/dist/types/auth/AuthStrategy.d.ts +13 -1
  19. package/dist/types/auth/BasicStrategy.d.ts +7 -3
  20. package/dist/types/auth/JWTStrategy.d.ts +6 -3
  21. package/dist/types/index.d.ts +2 -1
  22. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +1 -1
  23. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +1 -1
  24. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +1 -1
  25. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +1 -1
  26. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +1 -1
  27. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +1 -1
  28. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +1 -1
  29. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +1 -1
  30. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +1 -1
  31. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +1 -1
  32. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +1 -1
  33. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +1 -1
  34. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +7 -7
  35. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +1 -1
  36. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +1 -1
  37. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +1 -1
  38. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +1 -1
  39. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +1 -1
  40. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +1 -1
  41. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +1 -1
  42. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +1 -1
  43. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +1 -1
  44. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +1 -1
  45. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +5 -5
  46. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +1 -1
  47. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +1 -1
  48. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +1 -1
  49. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +3 -3
  50. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +1 -1
  51. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +3 -3
  52. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +1 -1
  53. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +1 -1
  54. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +1 -1
  55. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +4 -4
  56. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +5 -5
  57. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +4 -4
  58. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +5 -5
  59. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +1 -1
  60. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +1 -1
  61. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +1 -1
  62. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +1 -1
  63. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +1 -1
  64. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +1 -1
  65. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +1 -1
  66. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +1 -1
  67. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +1 -1
  68. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +1 -1
  69. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +1 -1
  70. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +1 -1
  71. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +1 -1
  72. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +1 -1
  73. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +1 -1
  74. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +1 -1
  75. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +1 -1
  76. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +1 -1
  77. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +1 -1
  78. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +1 -1
  79. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +1 -1
  80. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +1 -1
  81. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +1 -1
  82. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +1 -1
  83. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +1 -1
  84. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +1 -1
  85. package/docs/reference/classes/ACLUtils.md +10 -10
  86. package/docs/reference/classes/AdminRoute.md +3 -3
  87. package/docs/reference/classes/AuthMiddleware.md +55 -13
  88. package/docs/reference/classes/BackgroundService.md +8 -8
  89. package/docs/reference/classes/BackgroundServiceManager.md +7 -7
  90. package/docs/reference/classes/BaseEntity.md +6 -6
  91. package/docs/reference/classes/BaseMongoEntity.md +7 -7
  92. package/docs/reference/classes/BasicStrategy.md +52 -10
  93. package/docs/reference/classes/BasicStrategyOptions.md +35 -11
  94. package/docs/reference/classes/BulkError.md +3 -3
  95. package/docs/reference/classes/ConnectionManager.md +4 -4
  96. package/docs/reference/classes/EventListenerManager.md +5 -5
  97. package/docs/reference/classes/HttpRouter.md +343 -0
  98. package/docs/reference/classes/JWTStrategy.md +37 -14
  99. package/docs/reference/classes/JWTStrategyOptions.md +10 -10
  100. package/docs/reference/classes/MetricsRoute.md +4 -4
  101. package/docs/reference/classes/ModelRoute.md +28 -28
  102. package/docs/reference/classes/ModelUtils.md +50 -50
  103. package/docs/reference/classes/MongoConnection.md +12 -12
  104. package/docs/reference/classes/MongoRepository.md +17 -17
  105. package/docs/reference/classes/MongoSchemaSync.md +3 -3
  106. package/docs/reference/classes/NetUtils.md +4 -4
  107. package/docs/reference/classes/NotificationUtils.md +3 -3
  108. package/docs/reference/classes/ObjectFactory.md +10 -10
  109. package/docs/reference/classes/OpenAPIRoute.md +5 -5
  110. package/docs/reference/classes/OpenApiSpec.md +45 -45
  111. package/docs/reference/classes/RecoverableBaseEntity.md +7 -7
  112. package/docs/reference/classes/RecoverableBaseMongoEntity.md +8 -8
  113. package/docs/reference/classes/RedisTransport.md +4 -4
  114. package/docs/reference/classes/RepoUtils.md +28 -28
  115. package/docs/reference/classes/RouteUtils.md +17 -17
  116. package/docs/reference/classes/Server.md +29 -29
  117. package/docs/reference/classes/SimpleEntity.md +3 -3
  118. package/docs/reference/classes/SimpleMongoEntity.md +4 -4
  119. package/docs/reference/classes/StatusExtraData.md +4 -4
  120. package/docs/reference/classes/StatusRoute.md +1 -1
  121. package/docs/reference/classes/UWSRequest.md +226 -0
  122. package/docs/reference/classes/UWSResponse.md +257 -0
  123. package/docs/reference/classes/UWSWebSocketShim.md +958 -0
  124. package/docs/reference/enumerations/ACLAction.md +7 -7
  125. package/docs/reference/enumerations/ApiErrorMessages.md +15 -15
  126. package/docs/reference/enumerations/ApiErrors.md +15 -15
  127. package/docs/reference/functions/createWebSocketStream.md +27 -0
  128. package/docs/reference/functions/isSqlDataSource.md +1 -1
  129. package/docs/reference/functions/readBody.md +29 -0
  130. package/docs/reference/functions/resolveCollectionName.md +1 -1
  131. package/docs/reference/functions/runChain.md +40 -0
  132. package/docs/reference/functions/snakeCase.md +1 -1
  133. package/docs/reference/globals.md +15 -0
  134. package/docs/reference/interfaces/ACLRecord.md +8 -8
  135. package/docs/reference/interfaces/AccessControlList.md +5 -5
  136. package/docs/reference/interfaces/AuthResult.md +5 -5
  137. package/docs/reference/interfaces/AuthStrategy.md +47 -9
  138. package/docs/reference/interfaces/CreateRequestOptions.md +11 -11
  139. package/docs/reference/interfaces/DeleteRequestOptions.md +13 -13
  140. package/docs/reference/interfaces/FindRequestOptions.md +12 -12
  141. package/docs/reference/interfaces/HttpRequest.md +147 -0
  142. package/docs/reference/interfaces/HttpResponse.md +164 -0
  143. package/docs/reference/interfaces/JWTAuthResult.md +9 -9
  144. package/docs/reference/interfaces/RepoCreateOptions.md +7 -7
  145. package/docs/reference/interfaces/RepoDeleteOptions.md +9 -9
  146. package/docs/reference/interfaces/RepoFindOptions.md +11 -11
  147. package/docs/reference/interfaces/RepoOperationOptions.md +6 -6
  148. package/docs/reference/interfaces/RepoUpdateOptions.md +8 -8
  149. package/docs/reference/interfaces/RequestOptions.md +10 -10
  150. package/docs/reference/interfaces/RequestWS.md +225 -0
  151. package/docs/reference/interfaces/TruncateRequestOptions.md +15 -15
  152. package/docs/reference/interfaces/UpdateRequestOptions.md +13 -13
  153. package/docs/reference/type-aliases/ErrorHandler.md +35 -0
  154. package/docs/reference/type-aliases/NextFunction.md +23 -0
  155. package/docs/reference/type-aliases/OneOrMany.md +1 -1
  156. package/docs/reference/type-aliases/OneOrNull.md +1 -1
  157. package/docs/reference/type-aliases/PartialBaseEntity.md +1 -1
  158. package/docs/reference/type-aliases/PartialSimpleEntity.md +1 -1
  159. package/docs/reference/type-aliases/RequestHandler.md +31 -0
  160. package/docs/reference/type-aliases/UpdateObject.md +1 -1
  161. package/docs/reference/type-aliases/WsUpgradeAuth.md +27 -0
  162. package/docs/reference/type-aliases/WsUpgradeAuthResult.md +47 -0
  163. package/package.json +4 -4
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Abstract Class: SimpleMongoEntity
8
8
 
9
- Defined in: [src/models/SimpleMongoEntity.ts:14](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L14)
9
+ Defined in: [src/models/SimpleMongoEntity.ts:14](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/SimpleMongoEntity.ts#L14)
10
10
 
11
11
  Provides a simple base class for all entity's that will be persisted in a MongoDB database. Unlike
12
12
  `BaseMongoEntity` this class does not provide optimistic locking or date created and modified tracking.
@@ -25,7 +25,7 @@ Jean-Philippe Steinmetz <rapidrests@gmail.com>
25
25
 
26
26
  > **new SimpleMongoEntity**(`other?`): `SimpleMongoEntity`
27
27
 
28
- Defined in: [src/models/SimpleMongoEntity.ts:21](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L21)
28
+ Defined in: [src/models/SimpleMongoEntity.ts:21](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/SimpleMongoEntity.ts#L21)
29
29
 
30
30
  #### Parameters
31
31
 
@@ -47,7 +47,7 @@ Defined in: [src/models/SimpleMongoEntity.ts:21](https://github.com/rapidrest/se
47
47
 
48
48
  > `optional` **\_id?**: `ObjectId`
49
49
 
50
- Defined in: [src/models/SimpleMongoEntity.ts:19](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleMongoEntity.ts#L19)
50
+ Defined in: [src/models/SimpleMongoEntity.ts:19](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/SimpleMongoEntity.ts#L19)
51
51
 
52
52
  The internal unique identifier used by MongoDB.
53
53
 
@@ -57,7 +57,7 @@ The internal unique identifier used by MongoDB.
57
57
 
58
58
  > **uid**: `string`
59
59
 
60
- Defined in: [src/models/SimpleEntity.ts:24](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/SimpleEntity.ts#L24)
60
+ Defined in: [src/models/SimpleEntity.ts:24](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/SimpleEntity.ts#L24)
61
61
 
62
62
  The universally unique identifier of the entity.
63
63
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: StatusExtraData
8
8
 
9
- Defined in: [src/models/StatusExtraData.ts:1](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L1)
9
+ Defined in: [src/models/StatusExtraData.ts:1](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/StatusExtraData.ts#L1)
10
10
 
11
11
  ## Constructors
12
12
 
@@ -14,7 +14,7 @@ Defined in: [src/models/StatusExtraData.ts:1](https://github.com/rapidrest/servi
14
14
 
15
15
  > **new StatusExtraData**(`other`): `StatusExtraData`
16
16
 
17
- Defined in: [src/models/StatusExtraData.ts:9](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L9)
17
+ Defined in: [src/models/StatusExtraData.ts:9](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/StatusExtraData.ts#L9)
18
18
 
19
19
  #### Parameters
20
20
 
@@ -34,7 +34,7 @@ Defined in: [src/models/StatusExtraData.ts:9](https://github.com/rapidrest/servi
34
34
 
35
35
  > **get** **data**(): `any`
36
36
 
37
- Defined in: [src/models/StatusExtraData.ts:3](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L3)
37
+ Defined in: [src/models/StatusExtraData.ts:3](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/StatusExtraData.ts#L3)
38
38
 
39
39
  ##### Returns
40
40
 
@@ -44,7 +44,7 @@ Defined in: [src/models/StatusExtraData.ts:3](https://github.com/rapidrest/servi
44
44
 
45
45
  > **set** **data**(`data`): `void`
46
46
 
47
- Defined in: [src/models/StatusExtraData.ts:6](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/models/StatusExtraData.ts#L6)
47
+ Defined in: [src/models/StatusExtraData.ts:6](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/models/StatusExtraData.ts#L6)
48
48
 
49
49
  ##### Parameters
50
50
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  # Class: StatusRoute
8
8
 
9
- Defined in: [src/routes/StatusRoute.ts:17](https://github.com/rapidrest/service-core/blob/c8974caa9b5d3eb225bcbcd93945f2e588fe2f0a/src/routes/StatusRoute.ts#L17)
9
+ Defined in: [src/routes/StatusRoute.ts:17](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/routes/StatusRoute.ts#L17)
10
10
 
11
11
  The `StatusRoute` provides a default `/status` endpoint the returns metadata information about the service such as
12
12
  name, version.
@@ -0,0 +1,226 @@
1
+ [**@rapidrest/service-core**](../README.md)
2
+
3
+ ***
4
+
5
+ [@rapidrest/service-core](../globals.md) / UWSRequest
6
+
7
+ # Class: UWSRequest
8
+
9
+ Defined in: [src/http/Adapters.ts:58](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L58)
10
+
11
+ Adapts a uWS `HttpRequest` to the framework-agnostic `HttpRequest` interface.
12
+
13
+ IMPORTANT: uWS HttpRequest is stack-allocated and only valid during the synchronous portion of
14
+ the handler. All request data MUST be captured in the constructor before any `await`.
15
+
16
+ ## Implements
17
+
18
+ - [`HttpRequest`](../interfaces/HttpRequest.md)
19
+
20
+ ## Indexable
21
+
22
+ > \[`key`: `string`\]: `any`
23
+
24
+ Allow arbitrary per-request properties (websocket, wsHandled, etc.)
25
+
26
+ ## Constructors
27
+
28
+ ### Constructor
29
+
30
+ > **new UWSRequest**(`uwsReq`, `remoteAddress?`): `UWSRequest`
31
+
32
+ Defined in: [src/http/Adapters.ts:76](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L76)
33
+
34
+ #### Parameters
35
+
36
+ ##### uwsReq
37
+
38
+ `HttpRequest`
39
+
40
+ ##### remoteAddress?
41
+
42
+ `string`
43
+
44
+ #### Returns
45
+
46
+ `UWSRequest`
47
+
48
+ ## Properties
49
+
50
+ ### authPayload?
51
+
52
+ > `optional` **authPayload?**: `any`
53
+
54
+ Defined in: [src/http/Adapters.ts:71](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L71)
55
+
56
+ Full decoded JWT payload, set by JWT auth middleware.
57
+
58
+ #### Implementation of
59
+
60
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`authPayload`](../interfaces/HttpRequest.md#authpayload)
61
+
62
+ ***
63
+
64
+ ### authToken?
65
+
66
+ > `optional` **authToken?**: `string`
67
+
68
+ Defined in: [src/http/Adapters.ts:72](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L72)
69
+
70
+ Raw JWT token string, set by JWT auth middleware.
71
+
72
+ #### Implementation of
73
+
74
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`authToken`](../interfaces/HttpRequest.md#authtoken)
75
+
76
+ ***
77
+
78
+ ### body
79
+
80
+ > **body**: `any` = `undefined`
81
+
82
+ Defined in: [src/http/Adapters.ts:65](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L65)
83
+
84
+ #### Implementation of
85
+
86
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`body`](../interfaces/HttpRequest.md#body)
87
+
88
+ ***
89
+
90
+ ### cookies
91
+
92
+ > `readonly` **cookies**: `Record`\<`string`, `string`\>
93
+
94
+ Defined in: [src/http/Adapters.ts:67](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L67)
95
+
96
+ #### Implementation of
97
+
98
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`cookies`](../interfaces/HttpRequest.md#cookies)
99
+
100
+ ***
101
+
102
+ ### headers
103
+
104
+ > `readonly` **headers**: `Record`\<`string`, `string`\>
105
+
106
+ Defined in: [src/http/Adapters.ts:62](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L62)
107
+
108
+ #### Implementation of
109
+
110
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`headers`](../interfaces/HttpRequest.md#headers)
111
+
112
+ ***
113
+
114
+ ### method
115
+
116
+ > `readonly` **method**: `string`
117
+
118
+ Defined in: [src/http/Adapters.ts:59](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L59)
119
+
120
+ #### Implementation of
121
+
122
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`method`](../interfaces/HttpRequest.md#method)
123
+
124
+ ***
125
+
126
+ ### params
127
+
128
+ > **params**: `Record`\<`string`, `string`\> = `{}`
129
+
130
+ Defined in: [src/http/Adapters.ts:63](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L63)
131
+
132
+ #### Implementation of
133
+
134
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`params`](../interfaces/HttpRequest.md#params)
135
+
136
+ ***
137
+
138
+ ### path
139
+
140
+ > `readonly` **path**: `string`
141
+
142
+ Defined in: [src/http/Adapters.ts:61](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L61)
143
+
144
+ #### Implementation of
145
+
146
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`path`](../interfaces/HttpRequest.md#path)
147
+
148
+ ***
149
+
150
+ ### query
151
+
152
+ > `readonly` **query**: `Record`\<`string`, `string` \| `string`[]\>
153
+
154
+ Defined in: [src/http/Adapters.ts:64](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L64)
155
+
156
+ #### Implementation of
157
+
158
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`query`](../interfaces/HttpRequest.md#query)
159
+
160
+ ***
161
+
162
+ ### rawBody?
163
+
164
+ > `optional` **rawBody?**: `Buffer`\<`ArrayBufferLike`\>
165
+
166
+ Defined in: [src/http/Adapters.ts:66](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L66)
167
+
168
+ #### Implementation of
169
+
170
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`rawBody`](../interfaces/HttpRequest.md#rawbody)
171
+
172
+ ***
173
+
174
+ ### signedCookies
175
+
176
+ > `readonly` **signedCookies**: `Record`\<`string`, `string`\> = `{}`
177
+
178
+ Defined in: [src/http/Adapters.ts:68](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L68)
179
+
180
+ #### Implementation of
181
+
182
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`signedCookies`](../interfaces/HttpRequest.md#signedcookies)
183
+
184
+ ***
185
+
186
+ ### socket
187
+
188
+ > `readonly` **socket**: `object`
189
+
190
+ Defined in: [src/http/Adapters.ts:69](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L69)
191
+
192
+ Minimal socket interface; populated with remote address for IP extraction.
193
+
194
+ #### remoteAddress?
195
+
196
+ > `optional` **remoteAddress?**: `string`
197
+
198
+ #### Implementation of
199
+
200
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`socket`](../interfaces/HttpRequest.md#socket)
201
+
202
+ ***
203
+
204
+ ### url
205
+
206
+ > `readonly` **url**: `string`
207
+
208
+ Defined in: [src/http/Adapters.ts:60](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L60)
209
+
210
+ #### Implementation of
211
+
212
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`url`](../interfaces/HttpRequest.md#url)
213
+
214
+ ***
215
+
216
+ ### user?
217
+
218
+ > `optional` **user?**: `any`
219
+
220
+ Defined in: [src/http/Adapters.ts:70](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L70)
221
+
222
+ Set by JWT auth middleware after successful token verification.
223
+
224
+ #### Implementation of
225
+
226
+ [`HttpRequest`](../interfaces/HttpRequest.md).[`user`](../interfaces/HttpRequest.md#user)
@@ -0,0 +1,257 @@
1
+ [**@rapidrest/service-core**](../README.md)
2
+
3
+ ***
4
+
5
+ [@rapidrest/service-core](../globals.md) / UWSResponse
6
+
7
+ # Class: UWSResponse
8
+
9
+ Defined in: [src/http/Adapters.ts:109](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L109)
10
+
11
+ Adapts a uWS `HttpResponse` to the framework-agnostic `HttpResponse` interface.
12
+
13
+ Buffers headers and status code until the first write. Tracks abort state to safely
14
+ skip writes on aborted connections. All uWS writes are wrapped in `res.cork()` for
15
+ optimal performance.
16
+
17
+ ## Implements
18
+
19
+ - [`HttpResponse`](../interfaces/HttpResponse.md)
20
+
21
+ ## Indexable
22
+
23
+ > \[`key`: `string`\]: `any`
24
+
25
+ Allow arbitrary per-response properties.
26
+
27
+ ## Constructors
28
+
29
+ ### Constructor
30
+
31
+ > **new UWSResponse**(`uwsRes`): `UWSResponse`
32
+
33
+ Defined in: [src/http/Adapters.ts:123](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L123)
34
+
35
+ #### Parameters
36
+
37
+ ##### uwsRes
38
+
39
+ `HttpResponse`
40
+
41
+ #### Returns
42
+
43
+ `UWSResponse`
44
+
45
+ ## Properties
46
+
47
+ ### isHead
48
+
49
+ > **isHead**: `boolean` = `false`
50
+
51
+ Defined in: [src/http/Adapters.ts:117](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L117)
52
+
53
+ Set to true for HEAD requests — body bytes must not be sent.
54
+
55
+ ***
56
+
57
+ ### result?
58
+
59
+ > `optional` **result?**: `any`
60
+
61
+ Defined in: [src/http/Adapters.ts:119](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L119)
62
+
63
+ Intermediate result passed between middleware.
64
+
65
+ #### Implementation of
66
+
67
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`result`](../interfaces/HttpResponse.md#result)
68
+
69
+ ## Accessors
70
+
71
+ ### headersSent
72
+
73
+ #### Get Signature
74
+
75
+ > **get** **headersSent**(): `boolean`
76
+
77
+ Defined in: [src/http/Adapters.ts:135](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L135)
78
+
79
+ ##### Returns
80
+
81
+ `boolean`
82
+
83
+ #### Implementation of
84
+
85
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`headersSent`](../interfaces/HttpResponse.md#headerssent)
86
+
87
+ ***
88
+
89
+ ### statusCode
90
+
91
+ #### Get Signature
92
+
93
+ > **get** **statusCode**(): `number`
94
+
95
+ Defined in: [src/http/Adapters.ts:131](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L131)
96
+
97
+ ##### Returns
98
+
99
+ `number`
100
+
101
+ #### Implementation of
102
+
103
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`statusCode`](../interfaces/HttpResponse.md#statuscode)
104
+
105
+ ***
106
+
107
+ ### writableEnded
108
+
109
+ #### Get Signature
110
+
111
+ > **get** **writableEnded**(): `boolean`
112
+
113
+ Defined in: [src/http/Adapters.ts:139](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L139)
114
+
115
+ ##### Returns
116
+
117
+ `boolean`
118
+
119
+ #### Implementation of
120
+
121
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`writableEnded`](../interfaces/HttpResponse.md#writableended)
122
+
123
+ ## Methods
124
+
125
+ ### end()
126
+
127
+ > **end**(`data?`): `void`
128
+
129
+ Defined in: [src/http/Adapters.ts:172](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L172)
130
+
131
+ #### Parameters
132
+
133
+ ##### data?
134
+
135
+ `any`
136
+
137
+ #### Returns
138
+
139
+ `void`
140
+
141
+ #### Implementation of
142
+
143
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`end`](../interfaces/HttpResponse.md#end)
144
+
145
+ ***
146
+
147
+ ### getHeader()
148
+
149
+ > **getHeader**(`key`): `string` \| `undefined`
150
+
151
+ Defined in: [src/http/Adapters.ts:153](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L153)
152
+
153
+ #### Parameters
154
+
155
+ ##### key
156
+
157
+ `string`
158
+
159
+ #### Returns
160
+
161
+ `string` \| `undefined`
162
+
163
+ #### Implementation of
164
+
165
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`getHeader`](../interfaces/HttpResponse.md#getheader)
166
+
167
+ ***
168
+
169
+ ### json()
170
+
171
+ > **json**(`data`): `void`
172
+
173
+ Defined in: [src/http/Adapters.ts:157](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L157)
174
+
175
+ #### Parameters
176
+
177
+ ##### data
178
+
179
+ `any`
180
+
181
+ #### Returns
182
+
183
+ `void`
184
+
185
+ #### Implementation of
186
+
187
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`json`](../interfaces/HttpResponse.md#json)
188
+
189
+ ***
190
+
191
+ ### send()
192
+
193
+ > **send**(`data?`): `void`
194
+
195
+ Defined in: [src/http/Adapters.ts:162](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L162)
196
+
197
+ #### Parameters
198
+
199
+ ##### data?
200
+
201
+ `any`
202
+
203
+ #### Returns
204
+
205
+ `void`
206
+
207
+ #### Implementation of
208
+
209
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`send`](../interfaces/HttpResponse.md#send)
210
+
211
+ ***
212
+
213
+ ### setHeader()
214
+
215
+ > **setHeader**(`key`, `value`): `this`
216
+
217
+ Defined in: [src/http/Adapters.ts:148](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L148)
218
+
219
+ #### Parameters
220
+
221
+ ##### key
222
+
223
+ `string`
224
+
225
+ ##### value
226
+
227
+ `string` \| `number`
228
+
229
+ #### Returns
230
+
231
+ `this`
232
+
233
+ #### Implementation of
234
+
235
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`setHeader`](../interfaces/HttpResponse.md#setheader)
236
+
237
+ ***
238
+
239
+ ### status()
240
+
241
+ > **status**(`code`): `this`
242
+
243
+ Defined in: [src/http/Adapters.ts:143](https://github.com/rapidrest/service-core/blob/ab54834688bebfbea1d8258c626822205861b919/src/http/Adapters.ts#L143)
244
+
245
+ #### Parameters
246
+
247
+ ##### code
248
+
249
+ `number`
250
+
251
+ #### Returns
252
+
253
+ `this`
254
+
255
+ #### Implementation of
256
+
257
+ [`HttpResponse`](../interfaces/HttpResponse.md).[`status`](../interfaces/HttpResponse.md#status)