http-request-manager 18.15.34 → 18.16.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 (300) hide show
  1. package/fesm2022/http-request-manager.mjs +13688 -0
  2. package/fesm2022/http-request-manager.mjs.map +1 -0
  3. package/http-request-manager-18.16.0.tgz +0 -0
  4. package/package.json +15 -6
  5. package/types/http-request-manager.d.ts +3968 -0
  6. package/TEST_COVERAGE_SUMMARY.md +0 -458
  7. package/ng-package.json +0 -8
  8. package/src/docs/ADVANCED_WEBSOCKET.md +0 -633
  9. package/src/docs/ARCHITECTURE.md +0 -633
  10. package/src/docs/BATCH_REQUEST_README.md +0 -467
  11. package/src/docs/COMPLETE_API_REFERENCE.md +0 -1037
  12. package/src/docs/DATABASE_README.md +0 -1195
  13. package/src/docs/ENCRYPTION_README.md +0 -403
  14. package/src/docs/HTTP_MANAGER_README.md +0 -628
  15. package/src/docs/HTTP_SINGNALS_MANAGER_README.md +0 -654
  16. package/src/docs/HTTP_STATE_MANAGER_README.md +0 -1391
  17. package/src/docs/INTERCEPTOR_README.md +0 -549
  18. package/src/docs/LOCAL_STORAGE_README.md +0 -1056
  19. package/src/docs/LOCAL_STORAGE_SIGNALS_README.md +0 -338
  20. package/src/docs/LOGGER_README.md +0 -310
  21. package/src/docs/MESSAGE_TRACKER_README.md +0 -518
  22. package/src/docs/MESSAGE_TRACKER_SIGNALS_README.md +0 -563
  23. package/src/docs/MODELS_README.md +0 -1264
  24. package/src/docs/SIGNAL_SERVICES_README.md +0 -238
  25. package/src/docs/SQL_DIXIE_README.md +0 -574
  26. package/src/docs/STORE_STATE_MANAGER_README.md +0 -556
  27. package/src/docs/STORE_STATE_SIGNALS_README.md +0 -600
  28. package/src/docs/UPLOAD_REQUEST_README.md +0 -324
  29. package/src/docs/UTILS_README.md +0 -1604
  30. package/src/docs/WEBSOCKET_MESSAGE_SERVICE.md +0 -799
  31. package/src/docs/WEBSOCKET_SIGNALS_README.md +0 -641
  32. package/src/docs/WEBSOCKET_SINGLETON_REFACTORING.md +0 -201
  33. package/src/docs/WS_MANAGER_README.md +0 -613
  34. package/src/lib/http-request-manager.module.ts +0 -147
  35. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -116
  36. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
  37. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -255
  38. package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -123
  39. package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
  40. package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -53
  41. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
  42. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
  43. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -208
  44. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.html +0 -200
  45. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.scss +0 -17
  46. package/src/lib/http-request-services-demo/local-storage-signals-demo/local-storage-signals-demo.component.ts +0 -214
  47. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.html +0 -53
  48. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.scss +0 -60
  49. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/download-file/download-file.component.ts +0 -72
  50. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-download.module.ts +0 -28
  51. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.html +0 -10
  52. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.scss +0 -29
  53. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/file-downloader.component.ts +0 -100
  54. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/models/download-labels-model.ts +0 -22
  55. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.html +0 -8
  56. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.scss +0 -19
  57. package/src/lib/http-request-services-demo/request-manager-basic-demo/file-downloader/spinner/spinner.component.ts +0 -26
  58. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app-session.model.ts +0 -30
  59. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/app.model.ts +0 -19
  60. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/get-sample.model.ts +0 -25
  61. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-ai-prompt.ts +0 -19
  62. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-details.ts +0 -24
  63. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client-info.ts +0 -30
  64. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-client.model.ts +0 -49
  65. package/src/lib/http-request-services-demo/request-manager-basic-demo/models/sample-mapper-client-info.ts +0 -33
  66. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.html +0 -279
  67. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.scss +0 -24
  68. package/src/lib/http-request-services-demo/request-manager-basic-demo/request-manager-basic-demo.component.ts +0 -461
  69. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  70. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  71. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  72. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
  73. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
  74. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  75. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  76. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  77. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  78. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  79. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  80. package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
  81. package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
  82. package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
  83. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
  84. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
  85. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
  86. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
  87. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
  88. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -622
  89. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -106
  90. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -687
  91. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -418
  92. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
  93. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -576
  94. package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -89
  95. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/services/state-data-request.service.ts +0 -119
  96. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.css +0 -0
  97. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.html +0 -3
  98. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-ai-messaging/ws-ai-messaging.component.ts +0 -16
  99. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.css +0 -0
  100. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.html +0 -3
  101. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-chats/ws-chats.component.ts +0 -16
  102. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.css +0 -31
  103. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.html +0 -94
  104. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.scss +0 -41
  105. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.spec.ts +0 -203
  106. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-data-control/ws-data-control.component.ts +0 -144
  107. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.css +0 -11
  108. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.html +0 -102
  109. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.spec.ts +0 -40
  110. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-messaging/ws-messaging.component.ts +0 -230
  111. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.css +0 -30
  112. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.html +0 -172
  113. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.spec.ts +0 -31
  114. package/src/lib/http-request-services-demo/request-manager-ws-demo/components/ws-notifications/ws-notifications.component.ts +0 -239
  115. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/oidc-client.model.ts +0 -31
  116. package/src/lib/http-request-services-demo/request-manager-ws-demo/models/user-data.model.ts +0 -32
  117. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.css +0 -0
  118. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.html +0 -84
  119. package/src/lib/http-request-services-demo/request-manager-ws-demo/request-manager-ws-demo.component.ts +0 -40
  120. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/index.ts +0 -3
  121. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/jwt-token.service.ts +0 -62
  122. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/message-service-demo.service.ts +0 -83
  123. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/notification-service-demo.service.ts +0 -147
  124. package/src/lib/http-request-services-demo/request-manager-ws-demo/services/state-service-demo.service.ts +0 -168
  125. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.html +0 -53
  126. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  127. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/download-file/download-file.component.ts +0 -72
  128. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-download.module.ts +0 -28
  129. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.html +0 -10
  130. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  131. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/file-downloader.component.ts +0 -100
  132. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  133. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  134. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  135. package/src/lib/http-request-services-demo/request-signals-manager-demo/file-downloader/spinner/spinner.component.ts +0 -26
  136. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app-session.model.ts +0 -30
  137. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/app.model.ts +0 -19
  138. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/get-sample.model.ts +0 -25
  139. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-ai-prompt.ts +0 -19
  140. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-details.ts +0 -24
  141. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client-info.ts +0 -30
  142. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-client.model.ts +0 -49
  143. package/src/lib/http-request-services-demo/request-signals-manager-demo/models/sample-mapper-client-info.ts +0 -33
  144. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.html +0 -380
  145. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.scss +0 -24
  146. package/src/lib/http-request-services-demo/request-signals-manager-demo/request-signals-manager-demo.component.ts +0 -410
  147. package/src/lib/http-request-services-demo/store-state-manager-demo/models/settings.model.ts +0 -28
  148. package/src/lib/http-request-services-demo/store-state-manager-demo/services/settings-state.service.ts +0 -49
  149. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.css +0 -0
  150. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.html +0 -23
  151. package/src/lib/http-request-services-demo/store-state-manager-demo/store-state-manager-demo.component.ts +0 -36
  152. package/src/lib/http-request-services-demo/store-state-signals-demo/store-state-signals-demo.component.ts +0 -161
  153. package/src/lib/http-request-services-demo/upload-demo/models/index.ts +0 -1
  154. package/src/lib/http-request-services-demo/upload-demo/models/upload-state.model.ts +0 -30
  155. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.html +0 -89
  156. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.scss +0 -160
  157. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.spec.ts +0 -101
  158. package/src/lib/http-request-services-demo/upload-demo/upload-demo.component.ts +0 -136
  159. package/src/lib/index.ts +0 -3
  160. package/src/lib/interceptors/credentials.interceptor.ts +0 -16
  161. package/src/lib/interceptors/index.ts +0 -6
  162. package/src/lib/interceptors/models/error-settings.model.ts +0 -22
  163. package/src/lib/interceptors/models/index.ts +0 -2
  164. package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
  165. package/src/lib/interceptors/request-error.interceptor.ts +0 -65
  166. package/src/lib/interceptors/request-header.interceptor.ts +0 -56
  167. package/src/lib/message-display/README.md +0 -509
  168. package/src/lib/message-display/index.ts +0 -4
  169. package/src/lib/message-display/models/action.model.ts +0 -27
  170. package/src/lib/message-display/models/communication-message.model.ts +0 -77
  171. package/src/lib/message-display/models/display-config.model.ts +0 -35
  172. package/src/lib/message-display/models/display-rule.interface.ts +0 -28
  173. package/src/lib/message-display/models/display-strategy.interface.ts +0 -8
  174. package/src/lib/message-display/models/index.ts +0 -6
  175. package/src/lib/message-display/models/slide.model.ts +0 -24
  176. package/src/lib/message-display/rules/default-display-rules.ts +0 -35
  177. package/src/lib/message-display/services/message-display-router.service.ts +0 -63
  178. package/src/lib/message-display/strategies/snackbar.strategy.ts +0 -46
  179. package/src/lib/models/batch-options.model.ts +0 -33
  180. package/src/lib/models/batch-progress.model.ts +0 -19
  181. package/src/lib/models/batch-request-state.model.ts +0 -40
  182. package/src/lib/models/batch-result.model.ts +0 -30
  183. package/src/lib/models/config-http-options.model.ts +0 -45
  184. package/src/lib/models/config-local-storage-options.model.ts +0 -27
  185. package/src/lib/models/config-options.model.ts +0 -27
  186. package/src/lib/models/config-token.model.ts +0 -9
  187. package/src/lib/models/data-type.enum.ts +0 -5
  188. package/src/lib/models/database-storage.model.ts +0 -24
  189. package/src/lib/models/index.ts +0 -16
  190. package/src/lib/models/retry-options.model.ts +0 -22
  191. package/src/lib/models/upload-validation-error.model.ts +0 -46
  192. package/src/lib/services/SQL-DixieJS service/dexie-query-executor.ts +0 -246
  193. package/src/lib/services/SQL-DixieJS service/dexie-sql.service.ts +0 -31
  194. package/src/lib/services/SQL-DixieJS service/index.ts +0 -4
  195. package/src/lib/services/SQL-DixieJS service/models/execution-plan.model.ts +0 -52
  196. package/src/lib/services/SQL-DixieJS service/models/index.ts +0 -3
  197. package/src/lib/services/SQL-DixieJS service/models/sql-errors.model.ts +0 -13
  198. package/src/lib/services/SQL-DixieJS service/models/sql-options.model.ts +0 -3
  199. package/src/lib/services/SQL-DixieJS service/query-planner.ts +0 -284
  200. package/src/lib/services/SQL-DixieJS service/schema-validator.ts +0 -217
  201. package/src/lib/services/SQL-DixieJS service/sql-parser.ts +0 -35
  202. package/src/lib/services/database-manager-service/database.manager.service.ts +0 -384
  203. package/src/lib/services/database-manager-service/db.storage.service.ts +0 -240
  204. package/src/lib/services/database-manager-service/index.ts +0 -4
  205. package/src/lib/services/database-manager-service/models/index.ts +0 -2
  206. package/src/lib/services/database-manager-service/models/table-schema.ts +0 -33
  207. package/src/lib/services/index.ts +0 -20
  208. package/src/lib/services/local-storage-manager-service/index.ts +0 -4
  209. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
  210. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -567
  211. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.spec.ts +0 -67
  212. package/src/lib/services/local-storage-manager-service/local-storage-signals-manager.service.ts +0 -437
  213. package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
  214. package/src/lib/services/local-storage-manager-service/models/index.ts +0 -6
  215. package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -35
  216. package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
  217. package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -32
  218. package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
  219. package/src/lib/services/request-manager-services/README.md +0 -282
  220. package/src/lib/services/request-manager-services/http-manager-signals.service.ts +0 -674
  221. package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -353
  222. package/src/lib/services/request-manager-services/http-manager.service.ts +0 -727
  223. package/src/lib/services/request-manager-services/index.ts +0 -8
  224. package/src/lib/services/request-manager-services/request-signals.service.ts +0 -372
  225. package/src/lib/services/request-manager-services/request.service.ts +0 -435
  226. package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
  227. package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
  228. package/src/lib/services/request-manager-services/rxjs-operators/index.ts +0 -4
  229. package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -35
  230. package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -468
  231. package/src/lib/services/request-manager-state-service/http-manager-state.store.spec.ts +0 -665
  232. package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -2395
  233. package/src/lib/services/request-manager-state-service/index.ts +0 -3
  234. package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -86
  235. package/src/lib/services/request-manager-state-service/models/index.ts +0 -14
  236. package/src/lib/services/request-manager-state-service/models/operation-result.model.ts +0 -18
  237. package/src/lib/services/request-manager-state-service/models/parsing-result.model.ts +0 -21
  238. package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -37
  239. package/src/lib/services/request-manager-state-service/models/stream-config.model.ts +0 -20
  240. package/src/lib/services/request-manager-state-service/models/stream-event-metadata.model.ts +0 -23
  241. package/src/lib/services/request-manager-state-service/models/stream-event.model.ts +0 -23
  242. package/src/lib/services/request-manager-state-service/models/stream-output.model.ts +0 -23
  243. package/src/lib/services/request-manager-state-service/models/stream-progress.model.ts +0 -24
  244. package/src/lib/services/request-manager-state-service/models/stream-type.enum.ts +0 -13
  245. package/src/lib/services/request-manager-state-service/models/ws-options.model.ts +0 -42
  246. package/src/lib/services/store-state-manager-service/index.ts +0 -4
  247. package/src/lib/services/store-state-manager-service/models/index.ts +0 -3
  248. package/src/lib/services/store-state-manager-service/models/state-operation-result.model.ts +0 -30
  249. package/src/lib/services/store-state-manager-service/models/state-storage-options.model.ts +0 -24
  250. package/src/lib/services/store-state-manager-service/store-state-manager-signals.service.ts +0 -169
  251. package/src/lib/services/store-state-manager-service/store-state-manager.service.ts +0 -153
  252. package/src/lib/services/utils/app.service.spec.ts +0 -25
  253. package/src/lib/services/utils/app.service.ts +0 -21
  254. package/src/lib/services/utils/encryption/README.md +0 -79
  255. package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
  256. package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
  257. package/src/lib/services/utils/encryption/index.ts +0 -5
  258. package/src/lib/services/utils/encryption/random.ts +0 -81
  259. package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -106
  260. package/src/lib/services/utils/headers.service.spec.ts +0 -80
  261. package/src/lib/services/utils/headers.service.ts +0 -18
  262. package/src/lib/services/utils/index.ts +0 -9
  263. package/src/lib/services/utils/logger.service.ts +0 -90
  264. package/src/lib/services/utils/models/index.ts +0 -4
  265. package/src/lib/services/utils/models/normalized-request-options.model.ts +0 -24
  266. package/src/lib/services/utils/models/path-tracker-state.model.ts +0 -20
  267. package/src/lib/services/utils/models/query-params-tracker-options.model.ts +0 -24
  268. package/src/lib/services/utils/models/query-tracker-state.model.ts +0 -23
  269. package/src/lib/services/utils/object-merger.service.spec.ts +0 -18
  270. package/src/lib/services/utils/object-merger.service.ts +0 -78
  271. package/src/lib/services/utils/path-query.service.spec.ts +0 -117
  272. package/src/lib/services/utils/path-query.service.ts +0 -69
  273. package/src/lib/services/utils/query-params-tracker.service.ts +0 -442
  274. package/src/lib/services/utils/random-color.utils.ts +0 -83
  275. package/src/lib/services/utils/utils.service.spec.ts +0 -165
  276. package/src/lib/services/utils/utils.service.ts +0 -192
  277. package/src/lib/services/ws-manager-service/index.ts +0 -13
  278. package/src/lib/services/ws-manager-service/message-tracker-signals.service.ts +0 -147
  279. package/src/lib/services/ws-manager-service/message-tracker.service.ts +0 -477
  280. package/src/lib/services/ws-manager-service/models/channel-info.model.ts +0 -29
  281. package/src/lib/services/ws-manager-service/models/channel-message-data.model.ts +0 -24
  282. package/src/lib/services/ws-manager-service/models/channel-message.model.ts +0 -36
  283. package/src/lib/services/ws-manager-service/models/channel-type.enum.ts +0 -6
  284. package/src/lib/services/ws-manager-service/models/communication-type.enum.ts +0 -5
  285. package/src/lib/services/ws-manager-service/models/index.ts +0 -10
  286. package/src/lib/services/ws-manager-service/models/notification-message.model.ts +0 -29
  287. package/src/lib/services/ws-manager-service/models/public-message.model.ts +0 -18
  288. package/src/lib/services/ws-manager-service/models/state-message.model.ts +0 -18
  289. package/src/lib/services/ws-manager-service/models/ws-user.model.ts +0 -38
  290. package/src/lib/services/ws-manager-service/services/index.ts +0 -4
  291. package/src/lib/services/ws-manager-service/services/websocket-message.service.ts +0 -129
  292. package/src/lib/services/ws-manager-service/services/websocket.service.ts +0 -434
  293. package/src/lib/services/ws-manager-service/websocket-service/index.ts +0 -1
  294. package/src/lib/services/ws-manager-service/websocket-service/websocket-manager.service.ts +0 -716
  295. package/src/lib/services/ws-manager-service/websocket-services-complete.spec.ts +0 -596
  296. package/src/lib/services/ws-manager-service/websocket-signals-manager.service.ts +0 -141
  297. package/src/public-api.ts +0 -19
  298. package/tsconfig.lib.json +0 -34
  299. package/tsconfig.lib.prod.json +0 -10
  300. package/tsconfig.spec.json +0 -14
