@3sixty/api-models 0.0.0-stage → 0.20.0-next.1

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 (323) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +24 -2
  3. package/dist/es/errors/forbiddenError.js +23 -0
  4. package/dist/es/errors/forbiddenError.js.map +1 -0
  5. package/dist/es/errors/tooManyRequestsError.js +25 -0
  6. package/dist/es/errors/tooManyRequestsError.js.map +1 -0
  7. package/dist/es/factories/mimeTypeProcessorFactory.js +9 -0
  8. package/dist/es/factories/mimeTypeProcessorFactory.js.map +1 -0
  9. package/dist/es/factories/restClientProcessorFactory.js +9 -0
  10. package/dist/es/factories/restClientProcessorFactory.js.map +1 -0
  11. package/dist/es/factories/restRouteProcessorFactory.js +9 -0
  12. package/dist/es/factories/restRouteProcessorFactory.js.map +1 -0
  13. package/dist/es/factories/socketRouteProcessorFactory.js +9 -0
  14. package/dist/es/factories/socketRouteProcessorFactory.js.map +1 -0
  15. package/dist/es/helpers/httpErrorHelper.js +75 -0
  16. package/dist/es/helpers/httpErrorHelper.js.map +1 -0
  17. package/dist/es/helpers/httpHeaderHelper.js +120 -0
  18. package/dist/es/helpers/httpHeaderHelper.js.map +1 -0
  19. package/dist/es/helpers/httpParameterHelper.js +41 -0
  20. package/dist/es/helpers/httpParameterHelper.js.map +1 -0
  21. package/dist/es/helpers/httpUrlHelper.js +156 -0
  22. package/dist/es/helpers/httpUrlHelper.js.map +1 -0
  23. package/dist/es/index.js +81 -0
  24. package/dist/es/index.js.map +1 -0
  25. package/dist/es/models/IHealth.js +2 -0
  26. package/dist/es/models/IHealth.js.map +1 -0
  27. package/dist/es/models/api/IServerFavIconResponse.js +2 -0
  28. package/dist/es/models/api/IServerFavIconResponse.js.map +1 -0
  29. package/dist/es/models/api/IServerHealthResponse.js +2 -0
  30. package/dist/es/models/api/IServerHealthResponse.js.map +1 -0
  31. package/dist/es/models/api/IServerInfoResponse.js +2 -0
  32. package/dist/es/models/api/IServerInfoResponse.js.map +1 -0
  33. package/dist/es/models/api/IServerLivezResponse.js +2 -0
  34. package/dist/es/models/api/IServerLivezResponse.js.map +1 -0
  35. package/dist/es/models/api/IServerReadyzResponse.js +2 -0
  36. package/dist/es/models/api/IServerReadyzResponse.js.map +1 -0
  37. package/dist/es/models/api/IServerRootResponse.js +2 -0
  38. package/dist/es/models/api/IServerRootResponse.js.map +1 -0
  39. package/dist/es/models/api/IServerSpecResponse.js +2 -0
  40. package/dist/es/models/api/IServerSpecResponse.js.map +1 -0
  41. package/dist/es/models/client/IRestClientProcessor.js +2 -0
  42. package/dist/es/models/client/IRestClientProcessor.js.map +1 -0
  43. package/dist/es/models/client/IRestClientProcessorContext.js +2 -0
  44. package/dist/es/models/client/IRestClientProcessorContext.js.map +1 -0
  45. package/dist/es/models/config/IBaseRestClientConfig.js +2 -0
  46. package/dist/es/models/config/IBaseRestClientConfig.js.map +1 -0
  47. package/dist/es/models/config/IBaseSocketClientConfig.js +2 -0
  48. package/dist/es/models/config/IBaseSocketClientConfig.js.map +1 -0
  49. package/dist/es/models/healthCategory.js +17 -0
  50. package/dist/es/models/healthCategory.js.map +1 -0
  51. package/dist/es/models/healthStatus.js +21 -0
  52. package/dist/es/models/healthStatus.js.map +1 -0
  53. package/dist/es/models/httpContextIdKeys.js +39 -0
  54. package/dist/es/models/httpContextIdKeys.js.map +1 -0
  55. package/dist/es/models/protocol/IHttpRequest.js +2 -0
  56. package/dist/es/models/protocol/IHttpRequest.js.map +1 -0
  57. package/dist/es/models/protocol/IHttpRequestContext.js +2 -0
  58. package/dist/es/models/protocol/IHttpRequestContext.js.map +1 -0
  59. package/dist/es/models/protocol/IHttpRequestPathParams.js +4 -0
  60. package/dist/es/models/protocol/IHttpRequestPathParams.js.map +1 -0
  61. package/dist/es/models/protocol/IHttpRequestQuery.js +4 -0
  62. package/dist/es/models/protocol/IHttpRequestQuery.js.map +1 -0
  63. package/dist/es/models/protocol/IHttpResponse.js +2 -0
  64. package/dist/es/models/protocol/IHttpResponse.js.map +1 -0
  65. package/dist/es/models/protocol/IHttpServerRequest.js +2 -0
  66. package/dist/es/models/protocol/IHttpServerRequest.js.map +1 -0
  67. package/dist/es/models/protocol/ISocketRequestContext.js +2 -0
  68. package/dist/es/models/protocol/ISocketRequestContext.js.map +1 -0
  69. package/dist/es/models/protocol/ISocketServerRequest.js +2 -0
  70. package/dist/es/models/protocol/ISocketServerRequest.js.map +1 -0
  71. package/dist/es/models/requests/INoContentRequest.js +2 -0
  72. package/dist/es/models/requests/INoContentRequest.js.map +1 -0
  73. package/dist/es/models/responses/errors/IBadRequestResponse.js +2 -0
  74. package/dist/es/models/responses/errors/IBadRequestResponse.js.map +1 -0
  75. package/dist/es/models/responses/errors/IConflictResponse.js +2 -0
  76. package/dist/es/models/responses/errors/IConflictResponse.js.map +1 -0
  77. package/dist/es/models/responses/errors/IForbiddenResponse.js +2 -0
  78. package/dist/es/models/responses/errors/IForbiddenResponse.js.map +1 -0
  79. package/dist/es/models/responses/errors/IInternalServerErrorResponse.js +2 -0
  80. package/dist/es/models/responses/errors/IInternalServerErrorResponse.js.map +1 -0
  81. package/dist/es/models/responses/errors/INotFoundResponse.js +2 -0
  82. package/dist/es/models/responses/errors/INotFoundResponse.js.map +1 -0
  83. package/dist/es/models/responses/errors/INotImplementedResponse.js +2 -0
  84. package/dist/es/models/responses/errors/INotImplementedResponse.js.map +1 -0
  85. package/dist/es/models/responses/errors/ITooManyRequestsResponse.js +2 -0
  86. package/dist/es/models/responses/errors/ITooManyRequestsResponse.js.map +1 -0
  87. package/dist/es/models/responses/errors/IUnauthorizedResponse.js +2 -0
  88. package/dist/es/models/responses/errors/IUnauthorizedResponse.js.map +1 -0
  89. package/dist/es/models/responses/errors/IUnprocessableEntityResponse.js +2 -0
  90. package/dist/es/models/responses/errors/IUnprocessableEntityResponse.js.map +1 -0
  91. package/dist/es/models/responses/success/IAcceptedResponse.js +2 -0
  92. package/dist/es/models/responses/success/IAcceptedResponse.js.map +1 -0
  93. package/dist/es/models/responses/success/ICreatedResponse.js +2 -0
  94. package/dist/es/models/responses/success/ICreatedResponse.js.map +1 -0
  95. package/dist/es/models/responses/success/INoContentResponse.js +2 -0
  96. package/dist/es/models/responses/success/INoContentResponse.js.map +1 -0
  97. package/dist/es/models/responses/success/IOkResponse.js +2 -0
  98. package/dist/es/models/responses/success/IOkResponse.js.map +1 -0
  99. package/dist/es/models/routes/IBaseRoute.js +2 -0
  100. package/dist/es/models/routes/IBaseRoute.js.map +1 -0
  101. package/dist/es/models/routes/IBaseRouteEntryPoint.js +2 -0
  102. package/dist/es/models/routes/IBaseRouteEntryPoint.js.map +1 -0
  103. package/dist/es/models/routes/IRestRoute.js +2 -0
  104. package/dist/es/models/routes/IRestRoute.js.map +1 -0
  105. package/dist/es/models/routes/IRestRouteEntryPoint.js +2 -0
  106. package/dist/es/models/routes/IRestRouteEntryPoint.js.map +1 -0
  107. package/dist/es/models/routes/IRestRouteExample.js +4 -0
  108. package/dist/es/models/routes/IRestRouteExample.js.map +1 -0
  109. package/dist/es/models/routes/IRestRouteRequestExample.js +2 -0
  110. package/dist/es/models/routes/IRestRouteRequestExample.js.map +1 -0
  111. package/dist/es/models/routes/IRestRouteResponseAttachmentOptions.js +4 -0
  112. package/dist/es/models/routes/IRestRouteResponseAttachmentOptions.js.map +1 -0
  113. package/dist/es/models/routes/IRestRouteResponseExample.js +2 -0
  114. package/dist/es/models/routes/IRestRouteResponseExample.js.map +1 -0
  115. package/dist/es/models/routes/IRestRouteResponseOptions.js +2 -0
  116. package/dist/es/models/routes/IRestRouteResponseOptions.js.map +1 -0
  117. package/dist/es/models/routes/IRouteAuthorization.js +4 -0
  118. package/dist/es/models/routes/IRouteAuthorization.js.map +1 -0
  119. package/dist/es/models/routes/ISocketRoute.js +2 -0
  120. package/dist/es/models/routes/ISocketRoute.js.map +1 -0
  121. package/dist/es/models/routes/ISocketRouteEntryPoint.js +2 -0
  122. package/dist/es/models/routes/ISocketRouteEntryPoint.js.map +1 -0
  123. package/dist/es/models/routes/ITag.js +4 -0
  124. package/dist/es/models/routes/ITag.js.map +1 -0
  125. package/dist/es/models/routes/httpBodyLimit.js +17 -0
  126. package/dist/es/models/routes/httpBodyLimit.js.map +1 -0
  127. package/dist/es/models/server/IBaseRouteProcessor.js +2 -0
  128. package/dist/es/models/server/IBaseRouteProcessor.js.map +1 -0
  129. package/dist/es/models/server/IMimeTypeProcessor.js +2 -0
  130. package/dist/es/models/server/IMimeTypeProcessor.js.map +1 -0
  131. package/dist/es/models/server/IRestRouteProcessor.js +2 -0
  132. package/dist/es/models/server/IRestRouteProcessor.js.map +1 -0
  133. package/dist/es/models/server/ISocketRouteProcessor.js +2 -0
  134. package/dist/es/models/server/ISocketRouteProcessor.js.map +1 -0
  135. package/dist/es/models/server/IWebServer.js +2 -0
  136. package/dist/es/models/server/IWebServer.js.map +1 -0
  137. package/dist/es/models/server/IWebServerOptions.js +2 -0
  138. package/dist/es/models/server/IWebServerOptions.js.map +1 -0
  139. package/dist/es/models/services/IHealthApplicationCallback.js +2 -0
  140. package/dist/es/models/services/IHealthApplicationCallback.js.map +1 -0
  141. package/dist/es/models/services/IHealthComponent.js +2 -0
  142. package/dist/es/models/services/IHealthComponent.js.map +1 -0
  143. package/dist/es/models/services/IHealthProviderComponent.js +2 -0
  144. package/dist/es/models/services/IHealthProviderComponent.js.map +1 -0
  145. package/dist/es/models/services/IInformationComponent.js +2 -0
  146. package/dist/es/models/services/IInformationComponent.js.map +1 -0
  147. package/dist/es/models/services/IPlatformComponent.js +2 -0
  148. package/dist/es/models/services/IPlatformComponent.js.map +1 -0
  149. package/dist/es/models/services/IServerInfo.js +4 -0
  150. package/dist/es/models/services/IServerInfo.js.map +1 -0
  151. package/dist/es/models/services/ITenant.js +4 -0
  152. package/dist/es/models/services/ITenant.js.map +1 -0
  153. package/dist/es/models/services/ITenantAdminComponent.js +2 -0
  154. package/dist/es/models/services/ITenantAdminComponent.js.map +1 -0
  155. package/dist/es/models/services/tenantEventCallback.js +2 -0
  156. package/dist/es/models/services/tenantEventCallback.js.map +1 -0
  157. package/dist/es/models/services/tenantEventType.js +21 -0
  158. package/dist/es/models/services/tenantEventType.js.map +1 -0
  159. package/dist/types/errors/forbiddenError.d.ts +20 -0
  160. package/dist/types/errors/tooManyRequestsError.d.ts +22 -0
  161. package/dist/types/factories/mimeTypeProcessorFactory.d.ts +6 -0
  162. package/dist/types/factories/restClientProcessorFactory.d.ts +6 -0
  163. package/dist/types/factories/restRouteProcessorFactory.d.ts +6 -0
  164. package/dist/types/factories/socketRouteProcessorFactory.d.ts +6 -0
  165. package/dist/types/helpers/httpErrorHelper.d.ts +32 -0
  166. package/dist/types/helpers/httpHeaderHelper.d.ts +62 -0
  167. package/dist/types/helpers/httpParameterHelper.d.ts +29 -0
  168. package/dist/types/helpers/httpUrlHelper.d.ts +73 -0
  169. package/dist/types/index.d.ts +77 -0
  170. package/dist/types/models/IHealth.d.ts +42 -0
  171. package/dist/types/models/api/IServerFavIconResponse.d.ts +23 -0
  172. package/dist/types/models/api/IServerHealthResponse.d.ts +14 -0
  173. package/dist/types/models/api/IServerInfoResponse.d.ts +10 -0
  174. package/dist/types/models/api/IServerLivezResponse.d.ts +16 -0
  175. package/dist/types/models/api/IServerReadyzResponse.d.ts +16 -0
  176. package/dist/types/models/api/IServerRootResponse.d.ts +16 -0
  177. package/dist/types/models/api/IServerSpecResponse.d.ts +14 -0
  178. package/dist/types/models/client/IRestClientProcessor.d.ts +22 -0
  179. package/dist/types/models/client/IRestClientProcessorContext.d.ts +42 -0
  180. package/dist/types/models/config/IBaseRestClientConfig.d.ts +46 -0
  181. package/dist/types/models/config/IBaseSocketClientConfig.d.ts +22 -0
  182. package/dist/types/models/healthCategory.d.ts +17 -0
  183. package/dist/types/models/healthStatus.d.ts +21 -0
  184. package/dist/types/models/httpContextIdKeys.d.ts +38 -0
  185. package/dist/types/models/protocol/IHttpRequest.d.ts +24 -0
  186. package/dist/types/models/protocol/IHttpRequestContext.d.ts +20 -0
  187. package/dist/types/models/protocol/IHttpRequestPathParams.d.ts +6 -0
  188. package/dist/types/models/protocol/IHttpRequestQuery.d.ts +6 -0
  189. package/dist/types/models/protocol/IHttpResponse.d.ts +18 -0
  190. package/dist/types/models/protocol/IHttpServerRequest.d.ts +15 -0
  191. package/dist/types/models/protocol/ISocketRequestContext.d.ts +10 -0
  192. package/dist/types/models/protocol/ISocketServerRequest.d.ts +10 -0
  193. package/dist/types/models/requests/INoContentRequest.d.ts +22 -0
  194. package/dist/types/models/responses/errors/IBadRequestResponse.d.ts +15 -0
  195. package/dist/types/models/responses/errors/IConflictResponse.d.ts +15 -0
  196. package/dist/types/models/responses/errors/IForbiddenResponse.d.ts +15 -0
  197. package/dist/types/models/responses/errors/IInternalServerErrorResponse.d.ts +15 -0
  198. package/dist/types/models/responses/errors/INotFoundResponse.d.ts +20 -0
  199. package/dist/types/models/responses/errors/INotImplementedResponse.d.ts +15 -0
  200. package/dist/types/models/responses/errors/ITooManyRequestsResponse.d.ts +15 -0
  201. package/dist/types/models/responses/errors/IUnauthorizedResponse.d.ts +15 -0
  202. package/dist/types/models/responses/errors/IUnprocessableEntityResponse.d.ts +15 -0
  203. package/dist/types/models/responses/success/IAcceptedResponse.d.ts +19 -0
  204. package/dist/types/models/responses/success/ICreatedResponse.d.ts +19 -0
  205. package/dist/types/models/responses/success/INoContentResponse.d.ts +10 -0
  206. package/dist/types/models/responses/success/IOkResponse.d.ts +10 -0
  207. package/dist/types/models/routes/IBaseRoute.d.ts +39 -0
  208. package/dist/types/models/routes/IBaseRouteEntryPoint.d.ts +22 -0
  209. package/dist/types/models/routes/IRestRoute.d.ts +80 -0
  210. package/dist/types/models/routes/IRestRouteEntryPoint.d.ts +6 -0
  211. package/dist/types/models/routes/IRestRouteExample.d.ts +13 -0
  212. package/dist/types/models/routes/IRestRouteRequestExample.d.ts +10 -0
  213. package/dist/types/models/routes/IRestRouteResponseAttachmentOptions.d.ts +17 -0
  214. package/dist/types/models/routes/IRestRouteResponseExample.d.ts +10 -0
  215. package/dist/types/models/routes/IRestRouteResponseOptions.d.ts +10 -0
  216. package/dist/types/models/routes/IRouteAuthorization.d.ts +17 -0
  217. package/dist/types/models/routes/ISocketRoute.d.ts +41 -0
  218. package/dist/types/models/routes/ISocketRouteEntryPoint.d.ts +6 -0
  219. package/dist/types/models/routes/ITag.d.ts +13 -0
  220. package/dist/types/models/routes/httpBodyLimit.d.ts +17 -0
  221. package/dist/types/models/server/IBaseRouteProcessor.d.ts +42 -0
  222. package/dist/types/models/server/IMimeTypeProcessor.d.ts +17 -0
  223. package/dist/types/models/server/IRestRouteProcessor.d.ts +24 -0
  224. package/dist/types/models/server/ISocketRouteProcessor.d.ts +38 -0
  225. package/dist/types/models/server/IWebServer.d.ts +36 -0
  226. package/dist/types/models/server/IWebServerOptions.d.ts +54 -0
  227. package/dist/types/models/services/IHealthApplicationCallback.d.ts +6 -0
  228. package/dist/types/models/services/IHealthComponent.d.ts +16 -0
  229. package/dist/types/models/services/IHealthProviderComponent.d.ts +31 -0
  230. package/dist/types/models/services/IInformationComponent.d.ts +41 -0
  231. package/dist/types/models/services/IPlatformComponent.d.ts +44 -0
  232. package/dist/types/models/services/IServerInfo.d.ts +13 -0
  233. package/dist/types/models/services/ITenant.d.ts +37 -0
  234. package/dist/types/models/services/ITenantAdminComponent.d.ts +70 -0
  235. package/dist/types/models/services/tenantEventCallback.d.ts +6 -0
  236. package/dist/types/models/services/tenantEventType.d.ts +21 -0
  237. package/docs/changelog.md +10 -0
  238. package/docs/examples.md +200 -0
  239. package/docs/reference/classes/ForbiddenError.md +57 -0
  240. package/docs/reference/classes/HttpErrorHelper.md +99 -0
  241. package/docs/reference/classes/HttpHeaderHelper.md +182 -0
  242. package/docs/reference/classes/HttpParameterHelper.md +125 -0
  243. package/docs/reference/classes/HttpUrlHelper.md +262 -0
  244. package/docs/reference/classes/TooManyRequestsError.md +69 -0
  245. package/docs/reference/index.md +95 -0
  246. package/docs/reference/interfaces/IAcceptedResponse.md +25 -0
  247. package/docs/reference/interfaces/IBadRequestResponse.md +19 -0
  248. package/docs/reference/interfaces/IBaseRestClientConfig.md +99 -0
  249. package/docs/reference/interfaces/IBaseRoute.md +89 -0
  250. package/docs/reference/interfaces/IBaseRouteEntryPoint.md +55 -0
  251. package/docs/reference/interfaces/IBaseRouteProcessor.md +134 -0
  252. package/docs/reference/interfaces/IBaseSocketClientConfig.md +35 -0
  253. package/docs/reference/interfaces/IConflictResponse.md +19 -0
  254. package/docs/reference/interfaces/ICreatedResponse.md +25 -0
  255. package/docs/reference/interfaces/IForbiddenResponse.md +19 -0
  256. package/docs/reference/interfaces/IHealth.md +71 -0
  257. package/docs/reference/interfaces/IHealthComponent.md +21 -0
  258. package/docs/reference/interfaces/IHealthProviderComponent.md +76 -0
  259. package/docs/reference/interfaces/IHttpRequest.md +46 -0
  260. package/docs/reference/interfaces/IHttpRequestContext.md +35 -0
  261. package/docs/reference/interfaces/IHttpRequestPathParams.md +7 -0
  262. package/docs/reference/interfaces/IHttpRequestQuery.md +7 -0
  263. package/docs/reference/interfaces/IHttpResponse.md +33 -0
  264. package/docs/reference/interfaces/IHttpServerRequest.md +81 -0
  265. package/docs/reference/interfaces/IInformationComponent.md +91 -0
  266. package/docs/reference/interfaces/IInternalServerErrorResponse.md +19 -0
  267. package/docs/reference/interfaces/IMimeTypeProcessor.md +43 -0
  268. package/docs/reference/interfaces/INoContentRequest.md +55 -0
  269. package/docs/reference/interfaces/INoContentResponse.md +11 -0
  270. package/docs/reference/interfaces/INotFoundResponse.md +27 -0
  271. package/docs/reference/interfaces/INotImplementedResponse.md +19 -0
  272. package/docs/reference/interfaces/IOkResponse.md +11 -0
  273. package/docs/reference/interfaces/IPlatformComponent.md +139 -0
  274. package/docs/reference/interfaces/IRestClientProcessor.md +69 -0
  275. package/docs/reference/interfaces/IRestClientProcessorContext.md +75 -0
  276. package/docs/reference/interfaces/IRestRoute.md +245 -0
  277. package/docs/reference/interfaces/IRestRouteExample.md +24 -0
  278. package/docs/reference/interfaces/IRestRouteProcessor.md +177 -0
  279. package/docs/reference/interfaces/IRestRouteRequestExample.md +45 -0
  280. package/docs/reference/interfaces/IRestRouteResponseAttachmentOptions.md +27 -0
  281. package/docs/reference/interfaces/IRestRouteResponseExample.md +45 -0
  282. package/docs/reference/interfaces/IRestRouteResponseOptions.md +11 -0
  283. package/docs/reference/interfaces/IRouteAuthorization.md +27 -0
  284. package/docs/reference/interfaces/IServerFavIconResponse.md +33 -0
  285. package/docs/reference/interfaces/IServerHealthResponse.md +19 -0
  286. package/docs/reference/interfaces/IServerInfo.md +19 -0
  287. package/docs/reference/interfaces/IServerInfoResponse.md +11 -0
  288. package/docs/reference/interfaces/IServerLivezResponse.md +23 -0
  289. package/docs/reference/interfaces/IServerReadyzResponse.md +23 -0
  290. package/docs/reference/interfaces/IServerRootResponse.md +23 -0
  291. package/docs/reference/interfaces/IServerSpecResponse.md +19 -0
  292. package/docs/reference/interfaces/ISocketRequestContext.md +55 -0
  293. package/docs/reference/interfaces/ISocketRoute.md +198 -0
  294. package/docs/reference/interfaces/ISocketRouteProcessor.md +247 -0
  295. package/docs/reference/interfaces/ISocketServerRequest.md +93 -0
  296. package/docs/reference/interfaces/ITag.md +19 -0
  297. package/docs/reference/interfaces/ITenant.md +67 -0
  298. package/docs/reference/interfaces/ITenantAdminComponent.md +227 -0
  299. package/docs/reference/interfaces/ITooManyRequestsResponse.md +19 -0
  300. package/docs/reference/interfaces/IUnauthorizedResponse.md +19 -0
  301. package/docs/reference/interfaces/IUnprocessableEntityResponse.md +19 -0
  302. package/docs/reference/interfaces/IWebServer.md +109 -0
  303. package/docs/reference/interfaces/IWebServerOptions.md +113 -0
  304. package/docs/reference/type-aliases/HealthApplicationCallback.md +16 -0
  305. package/docs/reference/type-aliases/HealthCategory.md +5 -0
  306. package/docs/reference/type-aliases/HealthStatus.md +5 -0
  307. package/docs/reference/type-aliases/HttpBodyLimit.md +5 -0
  308. package/docs/reference/type-aliases/HttpContextIdKeys.md +5 -0
  309. package/docs/reference/type-aliases/IRestRouteEntryPoint.md +5 -0
  310. package/docs/reference/type-aliases/ISocketRouteEntryPoint.md +5 -0
  311. package/docs/reference/type-aliases/TenantEventCallback.md +20 -0
  312. package/docs/reference/type-aliases/TenantEventType.md +5 -0
  313. package/docs/reference/variables/HealthCategory.md +19 -0
  314. package/docs/reference/variables/HealthStatus.md +25 -0
  315. package/docs/reference/variables/HttpBodyLimit.md +19 -0
  316. package/docs/reference/variables/HttpContextIdKeys.md +50 -0
  317. package/docs/reference/variables/MimeTypeProcessorFactory.md +5 -0
  318. package/docs/reference/variables/RestClientProcessorFactory.md +5 -0
  319. package/docs/reference/variables/RestRouteProcessorFactory.md +5 -0
  320. package/docs/reference/variables/SocketRouteProcessorFactory.md +5 -0
  321. package/docs/reference/variables/TenantEventType.md +25 -0
  322. package/locales/en.json +8 -0
  323. package/package.json +53 -5
