@nest-omni/core 4.1.3-3 → 4.1.3-30

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 (370) hide show
  1. package/audit/audit.module.d.ts +1 -0
  2. package/audit/audit.module.js +51 -2
  3. package/audit/controllers/audit.controller.d.ts +57 -1
  4. package/audit/controllers/audit.controller.js +43 -0
  5. package/audit/decorators/audit-action.decorator.d.ts +74 -0
  6. package/audit/decorators/audit-action.decorator.js +42 -0
  7. package/audit/decorators/audit-controller.decorator.d.ts +1 -1
  8. package/audit/decorators/audit-controller.decorator.js +2 -2
  9. package/audit/decorators/audit-operation.decorator.d.ts +0 -7
  10. package/audit/decorators/audit-operation.decorator.js +0 -7
  11. package/audit/decorators/entity-audit.decorator.d.ts +78 -2
  12. package/audit/decorators/entity-audit.decorator.js +145 -4
  13. package/audit/decorators/index.d.ts +2 -0
  14. package/audit/decorators/index.js +2 -0
  15. package/audit/dto/audit-action-query.dto.d.ts +13 -0
  16. package/audit/dto/audit-action-query.dto.js +77 -0
  17. package/audit/dto/index.d.ts +1 -0
  18. package/audit/dto/index.js +1 -0
  19. package/audit/entities/audit-action-summary.entity.d.ts +23 -0
  20. package/audit/entities/audit-action-summary.entity.js +101 -0
  21. package/audit/entities/entity-audit-log.entity.d.ts +7 -2
  22. package/audit/entities/entity-audit-log.entity.js +45 -9
  23. package/audit/entities/entity-transaction.entity.d.ts +8 -2
  24. package/audit/entities/entity-transaction.entity.js +39 -3
  25. package/audit/entities/index.d.ts +3 -0
  26. package/audit/entities/index.js +3 -0
  27. package/audit/entities/manual-operation-log.entity.d.ts +0 -2
  28. package/audit/entities/manual-operation-log.entity.js +8 -9
  29. package/audit/enums/audit.enums.d.ts +14 -6
  30. package/audit/enums/audit.enums.js +18 -9
  31. package/audit/examples/decorator-value-mapping.example.d.ts +70 -0
  32. package/audit/examples/decorator-value-mapping.example.js +414 -0
  33. package/audit/index.d.ts +5 -1
  34. package/audit/index.js +29 -2
  35. package/audit/interceptors/audit-action.interceptor.d.ts +39 -0
  36. package/audit/interceptors/audit-action.interceptor.js +217 -0
  37. package/audit/interceptors/audit.interceptor.d.ts +1 -0
  38. package/audit/interceptors/audit.interceptor.js +19 -11
  39. package/audit/interceptors/index.d.ts +1 -0
  40. package/audit/interceptors/index.js +1 -0
  41. package/audit/interfaces/audit.interfaces.d.ts +132 -4
  42. package/audit/services/audit-action.service.d.ts +142 -0
  43. package/audit/services/audit-action.service.js +246 -0
  44. package/audit/services/audit-context.service.d.ts +91 -0
  45. package/audit/services/audit-context.service.js +170 -0
  46. package/audit/services/entity-audit.service.d.ts +220 -9
  47. package/audit/services/entity-audit.service.js +761 -72
  48. package/audit/services/index.d.ts +3 -0
  49. package/audit/services/index.js +3 -0
  50. package/audit/services/manual-audit-log.service.d.ts +23 -23
  51. package/audit/services/manual-audit-log.service.js +34 -57
  52. package/audit/services/multi-database.service.d.ts +0 -5
  53. package/audit/services/multi-database.service.js +0 -24
  54. package/audit/services/operation-description.service.d.ts +14 -3
  55. package/audit/services/operation-description.service.js +165 -26
  56. package/audit/services/transaction-audit.service.d.ts +1 -0
  57. package/audit/services/transaction-audit.service.js +12 -9
  58. package/audit/subscribers/entity-audit.subscriber.d.ts +5 -0
  59. package/audit/subscribers/entity-audit.subscriber.js +69 -5
  60. package/cache/cache.module.d.ts +7 -8
  61. package/cache/cache.module.js +15 -13
  62. package/cache/cache.service.d.ts +6 -4
  63. package/cache/cache.service.js +24 -12
  64. package/cache/decorators/cache-put.decorator.js +5 -4
  65. package/cache/dependencies/callback.dependency.js +9 -0
  66. package/cache/dependencies/db.dependency.d.ts +43 -12
  67. package/cache/dependencies/db.dependency.js +46 -18
  68. package/cache/dependencies/tag.dependency.d.ts +31 -4
  69. package/cache/dependencies/tag.dependency.js +100 -11
  70. package/cache/entities/index.d.ts +1 -0
  71. package/cache/entities/index.js +17 -0
  72. package/cache/entities/typeorm-cache.entity.d.ts +71 -0
  73. package/cache/entities/typeorm-cache.entity.js +110 -0
  74. package/cache/index.d.ts +2 -1
  75. package/cache/index.js +19 -2
  76. package/cache/interfaces/cache-options.interface.d.ts +8 -0
  77. package/cache/providers/index.d.ts +2 -1
  78. package/cache/providers/index.js +2 -1
  79. package/cache/providers/lrucache.provider.d.ts +77 -0
  80. package/cache/providers/lrucache.provider.js +228 -0
  81. package/cache/providers/redis-cache.provider.d.ts +1 -0
  82. package/cache/providers/redis-cache.provider.js +8 -6
  83. package/cache/providers/typeorm-cache.provider.d.ts +211 -0
  84. package/cache/providers/typeorm-cache.provider.js +483 -0
  85. package/common/boilerplate.polyfill.d.ts +1 -0
  86. package/common/boilerplate.polyfill.js +18 -1
  87. package/common/helpers/validation-metadata-helper.d.ts +112 -0
  88. package/common/helpers/validation-metadata-helper.js +164 -0
  89. package/common/index.d.ts +1 -0
  90. package/common/index.js +4 -0
  91. package/decorators/examples/field-i18n.example.d.ts +294 -0
  92. package/decorators/examples/field-i18n.example.js +478 -0
  93. package/decorators/field.decorators.d.ts +95 -3
  94. package/decorators/field.decorators.js +152 -18
  95. package/decorators/transform.decorators.d.ts +0 -2
  96. package/decorators/transform.decorators.js +0 -23
  97. package/decorators/translate.decorator.d.ts +26 -0
  98. package/decorators/translate.decorator.js +26 -1
  99. package/email-log/email-log.constants.d.ts +8 -0
  100. package/email-log/email-log.constants.js +11 -0
  101. package/email-log/email-log.module.d.ts +47 -0
  102. package/email-log/email-log.module.js +140 -0
  103. package/email-log/index.d.ts +11 -0
  104. package/email-log/index.js +48 -0
  105. package/email-log/interfaces/email-log-options.interface.d.ts +61 -0
  106. package/email-log/interfaces/email-log-options.interface.js +134 -0
  107. package/email-log/interfaces/email-log-transport.interface.d.ts +20 -0
  108. package/email-log/interfaces/email-log-transport.interface.js +2 -0
  109. package/email-log/interfaces/index.d.ts +2 -0
  110. package/email-log/interfaces/index.js +18 -0
  111. package/email-log/providers/email-provider.d.ts +42 -0
  112. package/email-log/providers/email-provider.js +127 -0
  113. package/email-log/providers/index.d.ts +1 -0
  114. package/email-log/providers/index.js +17 -0
  115. package/email-log/services/email-log-alert.service.d.ts +46 -0
  116. package/email-log/services/email-log-alert.service.js +162 -0
  117. package/email-log/services/email-log-formatter.service.d.ts +78 -0
  118. package/email-log/services/email-log-formatter.service.js +442 -0
  119. package/email-log/services/email-log-logger.service.d.ts +85 -0
  120. package/email-log/services/email-log-logger.service.js +168 -0
  121. package/email-log/services/email-log-rate-limiter.service.d.ts +42 -0
  122. package/email-log/services/email-log-rate-limiter.service.js +110 -0
  123. package/email-log/services/email-log-transport.service.d.ts +80 -0
  124. package/email-log/services/email-log-transport.service.js +271 -0
  125. package/email-log/services/index.d.ts +5 -0
  126. package/email-log/services/index.js +21 -0
  127. package/email-log/transports/index.d.ts +1 -0
  128. package/email-log/transports/index.js +17 -0
  129. package/email-log/transports/pino-email.transport.d.ts +56 -0
  130. package/email-log/transports/pino-email.transport.js +188 -0
  131. package/email-log/utils/index.d.ts +2 -0
  132. package/email-log/utils/index.js +18 -0
  133. package/email-log/utils/log-level.helper.d.ts +46 -0
  134. package/email-log/utils/log-level.helper.js +74 -0
  135. package/email-log/utils/pino-transport.utils.d.ts +135 -0
  136. package/email-log/utils/pino-transport.utils.js +238 -0
  137. package/file-upload/controllers/file-access.controller.d.ts +23 -0
  138. package/file-upload/controllers/file-access.controller.js +128 -0
  139. package/file-upload/decorators/column.decorator.d.ts +151 -0
  140. package/file-upload/decorators/column.decorator.js +273 -0
  141. package/file-upload/decorators/csv-data.decorator.d.ts +30 -0
  142. package/file-upload/decorators/csv-data.decorator.js +85 -0
  143. package/file-upload/decorators/csv-import.decorator.d.ts +34 -0
  144. package/file-upload/decorators/csv-import.decorator.js +24 -0
  145. package/file-upload/decorators/examples/column-mapping.example.d.ts +76 -0
  146. package/file-upload/decorators/examples/column-mapping.example.js +122 -0
  147. package/file-upload/decorators/excel-data.decorator.d.ts +30 -0
  148. package/file-upload/decorators/excel-data.decorator.js +85 -0
  149. package/file-upload/decorators/file-upload.decorator.d.ts +83 -0
  150. package/file-upload/decorators/file-upload.decorator.js +172 -0
  151. package/file-upload/decorators/index.d.ts +5 -0
  152. package/file-upload/decorators/index.js +38 -0
  153. package/file-upload/decorators/process.decorator.d.ts +40 -0
  154. package/file-upload/decorators/process.decorator.js +52 -0
  155. package/file-upload/decorators/validate-data.decorator.d.ts +91 -0
  156. package/file-upload/decorators/validate-data.decorator.js +39 -0
  157. package/file-upload/dto/create-file.dto.d.ts +24 -0
  158. package/file-upload/dto/create-file.dto.js +112 -0
  159. package/file-upload/dto/find-files.dto.d.ts +15 -0
  160. package/file-upload/dto/find-files.dto.js +76 -0
  161. package/file-upload/dto/index.d.ts +4 -0
  162. package/file-upload/dto/index.js +20 -0
  163. package/file-upload/dto/pagination.dto.d.ts +7 -0
  164. package/file-upload/dto/pagination.dto.js +39 -0
  165. package/file-upload/dto/update-file.dto.d.ts +15 -0
  166. package/file-upload/dto/update-file.dto.js +67 -0
  167. package/file-upload/entities/file-metadata.entity.d.ts +25 -0
  168. package/file-upload/entities/file-metadata.entity.js +76 -0
  169. package/file-upload/entities/file.entity.d.ts +114 -0
  170. package/file-upload/entities/file.entity.js +350 -0
  171. package/file-upload/entities/index.d.ts +2 -0
  172. package/file-upload/entities/index.js +18 -0
  173. package/file-upload/enums/file-type.enum.d.ts +72 -0
  174. package/file-upload/enums/file-type.enum.js +212 -0
  175. package/file-upload/exceptions/file-upload.exception.d.ts +57 -0
  176. package/file-upload/exceptions/file-upload.exception.js +120 -0
  177. package/file-upload/exceptions/index.d.ts +1 -0
  178. package/file-upload/exceptions/index.js +17 -0
  179. package/file-upload/file-upload.module.d.ts +89 -0
  180. package/file-upload/file-upload.module.js +292 -0
  181. package/file-upload/index.d.ts +37 -0
  182. package/file-upload/index.js +77 -0
  183. package/file-upload/interceptors/file-upload.interceptor.d.ts +101 -0
  184. package/file-upload/interceptors/file-upload.interceptor.js +594 -0
  185. package/file-upload/interceptors/index.d.ts +1 -0
  186. package/file-upload/interceptors/index.js +17 -0
  187. package/file-upload/interfaces/custom-file-type.interface.d.ts +72 -0
  188. package/file-upload/interfaces/custom-file-type.interface.js +2 -0
  189. package/file-upload/interfaces/file-buffer.interface.d.ts +72 -0
  190. package/file-upload/interfaces/file-buffer.interface.js +2 -0
  191. package/file-upload/interfaces/file-entity.interface.d.ts +142 -0
  192. package/file-upload/interfaces/file-entity.interface.js +28 -0
  193. package/file-upload/interfaces/file-metadata.interface.d.ts +21 -0
  194. package/file-upload/interfaces/file-metadata.interface.js +2 -0
  195. package/file-upload/interfaces/file-processor.interface.d.ts +93 -0
  196. package/file-upload/interfaces/file-processor.interface.js +2 -0
  197. package/file-upload/interfaces/file-upload-options.interface.d.ts +74 -0
  198. package/file-upload/interfaces/file-upload-options.interface.js +5 -0
  199. package/file-upload/interfaces/index.d.ts +7 -0
  200. package/file-upload/interfaces/index.js +24 -0
  201. package/file-upload/interfaces/processor-options.interface.d.ts +102 -0
  202. package/file-upload/interfaces/processor-options.interface.js +2 -0
  203. package/file-upload/interfaces/storage-provider.interface.d.ts +239 -0
  204. package/file-upload/interfaces/storage-provider.interface.js +2 -0
  205. package/file-upload/interfaces/upload-options.interface.d.ts +19 -0
  206. package/file-upload/interfaces/upload-options.interface.js +2 -0
  207. package/file-upload/processors/csv.processor.d.ts +98 -0
  208. package/file-upload/processors/csv.processor.js +391 -0
  209. package/file-upload/processors/excel.processor.d.ts +130 -0
  210. package/file-upload/processors/excel.processor.js +547 -0
  211. package/file-upload/processors/image.processor.d.ts +199 -0
  212. package/file-upload/processors/image.processor.js +377 -0
  213. package/file-upload/providers/index.d.ts +2 -0
  214. package/file-upload/providers/index.js +18 -0
  215. package/file-upload/providers/local-storage.provider.d.ts +98 -0
  216. package/file-upload/providers/local-storage.provider.js +484 -0
  217. package/file-upload/providers/s3-storage.provider.d.ts +87 -0
  218. package/file-upload/providers/s3-storage.provider.js +455 -0
  219. package/file-upload/services/file-signature-validator.service.d.ts +118 -0
  220. package/file-upload/services/file-signature-validator.service.js +376 -0
  221. package/file-upload/services/file.service.d.ts +193 -0
  222. package/file-upload/services/file.service.js +638 -0
  223. package/file-upload/services/index.d.ts +4 -0
  224. package/file-upload/services/index.js +20 -0
  225. package/file-upload/services/malicious-file-detector.service.d.ts +300 -0
  226. package/file-upload/services/malicious-file-detector.service.js +1234 -0
  227. package/file-upload/services/mime-registry.service.d.ts +47 -0
  228. package/file-upload/services/mime-registry.service.js +167 -0
  229. package/file-upload/utils/checksum.util.d.ts +28 -0
  230. package/file-upload/utils/checksum.util.js +65 -0
  231. package/file-upload/utils/dynamic-import.util.d.ts +54 -0
  232. package/file-upload/utils/dynamic-import.util.js +156 -0
  233. package/file-upload/utils/filename.util.d.ts +59 -0
  234. package/file-upload/utils/filename.util.js +184 -0
  235. package/file-upload/utils/filepath.util.d.ts +70 -0
  236. package/file-upload/utils/filepath.util.js +152 -0
  237. package/file-upload/utils/index.d.ts +4 -0
  238. package/file-upload/utils/index.js +20 -0
  239. package/filters/bad-request.filter.d.ts +9 -0
  240. package/filters/bad-request.filter.js +57 -16
  241. package/http-client/config/http-client.config.d.ts +5 -0
  242. package/http-client/config/http-client.config.js +27 -14
  243. package/http-client/decorators/http-client.decorators.d.ts +7 -28
  244. package/http-client/decorators/http-client.decorators.js +124 -99
  245. package/http-client/entities/http-log.entity.d.ts +0 -20
  246. package/http-client/entities/http-log.entity.js +1 -21
  247. package/http-client/examples/advanced-usage.example.d.ts +4 -5
  248. package/http-client/examples/advanced-usage.example.js +7 -59
  249. package/http-client/examples/axios-config-extended.example.d.ts +17 -0
  250. package/http-client/examples/axios-config-extended.example.js +311 -0
  251. package/http-client/examples/flexible-response-example.d.ts +28 -0
  252. package/http-client/examples/flexible-response-example.js +120 -0
  253. package/http-client/examples/index.d.ts +2 -0
  254. package/http-client/examples/index.js +2 -0
  255. package/http-client/examples/proxy-from-environment.example.d.ts +133 -0
  256. package/http-client/examples/proxy-from-environment.example.js +409 -0
  257. package/http-client/examples/ssl-certificate.example.d.ts +47 -0
  258. package/http-client/examples/ssl-certificate.example.js +432 -0
  259. package/http-client/http-client.module.d.ts +43 -2
  260. package/http-client/http-client.module.js +150 -90
  261. package/http-client/index.d.ts +1 -1
  262. package/http-client/interfaces/api-client-config.interface.d.ts +24 -103
  263. package/http-client/interfaces/http-client-config.interface.d.ts +137 -62
  264. package/http-client/services/api-client-registry.service.d.ts +8 -21
  265. package/http-client/services/api-client-registry.service.js +31 -282
  266. package/http-client/services/circuit-breaker.service.d.ts +69 -2
  267. package/http-client/services/circuit-breaker.service.js +185 -7
  268. package/http-client/services/http-client.service.d.ts +85 -23
  269. package/http-client/services/http-client.service.js +512 -168
  270. package/http-client/services/http-log-query.service.js +0 -13
  271. package/http-client/services/index.d.ts +0 -1
  272. package/http-client/services/index.js +0 -1
  273. package/http-client/services/logging.service.d.ts +69 -16
  274. package/http-client/services/logging.service.js +290 -170
  275. package/http-client/utils/call-stack-extractor.util.d.ts +26 -0
  276. package/http-client/utils/call-stack-extractor.util.js +35 -0
  277. package/http-client/utils/context-extractor.util.d.ts +2 -0
  278. package/http-client/utils/context-extractor.util.js +17 -3
  279. package/http-client/utils/curl-generator.util.js +2 -5
  280. package/http-client/utils/index.d.ts +2 -0
  281. package/http-client/utils/index.js +2 -0
  282. package/http-client/utils/proxy-environment.util.d.ts +42 -0
  283. package/http-client/utils/proxy-environment.util.js +154 -0
  284. package/http-client/utils/retry-recorder.util.d.ts +0 -4
  285. package/http-client/utils/retry-recorder.util.js +2 -27
  286. package/http-client/utils/sanitize.util.d.ts +58 -0
  287. package/http-client/utils/sanitize.util.js +188 -0
  288. package/http-client/utils/security-validator.util.d.ts +118 -0
  289. package/http-client/utils/security-validator.util.js +354 -0
  290. package/index.d.ts +4 -1
  291. package/index.js +6 -1
  292. package/interceptors/translation-interceptor.service.d.ts +7 -0
  293. package/interceptors/translation-interceptor.service.js +40 -8
  294. package/ip-filter/constants.d.ts +21 -0
  295. package/ip-filter/constants.js +24 -0
  296. package/ip-filter/decorators/index.d.ts +1 -0
  297. package/ip-filter/decorators/index.js +17 -0
  298. package/ip-filter/decorators/ip-filter.decorator.d.ts +58 -0
  299. package/ip-filter/decorators/ip-filter.decorator.js +79 -0
  300. package/ip-filter/guards/index.d.ts +1 -0
  301. package/ip-filter/guards/index.js +17 -0
  302. package/ip-filter/guards/ip-filter.guard.d.ts +62 -0
  303. package/ip-filter/guards/ip-filter.guard.js +174 -0
  304. package/ip-filter/index.d.ts +7 -0
  305. package/ip-filter/index.js +23 -0
  306. package/ip-filter/interfaces/index.d.ts +4 -0
  307. package/ip-filter/interfaces/index.js +20 -0
  308. package/ip-filter/interfaces/ip-filter-async-options.interface.d.ts +15 -0
  309. package/ip-filter/interfaces/ip-filter-async-options.interface.js +2 -0
  310. package/ip-filter/interfaces/ip-filter-metadata.interface.d.ts +26 -0
  311. package/ip-filter/interfaces/ip-filter-metadata.interface.js +2 -0
  312. package/ip-filter/interfaces/ip-filter-options.interface.d.ts +34 -0
  313. package/ip-filter/interfaces/ip-filter-options.interface.js +2 -0
  314. package/ip-filter/interfaces/ip-rule.interface.d.ts +36 -0
  315. package/ip-filter/interfaces/ip-rule.interface.js +2 -0
  316. package/ip-filter/ip-filter.module.d.ts +55 -0
  317. package/ip-filter/ip-filter.module.js +105 -0
  318. package/ip-filter/services/index.d.ts +1 -0
  319. package/ip-filter/services/index.js +17 -0
  320. package/ip-filter/services/ip-filter.service.d.ts +92 -0
  321. package/ip-filter/services/ip-filter.service.js +238 -0
  322. package/ip-filter/utils/index.d.ts +1 -0
  323. package/ip-filter/utils/index.js +17 -0
  324. package/ip-filter/utils/ip-utils.d.ts +61 -0
  325. package/ip-filter/utils/ip-utils.js +162 -0
  326. package/package.json +34 -29
  327. package/providers/context.provider.d.ts +9 -0
  328. package/providers/context.provider.js +13 -0
  329. package/redis-lock/comprehensive-lock-cleanup.service.d.ts +94 -0
  330. package/redis-lock/comprehensive-lock-cleanup.service.js +253 -0
  331. package/redis-lock/index.d.ts +2 -0
  332. package/redis-lock/index.js +5 -1
  333. package/redis-lock/lock-heartbeat.service.d.ts +80 -0
  334. package/redis-lock/lock-heartbeat.service.js +232 -0
  335. package/redis-lock/redis-lock.module.d.ts +6 -0
  336. package/redis-lock/redis-lock.module.js +136 -77
  337. package/redis-lock/redis-lock.service.d.ts +31 -0
  338. package/redis-lock/redis-lock.service.js +124 -17
  339. package/setup/bootstrap.setup.d.ts +2 -1
  340. package/setup/bootstrap.setup.js +3 -2
  341. package/setup/index.d.ts +1 -0
  342. package/setup/index.js +1 -0
  343. package/setup/run-in-mode.decorator.d.ts +56 -0
  344. package/setup/run-in-mode.decorator.js +92 -0
  345. package/setup/schedule.decorator.d.ts +1 -0
  346. package/setup/schedule.decorator.js +28 -13
  347. package/setup/worker.decorator.js +10 -1
  348. package/shared/index.d.ts +1 -1
  349. package/shared/index.js +1 -1
  350. package/shared/{serviceRegistryModule.js → service-registry.module.js} +28 -17
  351. package/shared/services/api-config.service.d.ts +41 -0
  352. package/shared/services/api-config.service.js +166 -8
  353. package/shared/services/index.d.ts +0 -1
  354. package/shared/services/index.js +0 -1
  355. package/validators/custom-validate.validator.d.ts +1 -0
  356. package/validators/custom-validate.validator.js +1 -0
  357. package/validators/file-mimetype.validator.d.ts +0 -2
  358. package/validators/file-mimetype.validator.js +4 -6
  359. package/validators/is-exists.validator.d.ts +15 -6
  360. package/validators/is-exists.validator.js +8 -7
  361. package/validators/is-unique.validator.d.ts +22 -7
  362. package/validators/is-unique.validator.js +41 -17
  363. package/vault/vault-config.service.js +1 -1
  364. package/cache/providers/memory-cache.provider.d.ts +0 -49
  365. package/cache/providers/memory-cache.provider.js +0 -197
  366. package/http-client/services/cache.service.d.ts +0 -76
  367. package/http-client/services/cache.service.js +0 -333
  368. package/shared/services/validator.service.d.ts +0 -3
  369. package/shared/services/validator.service.js +0 -20
  370. /package/shared/{serviceRegistryModule.d.ts → service-registry.module.d.ts} +0 -0