@@ -1,628 +0,0 @@
1
- # HTTP Manager Service
2
-
3
- The `HTTPManagerService` is the core HTTP client service that provides Observable-based request management with comprehensive features for enterprise applications.
4
-
5
- ## Overview
6
-
7
- The HTTPManagerService acts as a wrapper around Angular's HttpClient, providing a centralized way to manage HTTP requests with:
8
-
9
- - **State Management** - Exposes `data$`, `isPending$`, `error$`, and `countdown$` observables
10
- - **Polling Support** - Automatic endpoint polling with countdown timers
11
- - **Retry Logic** - Configurable retry attempts with delays
12
- - **Adapters & Mappers** - Data transformation for requests and responses
13
- - **Streaming** - Support for streaming responses (NDJSON, Server-Sent Events)
14
- - **Error Handling** - Centralized error handling with optional toast notifications
15
- - **File Downloads** - Progress tracking for file downloads
16
- - **File Uploads** - Multi-file upload with progress tracking, validation, and form-data configuration ([see Upload Request docs](./UPLOAD_REQUEST_README.md))
17
-
18
- ## Installation
19
-
20
- This service is automatically available when you import `HttpRequestManagerModule`.
21
-
22
- ```typescript
23
- import { HttpRequestManagerModule } from 'http-request-manager';
24
-
25
- @NgModule({
26
- imports: [HttpRequestManagerModule.forRoot({})]
27
- })
28
- export class AppModule { }
29
- ```
30
-
31
- ## Usage
32
-
33
- ### Basic HTTP Request
34
-
35
- ```typescript
36
- import { Component, inject } from '@angular/core';
37
- import { HTTPManagerService, ApiRequest } from 'http-request-manager';
38
-
39
- @Component({
40
- selector: 'app-users',
41
- template: `
42
- <div *ngIf="isLoading$ | async">Loading...</div>
43
- <div *ngFor="let user of data$ | async">
44
- {{ user.name }}
45
- </div>
46
- `
47
- })
48
- export class UsersComponent {
49
- httpManager = inject(HTTPManagerService);
50
-
51
- data$ = this.httpManager.data$;
52
- isLoading$ = this.httpManager.isPending$;
53
-
54
- ngOnInit() {
55
- this.httpManager.getRequest(
56
- ApiRequest.adapt({ path: ['users'] })
57
- ).subscribe();
58
- }
59
- }
60
- ```
61
-
62
- ### Service Extension Pattern
63
-
64
- ```typescript
65
- import { Injectable } from '@angular/core';
66
- import { HTTPManagerService, ApiRequest } from 'http-request-manager';
67
- import { BehaviorSubject, EMPTY } from 'rxjs';
68
- import { catchError } from 'rxjs/operators';
69
-
70
- @Injectable()
71
- export class UserService extends HTTPManagerService<any> {
72
-
73
- private errorRetry$ = new BehaviorSubject<{ func: Function, message: string } | null>(null);
74
- errorRetryMessage$ = this.errorRetry$.asObservable();
75
-
76
- private apiRequest = ApiRequest.adapt({
77
- server: 'api/users',
78
- adapter: User.adapt
79
- });
80
-
81
- private params = { type: 'ACTIVE' };
82
-
83
- fetchUsers(params = this.params) {
84
- return this.httpManagerService.getRequest(this.apiRequest, [params])
85
- .pipe(
86
- catchError((error: HttpErrorResponse) => {
87
- const func = this.fetchUsers.bind(this);
88
- const message = error.message;
89
- this.errorRetry$.next({ func, message });
90
- return EMPTY;
91
- })
92
- );
93
- }
94
- }
95
- ```
96
-
97
- ## API Reference
98
-
99
- ### ApiRequest Configuration
100
-
101
- | Option | Type | Description | Default |
102
- |--------|------|-------------|---------|
103
- | `server` | `string` | Base URL for the request | `''` |
104
- | `path` | `any[]` | Path segments to append to URL | `[]` |
105
- | `headers` | `any` | Custom headers for request | `{}` |
106
- | `adapter` | `function` | Transform incoming response data | `undefined` |
107
- | `mapper` | `function` | Transform outgoing request payload | `undefined` |
108
- | `polling` | `number` | Polling interval in seconds (0 = disabled) | `0` |
109
- | `retry` | `RetryOptions` | Retry configuration | `{ times: 0, delay: 3 }` |
110
- | `stream` | `boolean` | Enable streaming response handling | `false` |
111
- | `streamType` | `StreamType` | Streaming format: `NDJSON`, `SSE`, or `AI_STREAMING` | `AI_STREAMING` |
112
- | `displayError` | `boolean` | Show toast notification on error | `false` |
113
- | `displaySuccess` | `boolean` | Show toast notification on success | `false` |
114
- | `successMessage` | `string` | Custom success toast message | `undefined` |
115
- | `errorMessage` | `string` | Custom error toast message | `undefined` |
116
- | `saveAs` | `string` | Filename for file downloads | `undefined` |
117
- | `fileContentHeader` | `string` | Content-Disposition header for downloads | `undefined` |
118
- | `ws` | `WSOptions` | WebSocket configuration for real-time sync | `undefined` |
119
- | `env` | `string` | Environment for WebSocket channel naming | `'dev'` |
120
- | `uploadFieldName` | `string` | Form-data field name for uploads | `undefined` |
121
- | `uploadHttpMethod` | `'POST' \| 'PUT'` | HTTP method for upload requests | `undefined` |
122
- | `allowedTypes` | `string[]` | Allowed MIME types for upload validation | `[]` |
123
- | `maxFileSize` | `number` | Maximum per-file size in bytes | `undefined` |
124
- | `maxTotalSize` | `number` | Maximum total upload size in bytes | `undefined` |
125
-
126
- ### State-Only Request Tracking Options
127
-
128
- The following request options are not part of HTTPManagerService base ApiRequest options.
129
- They are handled by HTTPManagerStateService request methods (fetchRecords/fetchStream):
130
-
131
- - `ignoreQueryParams` — Query parameter keys to exclude from request-change tracking
132
- - `queryParamsExpiresIn` — Expiry duration for tracked query values (e.g., `'10s'`, `'5mn'`, `'1h'`)
133
- - `watchParams` — Specific query keys to watch for change detection (variation mode)
134
- - `watchExpiresAt` — Epoch timestamp when tracked values expire
135
- - `forceRefresh` — Bypass tracking and always make the API request
136
-
137
- Important scope:
138
-
139
- - Database enabled (DatabaseStorage configured in HTTPManagerStateService): tracking and expiry behavior are active.
140
- - Database disabled: tracking is bypassed and API calls proceed normally.
141
-
142
- If you need this behavior, use HTTPManagerStateService docs:
143
-
144
- - ./HTTP_STATE_MANAGER_README.md
145
-
146
- ### Observable Properties
147
-
148
- | Property | Type | Description |
149
- |----------|------|-------------|
150
- | `data$` | `Observable<any>` | Response data from requests |
151
- | `isPending$` | `Observable<boolean>` | Loading state indicator |
152
- | `error$` | `Observable<any>` | Error state |
153
- | `countdown$` | `Observable<number>` | Countdown for polling (if active) |
154
-
155
- ### HTTP Methods
156
-
157
- #### getRequest(options: ApiRequest, params?: any[])
158
-
159
- Make a GET request with the specified options.
160
-
161
- ```typescript
162
- this.httpManager.getRequest(
163
- ApiRequest.adapt({
164
- path: ['users', '123'],
165
- retry: { times: 3, delay: 1 }
166
- })
167
- ).subscribe();
168
- ```
169
-
170
- #### postRequest(data: T, options: ApiRequest, params?: any[])
171
-
172
- Make a POST request with data payload.
173
-
174
- ```typescript
175
- this.httpManager.postRequest(
176
- { name: 'John Doe', email: 'john@example.com' },
177
- ApiRequest.adapt({ path: ['users'] })
178
- ).subscribe();
179
- ```
180
-
181
- #### putRequest(data: T, options: ApiRequest, params?: any[])
182
-
183
- Make a PUT request with data payload.
184
-
185
- ```typescript
186
- this.httpManager.putRequest(
187
- { name: 'Jane Doe', email: 'jane@example.com' },
188
- ApiRequest.adapt({ path: ['users', '123'] })
189
- ).subscribe();
190
- ```
191
-
192
- #### deleteRequest(options: ApiRequest, params?: any[])
193
-
194
- Make a DELETE request.
195
-
196
- ```typescript
197
- this.httpManager.deleteRequest(
198
- ApiRequest.adapt({ path: ['users', '123'] })
199
- ).subscribe();
200
- ```
201
-
202
- #### downloadRequest(options: ApiRequest, params?: any[], saveAs?: string)
203
-
204
- Download a file with progress tracking.
205
-
206
- ```typescript
207
- this.httpManager.downloadRequest(
208
- ApiRequest.adapt({
209
- server: 'assets',
210
- path: ['report.pdf']
211
- }),
212
- [],
213
- 'monthly-report.pdf'
214
- ).subscribe();
215
- ```
216
-
217
- #### uploadRequest(files: File | File[], options: ApiRequest, params?: any[])
218
-
219
- Upload one or more files with progress tracking and validation. See [Upload Request docs](./UPLOAD_REQUEST_README.md) for full details.
220
-
221
- ```typescript
222
- this.httpManager.uploadRequest(
223
- selectedFiles,
224
- ApiRequest.adapt({
225
- path: ['uploader'],
226
- allowedTypes: ['image/jpeg', 'image/png'],
227
- maxFileSize: 40 * 1024 * 1024
228
- })
229
- ).subscribe();
230
- ```
231
-
232
- ## Advanced Features
233
-
234
- ### Polling
235
-
236
- Enable automatic polling of endpoints with countdown display:
237
-
238
- ```typescript
239
- this.httpManager.getRequest(
240
- ApiRequest.adapt({
241
- path: ['server-status'],
242
- polling: 10 // Poll every 10 seconds
243
- })
244
- ).subscribe();
245
-
246
- // Countdown display
247
- countdown$ = this.httpManager.countdown$; // 10, 9, 8, 7...
248
- ```
249
-
250
- ### Streaming Responses
251
-
252
- Handle streaming responses for real-time data:
253
-
254
- ```typescript
255
- // NDJSON Streaming
256
- this.httpManager.getRequest(
257
- ApiRequest.adapt({
258
- path: ['stream', 'data'],
259
- stream: true,
260
- adapter: StreamingData.adapt
261
- })
262
- ).subscribe();
263
-
264
- // AI Streaming
265
- this.httpManager.postRequest(
266
- ApiRequest.adapt({
267
- path: ['ai', 'chat'],
268
- stream: true,
269
- streamType: 'ai_streaming'
270
- }),
271
- { message: 'Hello AI' }
272
- ).subscribe();
273
- ```
274
-
275
- ### Retry Logic
276
-
277
- Configure automatic retry for failed requests:
278
-
279
- ```typescript
280
- this.httpManager.getRequest(
281
- ApiRequest.adapt({
282
- path: ['unreliable-endpoint'],
283
- retry: { times: 5, delay: 2 }, // Retry 5 times with 2s delay
284
- displayError: true // Show toast on final failure
285
- })
286
- ).subscribe();
287
- ```
288
-
289
- ### Data Adapters
290
-
291
- Transform incoming data using adapter functions:
292
-
293
- ```typescript
294
- // Define adapter
295
- export class User {
296
- constructor(
297
- public id: number = 0,
298
- public name: string = '',
299
- public email: string = ''
300
- ) {}
301
-
302
- static adapt(item: any): User {
303
- return new User(
304
- item.id,
305
- item.fullName, // Map fullName to name
306
- item.emailAddress // Map emailAddress to email
307
- );
308
- }
309
- }
310
-
311
- // Use adapter
312
- this.httpManager.getRequest(
313
- ApiRequest.adapt({
314
- path: ['users'],
315
- adapter: User.adapt
316
- })
317
- ).subscribe();
318
-
319
- // Data is automatically transformed using User.adapt
320
- data$ = this.httpManager.data$; // Observable<User[]>
321
- ```
322
-
323
- ### Data Mappers
324
-
325
- Transform outgoing data before sending to API:
326
-
327
- ```typescript
328
- // Define mapper
329
- export class UserMapper {
330
- static adapt(user: User): any {
331
- return {
332
- id: user.id,
333
- fullName: user.name, // Map name to fullName
334
- emailAddress: user.email, // Map email to emailAddress
335
- active: true
336
- };
337
- }
338
- }
339
-
340
- // Use mapper
341
- this.httpManager.postRequest(
342
- ApiRequest.adapt({
343
- path: ['users'],
344
- mapper: UserMapper.adapt
345
- }),
346
- new User(1, 'John Doe', 'john@example.com')
347
- ).subscribe();
348
- ```
349
-
350
- ## Demo Examples
351
-
352
- ### Complete HTTP Service Example
353
-
354
- ```typescript
355
- import { Component, inject } from '@angular/core';
356
- import { FormBuilder, Validators } from '@angular/forms';
357
- import { HTTPManagerService, ApiRequest } from 'http-request-manager';
358
-
359
- @Component({
360
- selector: 'app-api-client',
361
- template: `
362
- <form [formGroup]="requestForm" (ngSubmit)="makeRequest()">
363
- <input formControlName="endpoint" placeholder="API endpoint">
364
- <button type="submit">Make Request</button>
365
- </form>
366
-
367
- <div *ngIf="isLoading$ | async">Loading...</div>
368
-
369
- <div *ngIf="error$ | async as error" class="error">
370
- Error: {{ error }}
371
- </div>
372
-
373
- <pre *ngIf="data$ | async as data">
374
- {{ data | json }}
375
- </pre>
376
-
377
- <div *ngIf="countdown$ | async as countdown">
378
- Next request in: {{ countdown }}s
379
- </div>
380
- `
381
- })
382
- export class ApiClientComponent {
383
- private fb = inject(FormBuilder);
384
- private httpManager = inject(HTTPManagerService);
385
-
386
- data$ = this.httpManager.data$;
387
- isLoading$ = this.httpManager.isPending$;
388
- error$ = this.httpManager.error$;
389
- countdown$ = this.httpManager.countdown$;
390
-
391
- requestForm = this.fb.group({
392
- endpoint: ['users', Validators.required],
393
- method: ['GET', Validators.required],
394
- polling: [0],
395
- retry: this.fb.group({
396
- times: [3],
397
- delay: [2],
398
- })
399
- });
400
-
401
- makeRequest() {
402
- const formValue = this.requestForm.value;
403
-
404
- this.httpManager.getRequest(
405
- ApiRequest.adapt({
406
- path: [formValue.endpoint],
407
- polling: formValue.polling,
408
- retry: formValue.retry,
409
- displayError: true
410
- })
411
- ).subscribe();
412
- }
413
- }
414
- ```
415
-
416
- ### Error Handling with Retry
417
-
418
- ```typescript
419
- export class RobustApiService {
420
- private errorRetry$ = new BehaviorSubject<{ func: Function, message: string } | null>(null);
421
- errorRetryMessage$ = this.errorRetry$.asObservable();
422
-
423
- makeRequestWithRetry(endpoint: string) {
424
- return this.httpManager.getRequest(
425
- ApiRequest.adapt({
426
- path: [endpoint],
427
- retry: { times: 3, delay: 2 },
428
- displayError: true
429
- })
430
- ).pipe(
431
- catchError((error: HttpErrorResponse) => {
432
- this.errorRetry$.next({
433
- func: () => this.makeRequestWithRetry(endpoint),
434
- message: error.message
435
- });
436
- return EMPTY;
437
- })
438
- );
439
- }
440
-
441
- retry() {
442
- const retryAction = this.errorRetry$.value;
443
- if (retryAction) {
444
- retryAction.func();
445
- }
446
- }
447
- }
448
- ```
449
-
450
- ## Integration with Other Services
451
-
452
- The HTTPManagerService can be extended and used with other services:
453
-
454
- ### With State Management
455
-
456
- ```typescript
457
- @Injectable()
458
- export class UserStateService extends HTTPManagerStateService<User> {
459
- constructor() {
460
- super(
461
- ApiRequest.adapt({
462
- path: ['users'],
463
- adapter: User.adapt
464
- }),
465
- DataType.ARRAY
466
- );
467
- }
468
-
469
- loadUsers() {
470
- this.fetchRecords(); // Uses HTTPManagerService internally
471
- }
472
- }
473
- ```
474
-
475
- ### With WebSocket
476
-
477
- ```typescript
478
- @Injectable()
479
- export class ChatService extends HTTPManagerStateService<Message> {
480
- constructor() {
481
- super(
482
- ApiRequest.adapt({
483
- path: ['messages'],
484
- adapter: Message.adapt,
485
- ws: {
486
- id: 'CHAT_WS',
487
- wsServer: 'ws://localhost:8080'
488
- }
489
- }),
490
- DataType.ARRAY
491
- );
492
- }
493
-
494
- // HTTP + WebSocket combined
495
- sendMessage(content: string) {
496
- // HTTP POST to save message
497
- this.createRecord({ content, timestamp: Date.now() });
498
-
499
- // WebSocket broadcast
500
- this.wsMessaging(
501
- { content: { message: content } },
502
- ['chat-room']
503
- );
504
- }
505
- }
506
- ```
507
-
508
- ## Best Practices
509
-
510
- ### 1. Service Layer Pattern
511
-
512
- Always create dedicated services that extend or use HTTPManagerService:
513
-
514
- ```typescript
515
- // ✅ Good
516
- @Injectable()
517
- export class UserService {
518
- constructor(private http: HTTPManagerService) {}
519
-
520
- getUsers() {
521
- return this.http.getRequest(
522
- ApiRequest.adapt({ path: ['users'] })
523
- );
524
- }
525
- }
526
-
527
- // ❌ Avoid
528
- @Component({
529
- template: `<div *ngFor="let user of http.data$ | async">`
530
- })
531
- export class BadComponent {
532
- constructor(private http: HTTPManagerService) {}
533
- }
534
- ```
535
-
536
- ### 2. Error Handling
537
-
538
- Implement comprehensive error handling:
539
-
540
- ```typescript
541
- fetchData() {
542
- this.data$ = this.httpManager.getRequest(
543
- ApiRequest.adapt({
544
- path: ['data'],
545
- retry: { times: 3, delay: 2 },
546
- displayError: true
547
- })
548
- );
549
- }
550
- ```
551
-
552
- ### 3. Adapter Usage
553
-
554
- Use adapters for type safety:
555
-
556
- ```typescript
557
- // ✅ Good
558
- ApiRequest.adapt({
559
- path: ['users'],
560
- adapter: User.adapt // Ensures type safety
561
- });
562
-
563
- // ❌ Avoid
564
- ApiRequest.adapt({
565
- path: ['users']
566
- // No adapter = loose typing
567
- });
568
- ```
569
-
570
- ### 4. Cleanup
571
-
572
- Always clean up subscriptions:
573
-
574
- ```typescript
575
- @Component({ template: '...' })
576
- export class MyComponent implements OnDestroy {
577
- private destroy$ = new Subject<void>();
578
-
579
- ngOnInit() {
580
- this.httpManager.getRequest(
581
- ApiRequest.adapt({ path: ['data'] })
582
- ).pipe(takeUntil(this.destroy$)).subscribe();
583
- }
584
-
585
- ngOnDestroy() {
586
- this.destroy$.next();
587
- this.destroy$.complete();
588
- }
589
- }
590
- ```
591
-
592
- ## Troubleshooting
593
-
594
- ### Common Issues
595
-
596
- #### 1. CORS Errors
597
- ```typescript
598
- // Enable CORS in ApiRequest
599
- ApiRequest.adapt({
600
- server: 'https://api.example.com',
601
- headers: { 'Access-Control-Allow-Origin': '*' }
602
- });
603
- ```
604
-
605
- #### 2. Authentication Headers
606
- ```typescript
607
- // Add auth headers
608
- ApiRequest.adapt({
609
- headers: {
610
- 'Authorization': `Bearer ${this.authToken}`,
611
- 'Content-Type': 'application/json'
612
- }
613
- });
614
- ```
615
-
616
- #### 3. Polling Not Stopping
617
- ```typescript
618
- ngOnDestroy() {
619
- this.httpManager.stopPolling(); // Important!
620
- }
621
- ```
622
-
623
- ## Related Documentation
624
-
625
- - [Architecture Overview](../architecture/README.md)
626
- - [HTTP State Service](http-state/README.md)
627
- - [HTTP Signals Service](http-signals/README.md)
628
- - [Demo Examples](../demos/README.md)