@@ -0,0 +1,62 @@
1
+ import { HeaderTypes, MimeTypes, type IHttpHeaders } from "@3sixty/web";
2
+ /**
3
+ * Class to help with handling http headers.
4
+ */
5
+ export declare class HttpHeaderHelper {
6
+ /**
7
+ * Runtime name for the class.
8
+ */
9
+ static readonly CLASS_NAME: string;
10
+ /**
11
+ * Set the Link header with a next cursor relation when a cursor is present.
12
+ * @param headers The response headers to mutate.
13
+ * @param url The request URL used as the base for the link.
14
+ * @param publicOrigin The public origin to substitute into the URL, if any.
15
+ * @param cursor The cursor value; when undefined or empty the header is not set.
16
+ */
17
+ static buildCursor(headers: IHttpHeaders, url: string, publicOrigin: string | undefined, cursor: string | undefined): asserts headers is IHttpHeaders & {
18
+ [HeaderTypes.Link]: string | undefined;
19
+ };
20
+ /**
21
+ * Set the Location header to the encoded ID, optionally placed within a URL template.
22
+ * When the template contains `:id` (e.g. "/path1/:id/path2" or "/path?p=:id") the
23
+ * encoded ID is substituted at that position; otherwise it is appended.
24
+ * When no template is provided the bare encoded ID is used.
25
+ * Callers that need to combine a public origin with a path should use
26
+ * HttpUrlHelper.combineOriginPath to build the template before calling this method.
27
+ * @param headers The response headers to mutate.
28
+ * @param id The resource ID to encode and place.
29
+ * @param urlTemplate The optional URL template (absolute or relative).
30
+ */
31
+ static buildId(headers: IHttpHeaders, id: string, urlTemplate?: string): asserts headers is IHttpHeaders & {
32
+ [HeaderTypes.Location]: string;
33
+ };
34
+ /**
35
+ * Set the Content-Type header to JSON-LD or JSON depending on the request Accept header.
36
+ * Uses HeaderHelper.extractAccept which parses the Accept header per RFC 7231 and returns
37
+ * entries ordered by quality descending, preserving original order for equal q-values.
38
+ * @param headers The response headers to mutate.
39
+ * @param requestHeaders The request headers to inspect for the Accept value.
40
+ */
41
+ static buildJsonContentType(headers: IHttpHeaders, requestHeaders?: IHttpHeaders): asserts headers is IHttpHeaders & {
42
+ [HeaderTypes.ContentType]: typeof MimeTypes.JsonLd | typeof MimeTypes.Json;
43
+ };
44
+ /**
45
+ * Extract the cursor from the Link header's next relation.
46
+ * @param headers The response headers to extract the cursor from.
47
+ * @returns The cursor value or undefined if not present.
48
+ */
49
+ static extractCursor(headers?: IHttpHeaders): string | undefined;
50
+ /**
51
+ * Extract the resource ID from the Location response header.
52
+ * Handles absolute URLs, relative paths, and bare ID values.
53
+ * When a templateUrl containing ':id' is supplied (e.g. "/path1/:id/path2" or
54
+ * "https://host/path/:id") the ID is extracted via pattern matching at the ':id'
55
+ * position. Without a matching template the last path segment is returned.
56
+ * @param headers The response headers containing the Location header.
57
+ * @param templateUrl Optional URL template containing the ':id' placeholder, e.g. "/path1/:id/path2".
58
+ * @returns The extracted ID string.
59
+ * @throws GeneralError If the Location header is missing or the ID cannot be extracted.
60
+ */
61
+ static extractId(headers?: IHttpHeaders, templateUrl?: string): string;
62
+ }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Class to help with handling http parameters.
3
+ */
4
+ export declare class HttpParameterHelper {
5
+ /**
6
+ * Convert list query to array.
7
+ * @param values The values query string.
8
+ * @returns The array of values.
9
+ */
10
+ static arrayFromString<T = string>(values?: string): T[] | undefined;
11
+ /**
12
+ * Convert array of values to query string.
13
+ * @param values The values to combine string.
14
+ * @returns The combined.
15
+ */
16
+ static arrayToString<T = string>(values?: T[]): string | undefined;
17
+ /**
18
+ * Convert object string to object.
19
+ * @param value The value query string.
20
+ * @returns The object.
21
+ */
22
+ static objectFromString<T = unknown>(value?: string): T | undefined;
23
+ /**
24
+ * Convert object to query string.
25
+ * @param value The value to convert to a string.
26
+ * @returns The converted object.
27
+ */
28
+ static objectToString<T = unknown>(value?: T): string | undefined;
29
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Class to help with handling http URLs.
3
+ */
4
+ export declare class HttpUrlHelper {
5
+ /**
6
+ * Extract the origin from the url which includes protocol,host,port.
7
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/URL/origin
8
+ * @param url The url to extract the origin from.
9
+ * @returns The extracted origin.
10
+ */
11
+ static extractOrigin(url: string): string | undefined;
12
+ /**
13
+ * Extract the path from the url.
14
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/URL/pathname
15
+ * @param url The url to extract the path from.
16
+ * @returns The extracted path.
17
+ */
18
+ static extractPath(url: string): string | undefined;
19
+ /**
20
+ * Extract the search from the url.
21
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/URL/search
22
+ * @param url The url to extract the search from.
23
+ * @returns The extracted search.
24
+ */
25
+ static extractSearch(url: string): string | undefined;
26
+ /**
27
+ * Extract the path and search from the url.
28
+ * @param url The url to extract the path and search from.
29
+ * @returns The extracted path and search.
30
+ */
31
+ static extractPathAndSearch(url: string): string | undefined;
32
+ /**
33
+ * Combine an optional origin and an optional path into a single URL string.
34
+ * Relative paths (no protocol, no leading slash) have a leading slash prepended.
35
+ * Trailing slashes are trimmed from the origin before joining.
36
+ * Returns undefined when both arguments are absent or empty.
37
+ * @param origin The optional origin (e.g. "https://example.com").
38
+ * @param path The optional path or URL template (e.g. "/api/items" or "api/items").
39
+ * @returns The combined string, or undefined when both are absent.
40
+ */
41
+ static combineOriginPath(origin?: string, path?: string): string | undefined;
42
+ /**
43
+ * Encode a single URL path segment per RFC 3986 §3.3.
44
+ * Unlike encodeURIComponent, sub-delimiters ($ & + , ; =) and the colon and
45
+ * at-sign characters that are valid unencoded in path segments are preserved.
46
+ * @see https://datatracker.ietf.org/doc/html/rfc3986#section-3.3
47
+ * @param segment The raw path segment value to encode.
48
+ * @returns The percent-encoded path segment.
49
+ */
50
+ static encodeUriPathSegment(segment: string): string;
51
+ /**
52
+ * Replace the origin in the url.
53
+ * @param url The url to replace the origin in.
54
+ * @param newOrigin The new origin to use.
55
+ * @returns The url with the replaced origin.
56
+ */
57
+ static replaceOrigin(url: string, newOrigin?: string): string;
58
+ /**
59
+ * Add a query string parameter to the url.
60
+ * @param url The url to add the query string parameter to.
61
+ * @param key The key of the query string parameter.
62
+ * @param value The value of the query string parameter.
63
+ * @returns The url with the added query string parameter.
64
+ */
65
+ static addQueryStringParam(url: string, key: string, value: string): string;
66
+ /**
67
+ * Get a query string parameter from the url.
68
+ * @param url The url to get the query string parameter from.
69
+ * @param key The key of the query string parameter.
70
+ * @returns The value of the query string parameter.
71
+ */
72
+ static getQueryStringParam(url: string, key: string): string | undefined;
73
+ }
@@ -0,0 +1,77 @@
1
+ export * from "./errors/forbiddenError.js";
2
+ export * from "./errors/tooManyRequestsError.js";
3
+ export * from "./factories/mimeTypeProcessorFactory.js";
4
+ export * from "./factories/restClientProcessorFactory.js";
5
+ export * from "./factories/restRouteProcessorFactory.js";
6
+ export * from "./factories/socketRouteProcessorFactory.js";
7
+ export * from "./helpers/httpErrorHelper.js";
8
+ export * from "./helpers/httpHeaderHelper.js";
9
+ export * from "./helpers/httpParameterHelper.js";
10
+ export * from "./helpers/httpUrlHelper.js";
11
+ export * from "./models/api/IServerFavIconResponse.js";
12
+ export * from "./models/api/IServerHealthResponse.js";
13
+ export * from "./models/api/IServerInfoResponse.js";
14
+ export * from "./models/api/IServerLivezResponse.js";
15
+ export * from "./models/api/IServerReadyzResponse.js";
16
+ export * from "./models/api/IServerRootResponse.js";
17
+ export * from "./models/api/IServerSpecResponse.js";
18
+ export * from "./models/client/IRestClientProcessor.js";
19
+ export * from "./models/client/IRestClientProcessorContext.js";
20
+ export * from "./models/config/IBaseRestClientConfig.js";
21
+ export * from "./models/config/IBaseSocketClientConfig.js";
22
+ export * from "./models/healthCategory.js";
23
+ export * from "./models/healthStatus.js";
24
+ export * from "./models/httpContextIdKeys.js";
25
+ export * from "./models/IHealth.js";
26
+ export * from "./models/protocol/IHttpRequest.js";
27
+ export * from "./models/protocol/IHttpRequestContext.js";
28
+ export * from "./models/protocol/IHttpRequestPathParams.js";
29
+ export * from "./models/protocol/IHttpRequestQuery.js";
30
+ export * from "./models/protocol/IHttpResponse.js";
31
+ export * from "./models/protocol/IHttpServerRequest.js";
32
+ export * from "./models/protocol/ISocketRequestContext.js";
33
+ export * from "./models/protocol/ISocketServerRequest.js";
34
+ export * from "./models/requests/INoContentRequest.js";
35
+ export * from "./models/responses/errors/IBadRequestResponse.js";
36
+ export * from "./models/responses/errors/IConflictResponse.js";
37
+ export * from "./models/responses/errors/IForbiddenResponse.js";
38
+ export * from "./models/responses/errors/IInternalServerErrorResponse.js";
39
+ export * from "./models/responses/errors/INotFoundResponse.js";
40
+ export * from "./models/responses/errors/INotImplementedResponse.js";
41
+ export * from "./models/responses/errors/ITooManyRequestsResponse.js";
42
+ export * from "./models/responses/errors/IUnauthorizedResponse.js";
43
+ export * from "./models/responses/errors/IUnprocessableEntityResponse.js";
44
+ export * from "./models/responses/success/IAcceptedResponse.js";
45
+ export * from "./models/responses/success/ICreatedResponse.js";
46
+ export * from "./models/responses/success/INoContentResponse.js";
47
+ export * from "./models/responses/success/IOkResponse.js";
48
+ export * from "./models/routes/httpBodyLimit.js";
49
+ export * from "./models/routes/IBaseRoute.js";
50
+ export * from "./models/routes/IBaseRouteEntryPoint.js";
51
+ export * from "./models/routes/IRestRoute.js";
52
+ export * from "./models/routes/IRestRouteEntryPoint.js";
53
+ export * from "./models/routes/IRestRouteExample.js";
54
+ export * from "./models/routes/IRestRouteRequestExample.js";
55
+ export * from "./models/routes/IRestRouteResponseAttachmentOptions.js";
56
+ export * from "./models/routes/IRestRouteResponseExample.js";
57
+ export * from "./models/routes/IRestRouteResponseOptions.js";
58
+ export * from "./models/routes/IRouteAuthorization.js";
59
+ export * from "./models/routes/ISocketRoute.js";
60
+ export * from "./models/routes/ISocketRouteEntryPoint.js";
61
+ export * from "./models/routes/ITag.js";
62
+ export * from "./models/server/IBaseRouteProcessor.js";
63
+ export * from "./models/server/IMimeTypeProcessor.js";
64
+ export * from "./models/server/IRestRouteProcessor.js";
65
+ export * from "./models/server/ISocketRouteProcessor.js";
66
+ export * from "./models/server/IWebServer.js";
67
+ export * from "./models/server/IWebServerOptions.js";
68
+ export * from "./models/services/IHealthApplicationCallback.js";
69
+ export * from "./models/services/IHealthComponent.js";
70
+ export * from "./models/services/IHealthProviderComponent.js";
71
+ export * from "./models/services/IInformationComponent.js";
72
+ export * from "./models/services/IPlatformComponent.js";
73
+ export * from "./models/services/IServerInfo.js";
74
+ export * from "./models/services/ITenant.js";
75
+ export * from "./models/services/ITenantAdminComponent.js";
76
+ export * from "./models/services/tenantEventCallback.js";
77
+ export * from "./models/services/tenantEventType.js";
@@ -0,0 +1,42 @@
1
+ import type { IError } from "@3sixty/core";
2
+ import type { HealthCategory } from "./healthCategory.js";
3
+ import type { HealthStatus } from "./healthStatus.js";
4
+ /**
5
+ * Provides health information for a component.
6
+ */
7
+ export interface IHealth {
8
+ /**
9
+ * The source of the health information.
10
+ */
11
+ source: string;
12
+ /**
13
+ * The description of the component as an i18n key.
14
+ */
15
+ description?: string;
16
+ /**
17
+ * The category of the health check.
18
+ */
19
+ category?: HealthCategory;
20
+ /**
21
+ * The overall status of the component, the entries can also report their own health.
22
+ */
23
+ status: HealthStatus;
24
+ /**
25
+ * The error details when the status is not Ok.
26
+ */
27
+ error?: IError;
28
+ /**
29
+ * The message for the status if there are further details to provide as an i18n key.
30
+ */
31
+ message?: string;
32
+ /**
33
+ * Data to substitute in the i18n key for the message.
34
+ */
35
+ data?: {
36
+ [id: string]: unknown;
37
+ };
38
+ /**
39
+ * The grouped child components, if any.
40
+ */
41
+ grouped?: IHealth[];
42
+ }
@@ -0,0 +1,23 @@
1
+ import type { HeaderTypes, HttpStatusCode } from "@3sixty/web";
2
+ /**
3
+ * The favicon for the server.
4
+ */
5
+ export interface IServerFavIconResponse {
6
+ /**
7
+ * Additional response headers.
8
+ */
9
+ headers?: {
10
+ /**
11
+ * The content type for the response.
12
+ */
13
+ [HeaderTypes.ContentType]?: string;
14
+ };
15
+ /**
16
+ * Response status code.
17
+ */
18
+ statusCode?: HttpStatusCode;
19
+ /**
20
+ * The favicon for the server.
21
+ */
22
+ body?: Uint8Array;
23
+ }
@@ -0,0 +1,14 @@
1
+ import type { HealthStatus } from "../healthStatus.js";
2
+ import type { IHealth } from "../IHealth.js";
3
+ /**
4
+ * The health of the server.
5
+ */
6
+ export interface IServerHealthResponse {
7
+ /**
8
+ * The health for the server.
9
+ */
10
+ body: {
11
+ status: HealthStatus;
12
+ components: IHealth[];
13
+ };
14
+ }
@@ -0,0 +1,10 @@
1
+ import type { IServerInfo } from "../services/IServerInfo.js";
2
+ /**
3
+ * The information about the server.
4
+ */
5
+ export interface IServerInfoResponse {
6
+ /**
7
+ * The information for the server.
8
+ */
9
+ body: IServerInfo;
10
+ }
@@ -0,0 +1,16 @@
1
+ import type { HeaderTypes, MimeTypes } from "@3sixty/web";
2
+ /**
3
+ * The livez of the server.
4
+ */
5
+ export interface IServerLivezResponse {
6
+ /**
7
+ * The headers for the response.
8
+ */
9
+ headers: {
10
+ [HeaderTypes.ContentType]: typeof MimeTypes.PlainText;
11
+ };
12
+ /**
13
+ * The livez information for the server.
14
+ */
15
+ body: "alive" | "dead";
16
+ }
@@ -0,0 +1,16 @@
1
+ import type { HeaderTypes, MimeTypes } from "@3sixty/web";
2
+ /**
3
+ * The readyz of the server.
4
+ */
5
+ export interface IServerReadyzResponse {
6
+ /**
7
+ * The headers for the response.
8
+ */
9
+ headers: {
10
+ [HeaderTypes.ContentType]: typeof MimeTypes.PlainText;
11
+ };
12
+ /**
13
+ * The readyz information for the server.
14
+ */
15
+ body: "ready" | "not ready";
16
+ }
@@ -0,0 +1,16 @@
1
+ import type { HeaderTypes, MimeTypes } from "@3sixty/web";
2
+ /**
3
+ * The root text for the server.
4
+ */
5
+ export interface IServerRootResponse {
6
+ /**
7
+ * The headers for the response.
8
+ */
9
+ headers: {
10
+ [HeaderTypes.ContentType]: typeof MimeTypes.PlainText;
11
+ };
12
+ /**
13
+ * The root text for the server.
14
+ */
15
+ body: string;
16
+ }
@@ -0,0 +1,14 @@
1
+ import type { HttpStatusCode } from "@3sixty/web";
2
+ /**
3
+ * The OpenAPI spec for the endpoints.
4
+ */
5
+ export interface IServerSpecResponse {
6
+ /**
7
+ * Response status code.
8
+ */
9
+ statusCode?: HttpStatusCode;
10
+ /**
11
+ * The spec for the server.
12
+ */
13
+ body?: unknown;
14
+ }
@@ -0,0 +1,22 @@
1
+ import type { IComponent } from "@3sixty/core";
2
+ import type { IRestClientProcessorContext } from "./IRestClientProcessorContext.js";
3
+ /**
4
+ * A processor that participates in an outbound REST request.
5
+ */
6
+ export interface IRestClientProcessor extends IComponent {
7
+ /**
8
+ * Run the processor before the fetch takes place.
9
+ * @param context The details of the request being made.
10
+ * @param next Performs the request, or calls the next processor in the chain.
11
+ * @returns The result of next.
12
+ */
13
+ pre?(context: IRestClientProcessorContext, next: () => Promise<Response>): Promise<Response>;
14
+ /**
15
+ * Run the processor after the fetch completes.
16
+ * @param context The details of the request that was made.
17
+ * @param response The response from the request.
18
+ * @param next Performs the post processing, or calls the next processor in the chain.
19
+ * @returns The result of next.
20
+ */
21
+ post?(context: IRestClientProcessorContext, response: Response, next: () => Promise<Response>): Promise<Response>;
22
+ }
@@ -0,0 +1,42 @@
1
+ import type { HttpMethod, IHttpHeaders } from "@3sixty/web";
2
+ /**
3
+ * The context of a rest client processor.
4
+ */
5
+ export interface IRestClientProcessorContext {
6
+ /**
7
+ * The name of the REST client making the request.
8
+ */
9
+ restClientClassName: string;
10
+ /**
11
+ * The base URL of the request.
12
+ */
13
+ baseUrl: string;
14
+ /**
15
+ * The route template before path parameter substitution.
16
+ */
17
+ routeTemplate: string;
18
+ /**
19
+ * The route being requested.
20
+ */
21
+ route: string;
22
+ /**
23
+ * The HTTP method of the request.
24
+ */
25
+ method: HttpMethod;
26
+ /**
27
+ * The headers being sent with the request.
28
+ */
29
+ headers: IHttpHeaders;
30
+ /**
31
+ * The timeout for the request in milliseconds.
32
+ */
33
+ timeout?: number;
34
+ /**
35
+ * Whether to include credentials in the request.
36
+ */
37
+ includeCredentials?: boolean;
38
+ /**
39
+ * The request being made.
40
+ */
41
+ body?: string;
42
+ }
@@ -0,0 +1,46 @@
1
+ import type { IError } from "@3sixty/core";
2
+ import type { IHttpHeaders } from "@3sixty/web";
3
+ /**
4
+ * Definition for the configuration of a rest client.
5
+ */
6
+ export interface IBaseRestClientConfig {
7
+ /**
8
+ * The endpoint where the api is hosted.
9
+ */
10
+ endpoint: string;
11
+ /**
12
+ * The prefix to the routes.
13
+ */
14
+ pathPrefix?: string;
15
+ /**
16
+ * The headers to include in requests.
17
+ */
18
+ headers?: IHttpHeaders;
19
+ /**
20
+ * Timeout for requests in ms.
21
+ */
22
+ timeout?: number;
23
+ /**
24
+ * Include credentials in the request, defaults to true.
25
+ */
26
+ includeCredentials?: boolean;
27
+ /**
28
+ * The types of the processors to run around each request, resolved from the `RestClientProcessorFactory`.
29
+ */
30
+ processorTypes?: string[];
31
+ /**
32
+ * Hook to provide headers asynchronously.
33
+ * @returns A promise that resolves to the headers.
34
+ */
35
+ customHeaders?: () => Promise<IHttpHeaders>;
36
+ /**
37
+ * Hook to provide an authorization header value asynchronously.
38
+ * @returns A promise that resolves to the authorization header value.
39
+ */
40
+ customAuthHeader?: () => Promise<string>;
41
+ /**
42
+ * Hook to handle authorization failures asynchronously.
43
+ * @returns A promise that resolves when the auth failure handling is complete.
44
+ */
45
+ onAuthFailure?: (err: IError) => Promise<void>;
46
+ }
@@ -0,0 +1,22 @@
1
+ import type { IHttpHeaders } from "@3sixty/web";
2
+ /**
3
+ * Definition for the configuration of a socket service.
4
+ */
5
+ export interface IBaseSocketClientConfig {
6
+ /**
7
+ * Base path for the socket service, defaults to /socket.
8
+ */
9
+ basePath?: string;
10
+ /**
11
+ * The endpoint where the api is hosted.
12
+ */
13
+ endpoint: string;
14
+ /**
15
+ * The prefix to the routes.
16
+ */
17
+ pathPrefix?: string;
18
+ /**
19
+ * The headers to include in requests.
20
+ */
21
+ headers?: IHttpHeaders;
22
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The category of a health check.
3
+ */
4
+ export declare const HealthCategory: {
5
+ /**
6
+ * Connectivity health check for infrastructure connectors.
7
+ */
8
+ readonly Connectivity: "connectivity";
9
+ /**
10
+ * Application health check for domain services.
11
+ */
12
+ readonly Application: "application";
13
+ };
14
+ /**
15
+ * The category of a health check.
16
+ */
17
+ export type HealthCategory = (typeof HealthCategory)[keyof typeof HealthCategory];
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The health status of the component.
3
+ */
4
+ export declare const HealthStatus: {
5
+ /**
6
+ * OK.
7
+ */
8
+ readonly Ok: "ok";
9
+ /**
10
+ * Warning.
11
+ */
12
+ readonly Warning: "warning";
13
+ /**
14
+ * Error.
15
+ */
16
+ readonly Error: "error";
17
+ };
18
+ /**
19
+ * The health status of the component.
20
+ */
21
+ export type HealthStatus = (typeof HealthStatus)[keyof typeof HealthStatus];
@@ -0,0 +1,38 @@
1
+ /**
2
+ * HTTP definition of some context keys.
3
+ */
4
+ export declare const HttpContextIdKeys: {
5
+ /**
6
+ * IP address of the client.
7
+ */
8
+ readonly IpAddress: "ipAddress";
9
+ /**
10
+ * User agent of the client.
11
+ */
12
+ readonly UserAgent: "userAgent";
13
+ /**
14
+ * Correlation ID of the request.
15
+ */
16
+ readonly CorrelationId: "correlationId";
17
+ /**
18
+ * Is this a remote request, will be a random UUID if request arrived through a REST endpoint, otherwise undefined.
19
+ */
20
+ readonly RemoteRequest: "remoteRequest";
21
+ /**
22
+ * Public Origin of the request.
23
+ */
24
+ readonly PublicOrigin: "publicOrigin";
25
+ /**
26
+ * Local Origin of the request.
27
+ */
28
+ readonly LocalOrigin: "localOrigin";
29
+ /**
30
+ * The caller's original tenant ID before an escalated privilege tenant override was applied.
31
+ * Only present when overrideTenant substitution is active for the current request.
32
+ */
33
+ readonly OriginalTenant: "originalTenant";
34
+ };
35
+ /**
36
+ * HTTP definition of some context keys.
37
+ */
38
+ export type HttpContextIdKeys = (typeof HttpContextIdKeys)[keyof typeof HttpContextIdKeys];
@@ -0,0 +1,24 @@
1
+ import type { IHttpHeaders } from "@3sixty/web";
2
+ import type { IHttpRequestPathParams } from "./IHttpRequestPathParams.js";
3
+ import type { IHttpRequestQuery } from "./IHttpRequestQuery.js";
4
+ /**
5
+ * Model for the standard parameters for an http request.
6
+ */
7
+ export interface IHttpRequest<T = any> {
8
+ /**
9
+ * Incoming Http Headers.
10
+ */
11
+ headers?: IHttpHeaders;
12
+ /**
13
+ * The path parameters.
14
+ */
15
+ pathParams?: IHttpRequestPathParams;
16
+ /**
17
+ * The query parameters.
18
+ */
19
+ query?: IHttpRequestQuery;
20
+ /**
21
+ * Data to return send as the body.
22
+ */
23
+ body?: T;
24
+ }
@@ -0,0 +1,20 @@
1
+ import type { IHttpServerRequest } from "./IHttpServerRequest.js";
2
+ /**
3
+ * Context data from the HTTP request.
4
+ */
5
+ export interface IHttpRequestContext {
6
+ /**
7
+ * The raw HTTP request.
8
+ */
9
+ serverRequest: IHttpServerRequest;
10
+ /**
11
+ * The state handed through the processors.
12
+ */
13
+ processorState: {
14
+ [id: string]: unknown;
15
+ };
16
+ /**
17
+ * Logging component type for the request.
18
+ */
19
+ loggingComponentType?: string;
20
+ }