@@ -0,0 +1,133 @@
1
+ /**
2
+ * ProxyFromEnvironment 使用示例
3
+ *
4
+ * 本文件演示如何在 HTTP Client 中使用代理环境变量支持
5
+ */
6
+ import { HttpClientService } from '../';
7
+ /**
8
+ * 示例 1: 使用环境变量配置代理 (推荐方式)
9
+ *
10
+ * 设置环境变量:
11
+ * export HTTP_PROXY=http://proxy.example.com:8080
12
+ * export HTTPS_PROXY=https://secure-proxy.example.com:8443
13
+ * export NO_PROXY=localhost,127.0.0.1,.internal.com
14
+ */
15
+ export declare class ProxyFromEnvironmentExample {
16
+ private readonly httpClient;
17
+ constructor(httpClient: HttpClientService);
18
+ /**
19
+ * 使用装饰器从环境变量读取代理配置
20
+ */
21
+ fetchWithProxyFromEnv(): Promise<any>;
22
+ /**
23
+ * 直接配置请求时指定从环境变量读取代理
24
+ */
25
+ fetchWithConfiguredProxy(): Promise<any>;
26
+ }
27
+ /**
28
+ * 示例 2: 带认证的代理环境变量
29
+ *
30
+ * 设置环境变量:
31
+ * export HTTP_PROXY=http://username:password@proxy.example.com:8080
32
+ */
33
+ export declare class ProxyWithAuthExample {
34
+ private readonly httpClient;
35
+ constructor(httpClient: HttpClientService);
36
+ fetchWithAuthenticatedProxy(): Promise<any>;
37
+ }
38
+ /**
39
+ * 示例 3: NO_PROXY 使用示例
40
+ *
41
+ * 设置环境变量:
42
+ * export HTTP_PROXY=http://proxy.example.com:8080
43
+ * export NO_PROXY=localhost,127.0.0.1,.internal.com,.local
44
+ */
45
+ export declare class NoProxyExample {
46
+ private readonly httpClient;
47
+ constructor(httpClient: HttpClientService);
48
+ fetchExternalApi(): Promise<any>;
49
+ fetchInternalApi(): Promise<any>;
50
+ fetchLocalhost(): Promise<any>;
51
+ }
52
+ /**
53
+ * 示例 4: 混合使用 - 部分请求使用代理,部分不使用
54
+ */
55
+ export declare class MixedProxyExample {
56
+ private readonly httpClient;
57
+ constructor(httpClient: HttpClientService);
58
+ fetchWithProxy(): Promise<any>;
59
+ fetchWithoutProxy(): Promise<any>;
60
+ }
61
+ /**
62
+ * 示例 5: 企业环境中的实际使用场景
63
+ *
64
+ * 在 docker-compose.yml 或 Kubernetes 配置中设置:
65
+ * environment:
66
+ * - HTTP_PROXY=http://proxy-user:proxy-pass@corporate-proxy.company.com:8080
67
+ * - HTTPS_PROXY=http://proxy-user:proxy-pass@corporate-proxy.company.com:8080
68
+ * - NO_PROXY=localhost,127.0.0.1,.company.com,.svc.cluster.local
69
+ */
70
+ export declare class EnterpriseProxyExample {
71
+ private readonly httpClient;
72
+ constructor(httpClient: HttpClientService);
73
+ /**
74
+ * 访问外部 API(使用企业代理)
75
+ */
76
+ fetchFromExternalApi(): Promise<any>;
77
+ /**
78
+ * 访问内部服务(不使用代理)
79
+ */
80
+ fetchFromInternalService(): Promise<any>;
81
+ /**
82
+ * 访问 Kubernetes 集群内服务(不使用代理)
83
+ */
84
+ fetchFromK8sService(): Promise<any>;
85
+ }
86
+ /**
87
+ * 示例 6: 开发环境调试代理
88
+ *
89
+ * 本地开发时使用 Charles、Fiddler 等代理工具调试:
90
+ * export HTTP_PROXY=http://localhost:8888
91
+ * export HTTPS_PROXY=http://localhost:8888
92
+ */
93
+ export declare class DevelopmentProxyExample {
94
+ private readonly httpClient;
95
+ constructor(httpClient: HttpClientService);
96
+ debugRequest(): Promise<any>;
97
+ }
98
+ /**
99
+ * 示例 7: 程序化检查代理配置
100
+ */
101
+ export declare class ProxyUtilityExample {
102
+ checkProxyConfiguration(): Promise<void>;
103
+ }
104
+ /**
105
+ * 模块配置示例
106
+ */
107
+ export declare const httpClientModuleConfig: {
108
+ globalProxyFromEnv: {
109
+ imports: {
110
+ proxy: {
111
+ enabled: boolean;
112
+ fromEnvironment: boolean;
113
+ };
114
+ }[];
115
+ };
116
+ selectiveProxy: {
117
+ imports: {
118
+ proxy: {
119
+ enabled: boolean;
120
+ };
121
+ }[];
122
+ };
123
+ };
124
+ /**
125
+ * 环境变量配置示例
126
+ */
127
+ export declare const environmentVariablesExamples: {
128
+ basic: string;
129
+ withAuth: string;
130
+ specialChars: string;
131
+ enterprise: string;
132
+ development: string;
133
+ };
@@ -0,0 +1,409 @@
1
+ "use strict";
2
+ /**
3
+ * ProxyFromEnvironment 使用示例
4
+ *
5
+ * 本文件演示如何在 HTTP Client 中使用代理环境变量支持
6
+ */
7
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
+ var __metadata = (this && this.__metadata) || function (k, v) {
14
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15
+ };
16
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
17
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
18
+ return new (P || (P = Promise))(function (resolve, reject) {
19
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
20
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
21
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
23
+ });
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.environmentVariablesExamples = exports.httpClientModuleConfig = exports.ProxyUtilityExample = exports.DevelopmentProxyExample = exports.EnterpriseProxyExample = exports.MixedProxyExample = exports.NoProxyExample = exports.ProxyWithAuthExample = exports.ProxyFromEnvironmentExample = void 0;
27
+ const common_1 = require("@nestjs/common");
28
+ const __1 = require("../");
29
+ /**
30
+ * 示例 1: 使用环境变量配置代理 (推荐方式)
31
+ *
32
+ * 设置环境变量:
33
+ * export HTTP_PROXY=http://proxy.example.com:8080
34
+ * export HTTPS_PROXY=https://secure-proxy.example.com:8443
35
+ * export NO_PROXY=localhost,127.0.0.1,.internal.com
36
+ */
37
+ let ProxyFromEnvironmentExample = class ProxyFromEnvironmentExample {
38
+ constructor(httpClient) {
39
+ this.httpClient = httpClient;
40
+ }
41
+ /**
42
+ * 使用装饰器从环境变量读取代理配置
43
+ */
44
+ fetchWithProxyFromEnv() {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ // 此请求将根据环境变量使用代理
47
+ // - HTTP 请求使用 HTTP_PROXY
48
+ // - HTTPS 请求使用 HTTPS_PROXY(如果未设置则使用 HTTP_PROXY)
49
+ // - 匹配 NO_PROXY 的域名不使用代理
50
+ return this.httpClient.get('https://api.example.com/data');
51
+ });
52
+ }
53
+ /**
54
+ * 直接配置请求时指定从环境变量读取代理
55
+ */
56
+ fetchWithConfiguredProxy() {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ return this.httpClient.request({
59
+ url: 'https://api.example.com/data',
60
+ method: 'GET',
61
+ // 代理配置会在模块级别或请求级别应用
62
+ });
63
+ });
64
+ }
65
+ };
66
+ exports.ProxyFromEnvironmentExample = ProxyFromEnvironmentExample;
67
+ __decorate([
68
+ (0, __1.HttpUseProxy)({
69
+ enabled: true,
70
+ fromEnvironment: true,
71
+ }),
72
+ __metadata("design:type", Function),
73
+ __metadata("design:paramtypes", []),
74
+ __metadata("design:returntype", Promise)
75
+ ], ProxyFromEnvironmentExample.prototype, "fetchWithProxyFromEnv", null);
76
+ exports.ProxyFromEnvironmentExample = ProxyFromEnvironmentExample = __decorate([
77
+ (0, common_1.Injectable)(),
78
+ __metadata("design:paramtypes", [__1.HttpClientService])
79
+ ], ProxyFromEnvironmentExample);
80
+ /**
81
+ * 示例 2: 带认证的代理环境变量
82
+ *
83
+ * 设置环境变量:
84
+ * export HTTP_PROXY=http://username:password@proxy.example.com:8080
85
+ */
86
+ let ProxyWithAuthExample = class ProxyWithAuthExample {
87
+ constructor(httpClient) {
88
+ this.httpClient = httpClient;
89
+ }
90
+ fetchWithAuthenticatedProxy() {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ // 自动从环境变量解析认证信息
93
+ return this.httpClient.get('https://api.example.com/data');
94
+ });
95
+ }
96
+ };
97
+ exports.ProxyWithAuthExample = ProxyWithAuthExample;
98
+ __decorate([
99
+ (0, __1.HttpUseProxy)({
100
+ enabled: true,
101
+ fromEnvironment: true,
102
+ }),
103
+ __metadata("design:type", Function),
104
+ __metadata("design:paramtypes", []),
105
+ __metadata("design:returntype", Promise)
106
+ ], ProxyWithAuthExample.prototype, "fetchWithAuthenticatedProxy", null);
107
+ exports.ProxyWithAuthExample = ProxyWithAuthExample = __decorate([
108
+ (0, common_1.Injectable)(),
109
+ __metadata("design:paramtypes", [__1.HttpClientService])
110
+ ], ProxyWithAuthExample);
111
+ /**
112
+ * 示例 3: NO_PROXY 使用示例
113
+ *
114
+ * 设置环境变量:
115
+ * export HTTP_PROXY=http://proxy.example.com:8080
116
+ * export NO_PROXY=localhost,127.0.0.1,.internal.com,.local
117
+ */
118
+ let NoProxyExample = class NoProxyExample {
119
+ constructor(httpClient) {
120
+ this.httpClient = httpClient;
121
+ }
122
+ fetchExternalApi() {
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ // 此请求会使用代理
125
+ return this.httpClient.get('https://api.external.com/data');
126
+ });
127
+ }
128
+ fetchInternalApi() {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ // 此请求不会使用代理(匹配 NO_PROXY 中的 .internal.com)
131
+ return this.httpClient.get('https://api.internal.com/data');
132
+ });
133
+ }
134
+ fetchLocalhost() {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ // 此请求不会使用代理(匹配 NO_PROXY 中的 localhost)
137
+ return this.httpClient.get('http://localhost:3000/api');
138
+ });
139
+ }
140
+ };
141
+ exports.NoProxyExample = NoProxyExample;
142
+ __decorate([
143
+ (0, __1.HttpUseProxy)({
144
+ enabled: true,
145
+ fromEnvironment: true,
146
+ }),
147
+ __metadata("design:type", Function),
148
+ __metadata("design:paramtypes", []),
149
+ __metadata("design:returntype", Promise)
150
+ ], NoProxyExample.prototype, "fetchExternalApi", null);
151
+ __decorate([
152
+ (0, __1.HttpUseProxy)({
153
+ enabled: true,
154
+ fromEnvironment: true,
155
+ }),
156
+ __metadata("design:type", Function),
157
+ __metadata("design:paramtypes", []),
158
+ __metadata("design:returntype", Promise)
159
+ ], NoProxyExample.prototype, "fetchInternalApi", null);
160
+ __decorate([
161
+ (0, __1.HttpUseProxy)({
162
+ enabled: true,
163
+ fromEnvironment: true,
164
+ }),
165
+ __metadata("design:type", Function),
166
+ __metadata("design:paramtypes", []),
167
+ __metadata("design:returntype", Promise)
168
+ ], NoProxyExample.prototype, "fetchLocalhost", null);
169
+ exports.NoProxyExample = NoProxyExample = __decorate([
170
+ (0, common_1.Injectable)(),
171
+ __metadata("design:paramtypes", [__1.HttpClientService])
172
+ ], NoProxyExample);
173
+ /**
174
+ * 示例 4: 混合使用 - 部分请求使用代理,部分不使用
175
+ */
176
+ let MixedProxyExample = class MixedProxyExample {
177
+ constructor(httpClient) {
178
+ this.httpClient = httpClient;
179
+ }
180
+ // 使用代理
181
+ fetchWithProxy() {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ return this.httpClient.get('https://api.external.com/data');
184
+ });
185
+ }
186
+ // 不使用代理
187
+ fetchWithoutProxy() {
188
+ return __awaiter(this, void 0, void 0, function* () {
189
+ return this.httpClient.get('https://api.direct.com/data');
190
+ });
191
+ }
192
+ };
193
+ exports.MixedProxyExample = MixedProxyExample;
194
+ __decorate([
195
+ (0, __1.HttpUseProxy)({
196
+ enabled: true,
197
+ fromEnvironment: true,
198
+ }),
199
+ __metadata("design:type", Function),
200
+ __metadata("design:paramtypes", []),
201
+ __metadata("design:returntype", Promise)
202
+ ], MixedProxyExample.prototype, "fetchWithProxy", null);
203
+ exports.MixedProxyExample = MixedProxyExample = __decorate([
204
+ (0, common_1.Injectable)(),
205
+ __metadata("design:paramtypes", [__1.HttpClientService])
206
+ ], MixedProxyExample);
207
+ /**
208
+ * 示例 5: 企业环境中的实际使用场景
209
+ *
210
+ * 在 docker-compose.yml 或 Kubernetes 配置中设置:
211
+ * environment:
212
+ * - HTTP_PROXY=http://proxy-user:proxy-pass@corporate-proxy.company.com:8080
213
+ * - HTTPS_PROXY=http://proxy-user:proxy-pass@corporate-proxy.company.com:8080
214
+ * - NO_PROXY=localhost,127.0.0.1,.company.com,.svc.cluster.local
215
+ */
216
+ let EnterpriseProxyExample = class EnterpriseProxyExample {
217
+ constructor(httpClient) {
218
+ this.httpClient = httpClient;
219
+ }
220
+ /**
221
+ * 访问外部 API(使用企业代理)
222
+ */
223
+ fetchFromExternalApi() {
224
+ return __awaiter(this, void 0, void 0, function* () {
225
+ // 通过企业代理访问外部 API
226
+ return this.httpClient.get('https://api.github.com/repos/microsoft/TypeScript');
227
+ });
228
+ }
229
+ /**
230
+ * 访问内部服务(不使用代理)
231
+ */
232
+ fetchFromInternalService() {
233
+ return __awaiter(this, void 0, void 0, function* () {
234
+ // 直接访问内部服务(匹配 NO_PROXY: .company.com)
235
+ return this.httpClient.get('https://api.company.com/internal/users');
236
+ });
237
+ }
238
+ /**
239
+ * 访问 Kubernetes 集群内服务(不使用代理)
240
+ */
241
+ fetchFromK8sService() {
242
+ return __awaiter(this, void 0, void 0, function* () {
243
+ // 直接访问 K8s 服务(匹配 NO_PROXY: .svc.cluster.local)
244
+ return this.httpClient.get('http://user-service.default.svc.cluster.local/api/users');
245
+ });
246
+ }
247
+ };
248
+ exports.EnterpriseProxyExample = EnterpriseProxyExample;
249
+ __decorate([
250
+ (0, __1.HttpUseProxy)({
251
+ enabled: true,
252
+ fromEnvironment: true,
253
+ }),
254
+ __metadata("design:type", Function),
255
+ __metadata("design:paramtypes", []),
256
+ __metadata("design:returntype", Promise)
257
+ ], EnterpriseProxyExample.prototype, "fetchFromExternalApi", null);
258
+ __decorate([
259
+ (0, __1.HttpUseProxy)({
260
+ enabled: true,
261
+ fromEnvironment: true,
262
+ }),
263
+ __metadata("design:type", Function),
264
+ __metadata("design:paramtypes", []),
265
+ __metadata("design:returntype", Promise)
266
+ ], EnterpriseProxyExample.prototype, "fetchFromInternalService", null);
267
+ __decorate([
268
+ (0, __1.HttpUseProxy)({
269
+ enabled: true,
270
+ fromEnvironment: true,
271
+ }),
272
+ __metadata("design:type", Function),
273
+ __metadata("design:paramtypes", []),
274
+ __metadata("design:returntype", Promise)
275
+ ], EnterpriseProxyExample.prototype, "fetchFromK8sService", null);
276
+ exports.EnterpriseProxyExample = EnterpriseProxyExample = __decorate([
277
+ (0, common_1.Injectable)(),
278
+ __metadata("design:paramtypes", [__1.HttpClientService])
279
+ ], EnterpriseProxyExample);
280
+ /**
281
+ * 示例 6: 开发环境调试代理
282
+ *
283
+ * 本地开发时使用 Charles、Fiddler 等代理工具调试:
284
+ * export HTTP_PROXY=http://localhost:8888
285
+ * export HTTPS_PROXY=http://localhost:8888
286
+ */
287
+ let DevelopmentProxyExample = class DevelopmentProxyExample {
288
+ constructor(httpClient) {
289
+ this.httpClient = httpClient;
290
+ }
291
+ debugRequest() {
292
+ return __awaiter(this, void 0, void 0, function* () {
293
+ // 开发环境下会通过本地代理工具
294
+ // 可以查看详细的请求和响应内容
295
+ return this.httpClient.post('https://api.example.com/debug', {
296
+ test: 'data',
297
+ });
298
+ });
299
+ }
300
+ };
301
+ exports.DevelopmentProxyExample = DevelopmentProxyExample;
302
+ __decorate([
303
+ (0, __1.HttpUseProxy)({
304
+ enabled: process.env.NODE_ENV === 'development',
305
+ fromEnvironment: true,
306
+ }),
307
+ __metadata("design:type", Function),
308
+ __metadata("design:paramtypes", []),
309
+ __metadata("design:returntype", Promise)
310
+ ], DevelopmentProxyExample.prototype, "debugRequest", null);
311
+ exports.DevelopmentProxyExample = DevelopmentProxyExample = __decorate([
312
+ (0, common_1.Injectable)(),
313
+ __metadata("design:paramtypes", [__1.HttpClientService])
314
+ ], DevelopmentProxyExample);
315
+ /**
316
+ * 示例 7: 程序化检查代理配置
317
+ */
318
+ let ProxyUtilityExample = class ProxyUtilityExample {
319
+ checkProxyConfiguration() {
320
+ return __awaiter(this, void 0, void 0, function* () {
321
+ const { ProxyEnvironmentParser } = yield Promise.resolve().then(() => require('../'));
322
+ // 检查是否设置了代理环境变量
323
+ const hasProxy = ProxyEnvironmentParser.hasProxyEnvironment();
324
+ console.log('Has proxy environment:', hasProxy);
325
+ // 获取所有代理环境变量
326
+ const vars = ProxyEnvironmentParser.getProxyEnvironmentVariables();
327
+ console.log('Proxy environment variables:', vars);
328
+ // 解析特定 URL 的代理配置
329
+ const proxyConfig = ProxyEnvironmentParser.parseFromEnvironment('https', 'https://api.example.com/data');
330
+ console.log('Parsed proxy config:', proxyConfig);
331
+ });
332
+ }
333
+ };
334
+ exports.ProxyUtilityExample = ProxyUtilityExample;
335
+ exports.ProxyUtilityExample = ProxyUtilityExample = __decorate([
336
+ (0, common_1.Injectable)()
337
+ ], ProxyUtilityExample);
338
+ /**
339
+ * 模块配置示例
340
+ */
341
+ exports.httpClientModuleConfig = {
342
+ // 方式 1: 全局启用环境变量代理
343
+ globalProxyFromEnv: {
344
+ imports: [
345
+ {
346
+ // HttpClientModule.forRoot({
347
+ proxy: {
348
+ enabled: true,
349
+ fromEnvironment: true, // 所有请求默认使用环境变量代理
350
+ },
351
+ // })
352
+ },
353
+ ],
354
+ },
355
+ // 方式 2: 全局禁用,按需启用
356
+ selectiveProxy: {
357
+ imports: [
358
+ {
359
+ // HttpClientModule.forRoot({
360
+ proxy: {
361
+ enabled: false, // 全局禁用,使用装饰器按需启用
362
+ },
363
+ // })
364
+ },
365
+ ],
366
+ },
367
+ };
368
+ /**
369
+ * 环境变量配置示例
370
+ */
371
+ exports.environmentVariablesExamples = {
372
+ // 基本配置
373
+ basic: `
374
+ # 基本 HTTP 代理
375
+ HTTP_PROXY=http://proxy.example.com:8080
376
+
377
+ # HTTPS 代理
378
+ HTTPS_PROXY=https://proxy.example.com:8443
379
+
380
+ # 不使用代理的域名
381
+ NO_PROXY=localhost,127.0.0.1
382
+ `,
383
+ // 带认证
384
+ withAuth: `
385
+ # 带认证的代理
386
+ HTTP_PROXY=http://username:password@proxy.example.com:8080
387
+ HTTPS_PROXY=http://username:password@proxy.example.com:8080
388
+ `,
389
+ // 特殊字符认证(URL 编码)
390
+ specialChars: `
391
+ # 用户名: user@domain.com
392
+ # 密码: p@ssw0rd
393
+ HTTP_PROXY=http://user%40domain.com:p%40ssw0rd@proxy.example.com:8080
394
+ `,
395
+ // 企业环境
396
+ enterprise: `
397
+ # 企业代理配置
398
+ HTTP_PROXY=http://proxy-user:proxy-pass@corporate-proxy.company.com:8080
399
+ HTTPS_PROXY=http://proxy-user:proxy-pass@corporate-proxy.company.com:8080
400
+ NO_PROXY=localhost,127.0.0.1,.company.com,.internal.com,.svc.cluster.local,10.0.0.0/8
401
+ `,
402
+ // 开发环境
403
+ development: `
404
+ # 本地代理工具(Charles, Fiddler 等)
405
+ HTTP_PROXY=http://localhost:8888
406
+ HTTPS_PROXY=http://localhost:8888
407
+ NO_PROXY=localhost,127.0.0.1
408
+ `,
409
+ };
@@ -0,0 +1,47 @@
1
+ import { HttpClientConfig } from '../index';
2
+ /**
3
+ * SSL/TLS 证书配置示例
4
+ * 解决自签名证书、客户端证书认证等问题
5
+ */
6
+ export declare function disableSslVerificationExample(): void;
7
+ export declare function selfSignedCaExample(): HttpClientConfig;
8
+ export declare function multipleCaCertsExample(): HttpClientConfig;
9
+ export declare function clientCertificateExample(): HttpClientConfig;
10
+ export declare function tlsVersionAndCiphersExample(): HttpClientConfig;
11
+ export declare function certFromEnvExample(): HttpClientConfig;
12
+ export declare function productionSslConfigExample(): HttpClientConfig;
13
+ export declare function environmentBasedSslConfig(): HttpClientConfig;
14
+ export declare function handleCertExpirationExample(): HttpClientConfig;
15
+ export declare function directHttpsAgentExample(): HttpClientConfig;
16
+ export declare function sslErrorHandlingExample(): Promise<void>;
17
+ export declare class DynamicCertificateManager {
18
+ private circuitBreakerService;
19
+ private loggingService;
20
+ private certPaths;
21
+ private httpClient;
22
+ private certCache;
23
+ private lastUpdate;
24
+ private cacheDuration;
25
+ constructor(circuitBreakerService: any, loggingService: any, certPaths: {
26
+ ca?: string;
27
+ cert?: string;
28
+ key?: string;
29
+ });
30
+ refreshCerts(): Promise<void>;
31
+ get(url: string): Promise<void>;
32
+ private loadCerts;
33
+ private buildConfig;
34
+ }
35
+ export declare const sslEnvVars: {
36
+ SSL_CA_PATH: string;
37
+ SSL_CLIENT_CERT_PATH: string;
38
+ SSL_CLIENT_KEY_PATH: string;
39
+ SSL_PASSPHRASE: string;
40
+ SSL_REJECT_UNAUTHORIZED: string;
41
+ SSL_MIN_VERSION: string;
42
+ SSL_CIPHERS: string;
43
+ SSL_CA_CERT: string;
44
+ SSL_CLIENT_CERT: string;
45
+ SSL_CLIENT_KEY: string;
46
+ };
47
+ export declare function diagnoseSslConfig(apiUrl: string): Promise<unknown>;