@nest-omni/core 4.1.3-2 → 4.1.3-20

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 (386) hide show
  1. package/audit/audit.module.d.ts +10 -0
  2. package/audit/audit.module.js +63 -1
  3. package/audit/controllers/audit.controller.d.ts +88 -0
  4. package/audit/controllers/audit.controller.js +74 -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 +9 -1
  8. package/audit/decorators/audit-controller.decorator.js +11 -2
  9. package/audit/decorators/audit-operation.decorator.d.ts +45 -0
  10. package/audit/decorators/audit-operation.decorator.js +49 -0
  11. package/audit/decorators/entity-audit.decorator.d.ts +85 -1
  12. package/audit/decorators/entity-audit.decorator.js +153 -3
  13. package/audit/decorators/index.d.ts +2 -0
  14. package/audit/decorators/index.js +2 -0
  15. package/audit/dto/audit-log-query.dto.d.ts +3 -0
  16. package/audit/dto/audit-log-query.dto.js +3 -0
  17. package/audit/dto/begin-transaction.dto.d.ts +3 -0
  18. package/audit/dto/begin-transaction.dto.js +3 -0
  19. package/audit/dto/compare-entities.dto.d.ts +3 -0
  20. package/audit/dto/compare-entities.dto.js +3 -0
  21. package/audit/dto/pre-check-restore.dto.d.ts +3 -0
  22. package/audit/dto/pre-check-restore.dto.js +3 -0
  23. package/audit/dto/restore-entity.dto.d.ts +3 -0
  24. package/audit/dto/restore-entity.dto.js +3 -0
  25. package/audit/entities/audit-action-summary.entity.d.ts +23 -0
  26. package/audit/entities/audit-action-summary.entity.js +101 -0
  27. package/audit/entities/entity-audit-log.entity.d.ts +11 -0
  28. package/audit/entities/entity-audit-log.entity.js +57 -2
  29. package/audit/entities/entity-transaction.entity.d.ts +11 -2
  30. package/audit/entities/entity-transaction.entity.js +42 -3
  31. package/audit/entities/index.d.ts +3 -0
  32. package/audit/entities/index.js +3 -0
  33. package/audit/entities/manual-operation-log.entity.d.ts +4 -0
  34. package/audit/entities/manual-operation-log.entity.js +12 -1
  35. package/audit/entities/operation-template.entity.d.ts +4 -0
  36. package/audit/entities/operation-template.entity.js +4 -0
  37. package/audit/enums/audit.enums.d.ts +37 -6
  38. package/audit/enums/audit.enums.js +40 -7
  39. package/audit/index.d.ts +4 -1
  40. package/audit/index.js +34 -1
  41. package/audit/interceptors/audit-action.interceptor.d.ts +38 -0
  42. package/audit/interceptors/audit-action.interceptor.js +215 -0
  43. package/audit/interceptors/audit.interceptor.d.ts +15 -0
  44. package/audit/interceptors/audit.interceptor.js +23 -1
  45. package/audit/interceptors/index.d.ts +1 -0
  46. package/audit/interceptors/index.js +1 -0
  47. package/audit/interfaces/audit.interfaces.d.ts +187 -2
  48. package/audit/services/audit-action.service.d.ts +141 -0
  49. package/audit/services/audit-action.service.js +244 -0
  50. package/audit/services/audit-context.service.d.ts +97 -0
  51. package/audit/services/audit-context.service.js +185 -0
  52. package/audit/services/audit-strategy.service.d.ts +6 -0
  53. package/audit/services/audit-strategy.service.js +13 -0
  54. package/audit/services/entity-audit.service.d.ts +230 -3
  55. package/audit/services/entity-audit.service.js +607 -14
  56. package/audit/services/index.d.ts +3 -0
  57. package/audit/services/index.js +3 -0
  58. package/audit/services/manual-audit-log.service.d.ts +134 -9
  59. package/audit/services/manual-audit-log.service.js +157 -40
  60. package/audit/services/multi-database.service.d.ts +9 -2
  61. package/audit/services/multi-database.service.js +9 -21
  62. package/audit/services/operation-description.service.d.ts +71 -2
  63. package/audit/services/operation-description.service.js +231 -20
  64. package/audit/services/transaction-audit.service.d.ts +30 -0
  65. package/audit/services/transaction-audit.service.js +53 -5
  66. package/audit/subscribers/entity-audit.subscriber.d.ts +19 -0
  67. package/audit/subscribers/entity-audit.subscriber.js +76 -1
  68. package/cache/cache-metrics.service.d.ts +67 -0
  69. package/cache/cache-metrics.service.js +68 -4
  70. package/cache/cache-serialization.service.d.ts +31 -0
  71. package/cache/cache-serialization.service.js +25 -0
  72. package/cache/cache.constants.d.ts +9 -0
  73. package/cache/cache.constants.js +9 -0
  74. package/cache/cache.health.d.ts +26 -0
  75. package/cache/cache.health.js +30 -0
  76. package/cache/cache.module.d.ts +82 -2
  77. package/cache/cache.module.js +76 -5
  78. package/cache/cache.service.d.ts +140 -0
  79. package/cache/cache.service.js +169 -0
  80. package/cache/cache.warmup.service.d.ts +39 -0
  81. package/cache/cache.warmup.service.js +32 -0
  82. package/cache/decorators/cache-evict.decorator.d.ts +47 -0
  83. package/cache/decorators/cache-evict.decorator.js +56 -0
  84. package/cache/decorators/cache-put.decorator.d.ts +34 -0
  85. package/cache/decorators/cache-put.decorator.js +39 -0
  86. package/cache/decorators/cacheable.decorator.d.ts +40 -0
  87. package/cache/decorators/cacheable.decorator.js +55 -0
  88. package/cache/dependencies/callback.dependency.d.ts +33 -0
  89. package/cache/dependencies/callback.dependency.js +39 -1
  90. package/cache/dependencies/chain.dependency.d.ts +28 -0
  91. package/cache/dependencies/chain.dependency.js +34 -0
  92. package/cache/dependencies/db.dependency.d.ts +83 -7
  93. package/cache/dependencies/db.dependency.js +89 -14
  94. package/cache/dependencies/file.dependency.d.ts +32 -0
  95. package/cache/dependencies/file.dependency.js +34 -0
  96. package/cache/dependencies/tag.dependency.d.ts +75 -4
  97. package/cache/dependencies/tag.dependency.js +145 -11
  98. package/cache/dependencies/time.dependency.d.ts +43 -0
  99. package/cache/dependencies/time.dependency.js +43 -0
  100. package/cache/examples/basic-usage.d.ts +15 -0
  101. package/cache/examples/basic-usage.js +62 -8
  102. package/cache/index.js +9 -0
  103. package/cache/interfaces/cache-dependency.interface.d.ts +53 -0
  104. package/cache/interfaces/cache-options.interface.d.ts +89 -0
  105. package/cache/interfaces/cache-options.interface.js +6 -0
  106. package/cache/interfaces/cache-provider.interface.d.ts +78 -0
  107. package/cache/providers/base-cache.provider.d.ts +14 -0
  108. package/cache/providers/base-cache.provider.js +16 -0
  109. package/cache/providers/cls-cache.provider.d.ts +20 -0
  110. package/cache/providers/cls-cache.provider.js +28 -0
  111. package/cache/providers/memory-cache.provider.d.ts +43 -0
  112. package/cache/providers/memory-cache.provider.js +66 -0
  113. package/cache/providers/redis-cache.provider.d.ts +26 -0
  114. package/cache/providers/redis-cache.provider.js +29 -0
  115. package/cache/utils/dependency-manager.util.d.ts +52 -0
  116. package/cache/utils/dependency-manager.util.js +59 -0
  117. package/cache/utils/key-generator.util.d.ts +42 -0
  118. package/cache/utils/key-generator.util.js +53 -1
  119. package/common/abstract.entity.d.ts +14 -0
  120. package/common/abstract.entity.js +14 -0
  121. package/common/boilerplate.polyfill.d.ts +142 -0
  122. package/common/boilerplate.polyfill.js +18 -1
  123. package/common/dto/dto-container.d.ts +16 -0
  124. package/common/dto/dto-container.js +20 -0
  125. package/common/dto/dto-decorators.d.ts +18 -0
  126. package/common/dto/dto-decorators.js +14 -0
  127. package/common/dto/dto-extensions.d.ts +11 -0
  128. package/common/dto/dto-extensions.js +9 -0
  129. package/common/dto/dto-service-accessor.d.ts +17 -0
  130. package/common/dto/dto-service-accessor.js +18 -0
  131. package/common/dto/dto-transformer.d.ts +12 -0
  132. package/common/dto/dto-transformer.js +9 -0
  133. package/common/dto/index.js +2 -0
  134. package/common/examples/paginate-and-map.example.d.ts +6 -0
  135. package/common/examples/paginate-and-map.example.js +26 -0
  136. package/common/utils.d.ts +15 -0
  137. package/common/utils.js +15 -0
  138. package/constants/language-code.js +1 -0
  139. package/decorators/field.decorators.d.ts +1 -1
  140. package/decorators/field.decorators.js +8 -1
  141. package/decorators/property.decorators.js +1 -0
  142. package/decorators/public-route.decorator.js +1 -0
  143. package/decorators/transform.decorators.d.ts +27 -0
  144. package/decorators/transform.decorators.js +29 -0
  145. package/decorators/translate.decorator.js +1 -0
  146. package/decorators/user.decorator.js +1 -0
  147. package/decorators/validator.decorators.d.ts +8 -18
  148. package/decorators/validator.decorators.js +22 -190
  149. package/file-upload/controllers/file-access.controller.d.ts +23 -0
  150. package/file-upload/controllers/file-access.controller.js +128 -0
  151. package/file-upload/decorators/column.decorator.d.ts +151 -0
  152. package/file-upload/decorators/column.decorator.js +273 -0
  153. package/file-upload/decorators/csv-data.decorator.d.ts +30 -0
  154. package/file-upload/decorators/csv-data.decorator.js +85 -0
  155. package/file-upload/decorators/csv-import.decorator.d.ts +34 -0
  156. package/file-upload/decorators/csv-import.decorator.js +24 -0
  157. package/file-upload/decorators/examples/column-mapping.example.d.ts +76 -0
  158. package/file-upload/decorators/examples/column-mapping.example.js +122 -0
  159. package/file-upload/decorators/excel-data.decorator.d.ts +30 -0
  160. package/file-upload/decorators/excel-data.decorator.js +85 -0
  161. package/file-upload/decorators/file-upload.decorator.d.ts +83 -0
  162. package/file-upload/decorators/file-upload.decorator.js +172 -0
  163. package/file-upload/decorators/index.d.ts +5 -0
  164. package/file-upload/decorators/index.js +38 -0
  165. package/file-upload/decorators/process.decorator.d.ts +40 -0
  166. package/file-upload/decorators/process.decorator.js +52 -0
  167. package/file-upload/decorators/validate-data.decorator.d.ts +91 -0
  168. package/file-upload/decorators/validate-data.decorator.js +39 -0
  169. package/file-upload/dto/create-file.dto.d.ts +24 -0
  170. package/file-upload/dto/create-file.dto.js +112 -0
  171. package/file-upload/dto/find-files.dto.d.ts +15 -0
  172. package/file-upload/dto/find-files.dto.js +76 -0
  173. package/file-upload/dto/index.d.ts +4 -0
  174. package/file-upload/dto/index.js +20 -0
  175. package/file-upload/dto/pagination.dto.d.ts +7 -0
  176. package/file-upload/dto/pagination.dto.js +39 -0
  177. package/file-upload/dto/update-file.dto.d.ts +15 -0
  178. package/file-upload/dto/update-file.dto.js +67 -0
  179. package/file-upload/entities/file-metadata.entity.d.ts +25 -0
  180. package/file-upload/entities/file-metadata.entity.js +76 -0
  181. package/file-upload/entities/file.entity.d.ts +114 -0
  182. package/file-upload/entities/file.entity.js +350 -0
  183. package/file-upload/entities/index.d.ts +2 -0
  184. package/file-upload/entities/index.js +18 -0
  185. package/file-upload/enums/file-type.enum.d.ts +72 -0
  186. package/file-upload/enums/file-type.enum.js +212 -0
  187. package/file-upload/exceptions/file-upload.exception.d.ts +57 -0
  188. package/file-upload/exceptions/file-upload.exception.js +120 -0
  189. package/file-upload/exceptions/index.d.ts +1 -0
  190. package/file-upload/exceptions/index.js +17 -0
  191. package/file-upload/file-upload.module.d.ts +89 -0
  192. package/file-upload/file-upload.module.js +292 -0
  193. package/file-upload/index.d.ts +37 -0
  194. package/file-upload/index.js +77 -0
  195. package/file-upload/interceptors/file-upload.interceptor.d.ts +101 -0
  196. package/file-upload/interceptors/file-upload.interceptor.js +594 -0
  197. package/file-upload/interceptors/index.d.ts +1 -0
  198. package/file-upload/interceptors/index.js +17 -0
  199. package/file-upload/interfaces/custom-file-type.interface.d.ts +72 -0
  200. package/file-upload/interfaces/custom-file-type.interface.js +2 -0
  201. package/file-upload/interfaces/file-buffer.interface.d.ts +72 -0
  202. package/file-upload/interfaces/file-buffer.interface.js +2 -0
  203. package/file-upload/interfaces/file-entity.interface.d.ts +142 -0
  204. package/file-upload/interfaces/file-entity.interface.js +28 -0
  205. package/file-upload/interfaces/file-metadata.interface.d.ts +21 -0
  206. package/file-upload/interfaces/file-metadata.interface.js +2 -0
  207. package/file-upload/interfaces/file-processor.interface.d.ts +93 -0
  208. package/file-upload/interfaces/file-processor.interface.js +2 -0
  209. package/file-upload/interfaces/file-upload-options.interface.d.ts +74 -0
  210. package/file-upload/interfaces/file-upload-options.interface.js +5 -0
  211. package/file-upload/interfaces/index.d.ts +7 -0
  212. package/file-upload/interfaces/index.js +24 -0
  213. package/file-upload/interfaces/processor-options.interface.d.ts +102 -0
  214. package/file-upload/interfaces/processor-options.interface.js +2 -0
  215. package/file-upload/interfaces/storage-provider.interface.d.ts +239 -0
  216. package/file-upload/interfaces/storage-provider.interface.js +2 -0
  217. package/file-upload/interfaces/upload-options.interface.d.ts +19 -0
  218. package/file-upload/interfaces/upload-options.interface.js +2 -0
  219. package/file-upload/processors/csv.processor.d.ts +98 -0
  220. package/file-upload/processors/csv.processor.js +391 -0
  221. package/file-upload/processors/excel.processor.d.ts +130 -0
  222. package/file-upload/processors/excel.processor.js +547 -0
  223. package/file-upload/processors/image.processor.d.ts +199 -0
  224. package/file-upload/processors/image.processor.js +377 -0
  225. package/file-upload/providers/index.d.ts +2 -0
  226. package/file-upload/providers/index.js +18 -0
  227. package/file-upload/providers/local-storage.provider.d.ts +98 -0
  228. package/file-upload/providers/local-storage.provider.js +484 -0
  229. package/file-upload/providers/s3-storage.provider.d.ts +87 -0
  230. package/file-upload/providers/s3-storage.provider.js +455 -0
  231. package/file-upload/services/file-signature-validator.service.d.ts +118 -0
  232. package/file-upload/services/file-signature-validator.service.js +376 -0
  233. package/file-upload/services/file.service.d.ts +193 -0
  234. package/file-upload/services/file.service.js +638 -0
  235. package/file-upload/services/index.d.ts +4 -0
  236. package/file-upload/services/index.js +20 -0
  237. package/file-upload/services/malicious-file-detector.service.d.ts +300 -0
  238. package/file-upload/services/malicious-file-detector.service.js +1234 -0
  239. package/file-upload/services/mime-registry.service.d.ts +47 -0
  240. package/file-upload/services/mime-registry.service.js +167 -0
  241. package/file-upload/utils/checksum.util.d.ts +28 -0
  242. package/file-upload/utils/checksum.util.js +65 -0
  243. package/file-upload/utils/dynamic-import.util.d.ts +54 -0
  244. package/file-upload/utils/dynamic-import.util.js +156 -0
  245. package/file-upload/utils/filename.util.d.ts +59 -0
  246. package/file-upload/utils/filename.util.js +184 -0
  247. package/file-upload/utils/filepath.util.d.ts +70 -0
  248. package/file-upload/utils/filepath.util.js +152 -0
  249. package/file-upload/utils/index.d.ts +4 -0
  250. package/file-upload/utils/index.js +20 -0
  251. package/filters/constraint-errors.js +1 -0
  252. package/helpers/common.helper.d.ts +13 -0
  253. package/helpers/common.helper.js +13 -0
  254. package/http-client/config/http-client.config.d.ts +20 -0
  255. package/http-client/config/http-client.config.js +48 -21
  256. package/http-client/decorators/http-client.decorators.d.ts +55 -14
  257. package/http-client/decorators/http-client.decorators.js +154 -78
  258. package/http-client/entities/http-log.entity.d.ts +217 -8
  259. package/http-client/entities/http-log.entity.js +7 -22
  260. package/http-client/errors/http-client.errors.d.ts +57 -0
  261. package/http-client/errors/http-client.errors.js +58 -0
  262. package/http-client/examples/advanced-usage.example.d.ts +40 -0
  263. package/http-client/examples/advanced-usage.example.js +53 -61
  264. package/http-client/examples/auth-with-waiting-lock.example.d.ts +31 -0
  265. package/http-client/examples/auth-with-waiting-lock.example.js +52 -5
  266. package/http-client/examples/basic-usage.example.d.ts +60 -0
  267. package/http-client/examples/basic-usage.example.js +60 -0
  268. package/http-client/examples/multi-api-configuration.example.d.ts +60 -0
  269. package/http-client/examples/multi-api-configuration.example.js +76 -5
  270. package/http-client/examples/proxy-from-environment.example.d.ts +133 -0
  271. package/http-client/examples/proxy-from-environment.example.js +409 -0
  272. package/http-client/http-client.module.d.ts +48 -2
  273. package/http-client/http-client.module.js +147 -68
  274. package/http-client/index.d.ts +1 -1
  275. package/http-client/index.js +8 -0
  276. package/http-client/interfaces/api-client-config.interface.d.ts +80 -45
  277. package/http-client/interfaces/api-client-config.interface.js +3 -0
  278. package/http-client/interfaces/http-client-config.interface.d.ts +109 -52
  279. package/http-client/services/api-client-registry.service.d.ts +50 -11
  280. package/http-client/services/api-client-registry.service.js +90 -250
  281. package/http-client/services/circuit-breaker.service.d.ts +115 -2
  282. package/http-client/services/circuit-breaker.service.js +237 -7
  283. package/http-client/services/http-client.service.d.ts +124 -14
  284. package/http-client/services/http-client.service.js +437 -148
  285. package/http-client/services/http-log-query.service.d.ts +83 -0
  286. package/http-client/services/http-log-query.service.js +121 -13
  287. package/http-client/services/http-replay.service.d.ts +101 -0
  288. package/http-client/services/http-replay.service.js +86 -0
  289. package/http-client/services/index.d.ts +0 -1
  290. package/http-client/services/index.js +0 -1
  291. package/http-client/services/log-cleanup.service.d.ts +63 -0
  292. package/http-client/services/log-cleanup.service.js +54 -2
  293. package/http-client/services/logging.service.d.ts +116 -7
  294. package/http-client/services/logging.service.js +349 -86
  295. package/http-client/utils/call-stack-extractor.util.d.ts +63 -0
  296. package/http-client/utils/call-stack-extractor.util.js +83 -0
  297. package/http-client/utils/context-extractor.util.d.ts +49 -0
  298. package/http-client/utils/context-extractor.util.js +52 -0
  299. package/http-client/utils/curl-generator.util.d.ts +21 -0
  300. package/http-client/utils/curl-generator.util.js +44 -3
  301. package/http-client/utils/index.d.ts +1 -0
  302. package/http-client/utils/index.js +1 -0
  303. package/http-client/utils/proxy-environment.util.d.ts +42 -0
  304. package/http-client/utils/proxy-environment.util.js +148 -0
  305. package/http-client/utils/request-id.util.d.ts +18 -0
  306. package/http-client/utils/request-id.util.js +20 -0
  307. package/http-client/utils/retry-recorder.util.d.ts +42 -0
  308. package/http-client/utils/retry-recorder.util.js +44 -0
  309. package/http-client/utils/security-validator.util.d.ts +118 -0
  310. package/http-client/utils/security-validator.util.js +352 -0
  311. package/index.d.ts +3 -1
  312. package/index.js +12 -1
  313. package/interceptors/translation-interceptor.service.js +5 -0
  314. package/package.json +11 -7
  315. package/providers/context.provider.js +2 -0
  316. package/providers/generator.provider.d.ts +4 -0
  317. package/providers/generator.provider.js +4 -0
  318. package/redis-lock/comprehensive-lock-cleanup.service.d.ts +94 -0
  319. package/redis-lock/comprehensive-lock-cleanup.service.js +253 -0
  320. package/redis-lock/examples/lock-strategy.examples.d.ts +89 -0
  321. package/redis-lock/examples/lock-strategy.examples.js +130 -15
  322. package/redis-lock/index.d.ts +2 -0
  323. package/redis-lock/index.js +8 -1
  324. package/redis-lock/lock-heartbeat.service.d.ts +80 -0
  325. package/redis-lock/lock-heartbeat.service.js +232 -0
  326. package/redis-lock/redis-lock.decorator.d.ts +101 -0
  327. package/redis-lock/redis-lock.decorator.js +120 -0
  328. package/redis-lock/redis-lock.module.d.ts +66 -0
  329. package/redis-lock/redis-lock.module.js +175 -70
  330. package/redis-lock/redis-lock.service.d.ts +282 -0
  331. package/redis-lock/redis-lock.service.js +343 -20
  332. package/setup/bootstrap.setup.d.ts +1 -0
  333. package/setup/bootstrap.setup.js +21 -0
  334. package/setup/index.d.ts +1 -0
  335. package/setup/index.js +1 -0
  336. package/setup/mode.setup.d.ts +44 -0
  337. package/setup/mode.setup.js +44 -0
  338. package/setup/run-in-mode.decorator.d.ts +56 -0
  339. package/setup/run-in-mode.decorator.js +92 -0
  340. package/setup/schedule.decorator.d.ts +227 -0
  341. package/setup/schedule.decorator.js +240 -12
  342. package/setup/worker.decorator.d.ts +86 -0
  343. package/setup/worker.decorator.js +97 -0
  344. package/shared/index.d.ts +1 -1
  345. package/shared/index.js +1 -1
  346. package/shared/{serviceRegistryModule.js → service-registry.module.js} +19 -17
  347. package/shared/services/api-config.service.d.ts +3 -0
  348. package/shared/services/api-config.service.js +21 -9
  349. package/shared/services/index.d.ts +0 -1
  350. package/shared/services/index.js +0 -1
  351. package/validator-json/decorators.d.ts +17 -0
  352. package/validator-json/decorators.js +17 -2
  353. package/validator-json/default.d.ts +6 -0
  354. package/validator-json/default.js +30 -2
  355. package/validator-json/defaultConverters.js +1 -0
  356. package/validator-json/options.d.ts +23 -0
  357. package/validators/common-validators.d.ts +143 -0
  358. package/validators/common-validators.js +249 -0
  359. package/validators/custom-validate.examples.d.ts +23 -0
  360. package/validators/custom-validate.examples.js +78 -6
  361. package/validators/custom-validate.validator.d.ts +108 -0
  362. package/validators/custom-validate.validator.js +85 -0
  363. package/validators/file-mimetype.validator.d.ts +0 -2
  364. package/validators/file-mimetype.validator.js +4 -6
  365. package/validators/index.d.ts +1 -0
  366. package/validators/index.js +1 -0
  367. package/validators/is-exists.validator.d.ts +26 -6
  368. package/validators/is-exists.validator.js +30 -7
  369. package/validators/is-unique.validator.d.ts +33 -7
  370. package/validators/is-unique.validator.js +59 -17
  371. package/validators/skip-empty.validator.d.ts +5 -0
  372. package/validators/skip-empty.validator.js +5 -0
  373. package/vault/interfaces/vault-options.interface.d.ts +9 -0
  374. package/vault/vault-config.loader.d.ts +30 -0
  375. package/vault/vault-config.loader.js +48 -1
  376. package/vault/vault-config.service.d.ts +53 -0
  377. package/vault/vault-config.service.js +57 -0
  378. package/vault/vault.module.d.ts +4 -0
  379. package/vault/vault.module.js +4 -0
  380. package/decorators/examples/validation-decorators.example.d.ts +0 -69
  381. package/decorators/examples/validation-decorators.example.js +0 -331
  382. package/http-client/services/cache.service.d.ts +0 -24
  383. package/http-client/services/cache.service.js +0 -264
  384. package/shared/services/validator.service.d.ts +0 -3
  385. package/shared/services/validator.service.js +0 -20
  386. /package/shared/{serviceRegistryModule.d.ts → service-registry.module.d.ts} +0 -0
@@ -1,18 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CallStackExtractor = void 0;
4
+ /**
5
+ * 调用栈提取工具
6
+ * 用于自动提取HTTP请求的调用服务和方法信息
7
+ */
4
8
  class CallStackExtractor {
9
+ /**
10
+ * 设置装饰器上下文
11
+ */
12
+ static setDecoratorContext(context) {
13
+ // 只在最外层设置
14
+ if (this.decoratorContextDepth === 0) {
15
+ this.decoratorContext = context;
16
+ }
17
+ this.decoratorContextDepth++;
18
+ }
19
+ /**
20
+ * 获取装饰器上下文
21
+ */
22
+ static getDecoratorContext() {
23
+ return this.decoratorContext;
24
+ }
25
+ /**
26
+ * 清除装饰器上下文
27
+ */
28
+ static clearDecoratorContext() {
29
+ this.decoratorContextDepth--;
30
+ // 只在最外层清除
31
+ if (this.decoratorContextDepth <= 0) {
32
+ this.decoratorContext = null;
33
+ this.decoratorContextDepth = 0;
34
+ }
35
+ }
36
+ /**
37
+ * 从调用栈中提取服务和方法信息
38
+ */
5
39
  static extractCallInfo() {
6
40
  const stack = new Error().stack;
7
41
  if (!stack) {
8
42
  return {};
9
43
  }
10
44
  const lines = stack.split('\n');
45
+ // 跳过当前函数和HTTP客户端内部调用
11
46
  const httpClientIndex = lines.findIndex((line) => line.includes('http-client.service.ts') ||
12
47
  line.includes('HttpClientService'));
13
48
  if (httpClientIndex === -1) {
14
49
  return {};
15
50
  }
51
+ // 查找实际的业务调用
16
52
  for (let i = httpClientIndex + 1; i < lines.length; i++) {
17
53
  const line = lines[i];
18
54
  const callInfo = this.parseStackLine(line);
@@ -22,7 +58,11 @@ class CallStackExtractor {
22
58
  }
23
59
  return {};
24
60
  }
61
+ /**
62
+ * 手动设置调用信息(当自动检测失败时)
63
+ */
25
64
  static setCallInfo(serviceClass, methodName, operationName) {
65
+ // 存储到当前上下文中
26
66
  if (typeof global !== 'undefined') {
27
67
  global.httpCallContext = {
28
68
  serviceClass,
@@ -32,9 +72,13 @@ class CallStackExtractor {
32
72
  };
33
73
  }
34
74
  }
75
+ /**
76
+ * 获取手动设置的调用信息
77
+ */
35
78
  static getManualCallInfo() {
36
79
  if (typeof global !== 'undefined' && global.httpCallContext) {
37
80
  const context = global.httpCallContext;
81
+ // 清理过期的上下文(超过1秒)
38
82
  if (Date.now() - context.timestamp < 1000) {
39
83
  return {
40
84
  serviceClass: context.serviceClass,
@@ -46,18 +90,29 @@ class CallStackExtractor {
46
90
  }
47
91
  return null;
48
92
  }
93
+ /**
94
+ * 清理手动设置的调用信息
95
+ */
49
96
  static clearCallInfo() {
50
97
  if (typeof global !== 'undefined' && global.httpCallContext) {
51
98
  delete global.httpCallContext;
52
99
  }
53
100
  }
101
+ /**
102
+ * 获取调用信息(优先使用手动设置的信息)
103
+ */
54
104
  static getCallInfo() {
105
+ // 首先尝试获取手动设置的信息
55
106
  const manualInfo = this.getManualCallInfo();
56
107
  if (manualInfo) {
57
108
  return manualInfo;
58
109
  }
110
+ // 然后尝试从调用栈中自动提取
59
111
  return this.extractCallInfo();
60
112
  }
113
+ /**
114
+ * 从装饰器中提取调用信息
115
+ */
61
116
  static extractFromDecorator(target, propertyKey) {
62
117
  var _a;
63
118
  const serviceClass = (_a = target.constructor) === null || _a === void 0 ? void 0 : _a.name;
@@ -70,13 +125,18 @@ class CallStackExtractor {
70
125
  : undefined,
71
126
  };
72
127
  }
128
+ /**
129
+ * 生成操作名称
130
+ */
73
131
  static generateOperationName(serviceClass, methodName, config) {
74
132
  if (!serviceClass || !methodName) {
75
133
  return 'Unknown';
76
134
  }
135
+ // 根据URL生成操作名称
77
136
  let operationName = `${serviceClass}.${methodName}`;
78
137
  if (config === null || config === void 0 ? void 0 : config.url) {
79
138
  const url = config.url;
139
+ // 提取URL中的关键路径部分
80
140
  const pathParts = url
81
141
  .split('/')
82
142
  .filter((part) => part && !part.includes('{'));
@@ -89,20 +149,32 @@ class CallStackExtractor {
89
149
  }
90
150
  return operationName;
91
151
  }
152
+ /**
153
+ * 格式化服务类名
154
+ */
92
155
  static formatServiceClass(serviceClass) {
93
156
  if (!serviceClass)
94
157
  return 'Unknown';
158
+ // 移除常见的后缀
95
159
  return serviceClass.replace(/Service|Controller|Provider|Handler$/, '');
96
160
  }
161
+ /**
162
+ * 格式化方法名
163
+ */
97
164
  static formatMethodName(methodName) {
98
165
  if (!methodName)
99
166
  return 'unknown';
167
+ // 将驼峰命名转换为更友好的格式
100
168
  return methodName
101
169
  .replace(/([A-Z])/g, ' $1')
102
170
  .replace(/^./, (str) => str.toUpperCase())
103
171
  .trim();
104
172
  }
173
+ /**
174
+ * 解析调用栈行
175
+ */
105
176
  static parseStackLine(line) {
177
+ // 匹配格式:at ClassName.methodName (/path/to/file.js:line:column)
106
178
  const match = line.match(/at\s+([^.]+)\.([^(]+)\s*\(/);
107
179
  if (!match) {
108
180
  return null;
@@ -114,6 +186,9 @@ class CallStackExtractor {
114
186
  operationName: `${serviceClass}.${methodName}`,
115
187
  };
116
188
  }
189
+ /**
190
+ * 判断是否为内部调用
191
+ */
117
192
  static isInternalCall(serviceClass) {
118
193
  if (!serviceClass)
119
194
  return true;
@@ -136,3 +211,11 @@ class CallStackExtractor {
136
211
  }
137
212
  }
138
213
  exports.CallStackExtractor = CallStackExtractor;
214
+ /**
215
+ * 存储装饰器上下文(用于传递装饰器信息到HTTP客户端)
216
+ */
217
+ CallStackExtractor.decoratorContext = null;
218
+ /**
219
+ * 装饰器上下文引用计数,用于处理多个装饰器嵌套的情况
220
+ */
221
+ CallStackExtractor.decoratorContextDepth = 0;
@@ -1,4 +1,11 @@
1
+ /**
2
+ * 上下文信息提取器
3
+ * 从ContextProvider获取请求相关的上下文信息
4
+ */
1
5
  export declare class ContextExtractor {
6
+ /**
7
+ * 获取完整的HTTP请求上下文
8
+ */
2
9
  static getHttpContext(): {
3
10
  requestId?: string;
4
11
  userId?: string;
@@ -8,14 +15,41 @@ export declare class ContextExtractor {
8
15
  metadata?: Record<string, any>;
9
16
  tags?: string[];
10
17
  };
18
+ /**
19
+ * 获取请求ID
20
+ */
11
21
  static getRequestId(): string | undefined;
22
+ /**
23
+ * 获取用户ID
24
+ */
12
25
  static getUserId(): string | undefined;
26
+ /**
27
+ * 获取客户端IP
28
+ */
13
29
  static getClientIp(): string | undefined;
30
+ /**
31
+ * 获取用户代理
32
+ */
14
33
  static getUserAgent(): string | undefined;
34
+ /**
35
+ * 获取服务名称
36
+ */
15
37
  static getServiceName(): string | undefined;
38
+ /**
39
+ * 获取元数据
40
+ */
16
41
  static getMetadata(): Record<string, any> | undefined;
42
+ /**
43
+ * 获取标签
44
+ */
17
45
  static getTags(): string[];
46
+ /**
47
+ * 添加标签到上下文
48
+ */
18
49
  static addTag(tag: string): void;
50
+ /**
51
+ * 获取上下文摘要
52
+ */
19
53
  static getContextSummary(): {
20
54
  requestId?: string;
21
55
  userId?: string;
@@ -24,13 +58,22 @@ export declare class ContextExtractor {
24
58
  hasUser: boolean;
25
59
  requestSource: string;
26
60
  };
61
+ /**
62
+ * 获取请求来源信息
63
+ */
27
64
  static getRequestSource(): {
28
65
  source: 'internal' | 'external' | 'unknown';
29
66
  ip?: string;
30
67
  userAgent?: string;
31
68
  service?: string;
32
69
  };
70
+ /**
71
+ * 判断是否为内部请求
72
+ */
33
73
  static isInternalRequest(): boolean;
74
+ /**
75
+ * 获取安全上下文
76
+ */
34
77
  static getSecurityContext(): {
35
78
  isAuthenticated: boolean;
36
79
  userId?: string;
@@ -39,6 +82,12 @@ export declare class ContextExtractor {
39
82
  permissions: string[];
40
83
  securityLevel: 'low' | 'medium' | 'high';
41
84
  };
85
+ /**
86
+ * 生成Span ID
87
+ */
42
88
  private static generateSpanId;
89
+ /**
90
+ * 检查172.x.x.x是否为内网IP (172.16.0.0 - 172.31.255.255)
91
+ */
43
92
  private static isInternal172IP;
44
93
  }
@@ -2,7 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ContextExtractor = void 0;
4
4
  const providers_1 = require("../../providers");
5
+ /**
6
+ * 上下文信息提取器
7
+ * 从ContextProvider获取请求相关的上下文信息
8
+ */
5
9
  class ContextExtractor {
10
+ /**
11
+ * 获取完整的HTTP请求上下文
12
+ */
6
13
  static getHttpContext() {
7
14
  try {
8
15
  const requestId = providers_1.ContextProvider.getRequestId();
@@ -21,11 +28,15 @@ class ContextExtractor {
21
28
  };
22
29
  }
23
30
  catch (_a) {
31
+ // If no context is available, return empty context
24
32
  return {
25
33
  tags: [],
26
34
  };
27
35
  }
28
36
  }
37
+ /**
38
+ * 获取请求ID
39
+ */
29
40
  static getRequestId() {
30
41
  try {
31
42
  return providers_1.ContextProvider.getRequestId();
@@ -34,6 +45,9 @@ class ContextExtractor {
34
45
  return undefined;
35
46
  }
36
47
  }
48
+ /**
49
+ * 获取用户ID
50
+ */
37
51
  static getUserId() {
38
52
  try {
39
53
  const authUser = providers_1.ContextProvider.getAuthUser();
@@ -43,6 +57,9 @@ class ContextExtractor {
43
57
  return undefined;
44
58
  }
45
59
  }
60
+ /**
61
+ * 获取客户端IP
62
+ */
46
63
  static getClientIp() {
47
64
  try {
48
65
  const router = providers_1.ContextProvider.getRouter();
@@ -52,6 +69,9 @@ class ContextExtractor {
52
69
  return undefined;
53
70
  }
54
71
  }
72
+ /**
73
+ * 获取用户代理
74
+ */
55
75
  static getUserAgent() {
56
76
  try {
57
77
  const router = providers_1.ContextProvider.getRouter();
@@ -61,6 +81,9 @@ class ContextExtractor {
61
81
  return undefined;
62
82
  }
63
83
  }
84
+ /**
85
+ * 获取服务名称
86
+ */
64
87
  static getServiceName() {
65
88
  try {
66
89
  const authUser = providers_1.ContextProvider.getAuthUser();
@@ -70,6 +93,9 @@ class ContextExtractor {
70
93
  return undefined;
71
94
  }
72
95
  }
96
+ /**
97
+ * 获取元数据
98
+ */
73
99
  static getMetadata() {
74
100
  try {
75
101
  const authUser = providers_1.ContextProvider.getAuthUser();
@@ -83,6 +109,9 @@ class ContextExtractor {
83
109
  return undefined;
84
110
  }
85
111
  }
112
+ /**
113
+ * 获取标签
114
+ */
86
115
  static getTags() {
87
116
  try {
88
117
  const context = this.getHttpContext();
@@ -92,6 +121,9 @@ class ContextExtractor {
92
121
  return [];
93
122
  }
94
123
  }
124
+ /**
125
+ * 添加标签到上下文
126
+ */
95
127
  static addTag(tag) {
96
128
  try {
97
129
  const context = this.getHttpContext();
@@ -102,8 +134,12 @@ class ContextExtractor {
102
134
  }
103
135
  }
104
136
  catch (_a) {
137
+ // Silently fail if context is not available
105
138
  }
106
139
  }
140
+ /**
141
+ * 获取上下文摘要
142
+ */
107
143
  static getContextSummary() {
108
144
  const context = this.getHttpContext();
109
145
  return {
@@ -115,11 +151,15 @@ class ContextExtractor {
115
151
  requestSource: this.getRequestSource().source,
116
152
  };
117
153
  }
154
+ /**
155
+ * 获取请求来源信息
156
+ */
118
157
  static getRequestSource() {
119
158
  const context = this.getHttpContext();
120
159
  if (!context.clientIp) {
121
160
  return { source: 'unknown' };
122
161
  }
162
+ // Check if it's an internal IP
123
163
  const internalIPs = ['::1', '127.0.0.1', 'localhost'];
124
164
  const isInternal = internalIPs.includes(context.clientIp) ||
125
165
  context.clientIp.startsWith('192.168.') ||
@@ -133,10 +173,16 @@ class ContextExtractor {
133
173
  service: context.appId,
134
174
  };
135
175
  }
176
+ /**
177
+ * 判断是否为内部请求
178
+ */
136
179
  static isInternalRequest() {
137
180
  const requestSource = this.getRequestSource();
138
181
  return requestSource.source === 'internal';
139
182
  }
183
+ /**
184
+ * 获取安全上下文
185
+ */
140
186
  static getSecurityContext() {
141
187
  try {
142
188
  const authUser = providers_1.ContextProvider.getAuthUser();
@@ -157,9 +203,15 @@ class ContextExtractor {
157
203
  };
158
204
  }
159
205
  }
206
+ /**
207
+ * 生成Span ID
208
+ */
160
209
  static generateSpanId() {
161
210
  return Math.random().toString(36).substring(2, 15);
162
211
  }
212
+ /**
213
+ * 检查172.x.x.x是否为内网IP (172.16.0.0 - 172.31.255.255)
214
+ */
163
215
  static isInternal172IP(ip) {
164
216
  if (!ip.startsWith('172.'))
165
217
  return false;
@@ -1,9 +1,30 @@
1
1
  import { AxiosRequestConfig, AxiosResponse } from 'axios';
2
+ /**
3
+ * HTTP请求curl命令生成器
4
+ */
2
5
  export declare class CurlGenerator {
6
+ /**
7
+ * 生成curl命令
8
+ */
3
9
  static generateCurlCommand(config: AxiosRequestConfig, response?: AxiosResponse): string;
10
+ /**
11
+ * 生成简化的curl命令(用于日志记录)
12
+ */
4
13
  static generateSimplifiedCurl(config: AxiosRequestConfig): string;
14
+ /**
15
+ * 生成用于调试的详细curl命令
16
+ */
5
17
  static generateDebugCurl(config: AxiosRequestConfig, response?: AxiosResponse): string;
18
+ /**
19
+ * 从curl命令解析请求配置
20
+ */
6
21
  static parseCurlCommand(curlCommand: string): Partial<AxiosRequestConfig>;
22
+ /**
23
+ * 构建完整URL
24
+ */
7
25
  private static buildUrl;
26
+ /**
27
+ * 过滤敏感头信息
28
+ */
8
29
  private static sanitizeHeaderValue;
9
30
  }
@@ -1,14 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CurlGenerator = void 0;
4
+ /**
5
+ * HTTP请求curl命令生成器
6
+ */
4
7
  class CurlGenerator {
8
+ /**
9
+ * 生成curl命令
10
+ */
5
11
  static generateCurlCommand(config, response) {
6
12
  const parts = ['curl'];
13
+ // 添加方法
7
14
  if (config.method && config.method.toLowerCase() !== 'get') {
8
15
  parts.push(`-X ${config.method.toUpperCase()}`);
9
16
  }
17
+ // 添加URL
10
18
  const url = this.buildUrl(config);
11
19
  parts.push(`'${url}'`);
20
+ // 添加头信息
12
21
  if (config.headers) {
13
22
  Object.entries(config.headers).forEach(([key, value]) => {
14
23
  if (value !== undefined && value !== null) {
@@ -16,12 +25,14 @@ class CurlGenerator {
16
25
  }
17
26
  });
18
27
  }
28
+ // 添加数据
19
29
  if (config.data) {
20
30
  const data = typeof config.data === 'string'
21
31
  ? config.data
22
32
  : JSON.stringify(config.data, null, 2);
23
33
  parts.push(`-d '${data}'`);
24
34
  }
35
+ // 添加表单数据
25
36
  if (config.data instanceof FormData) {
26
37
  const formDataParts = [];
27
38
  config.data.forEach((value, key) => {
@@ -34,26 +45,35 @@ class CurlGenerator {
34
45
  });
35
46
  parts.push(...formDataParts);
36
47
  }
48
+ // 添加查询参数(如果不在URL中)
37
49
  if (config.params && !url.includes('?')) {
38
50
  const params = new URLSearchParams(config.params).toString();
39
51
  if (params) {
40
52
  parts[parts.length - 1] = parts[parts.length - 1].replace(/'/, `?${params}'`);
41
53
  }
42
54
  }
43
- parts.push('-i');
44
- parts.push('-s');
45
- parts.push('-L');
55
+ // 添加其他选项
56
+ parts.push('-i'); // 包含头信息
57
+ parts.push('-s'); // 静默模式
58
+ parts.push('-L'); // 跟随重定向
59
+ // 添加响应状态码注释
46
60
  if (response) {
47
61
  parts.push(`# Response: ${response.status} ${response.statusText}`);
48
62
  }
49
63
  return parts.join(' \\\n ');
50
64
  }
65
+ /**
66
+ * 生成简化的curl命令(用于日志记录)
67
+ */
51
68
  static generateSimplifiedCurl(config) {
52
69
  const parts = ['curl'];
70
+ // 添加方法
53
71
  if (config.method && config.method.toLowerCase() !== 'get') {
54
72
  parts.push(`-X ${config.method.toUpperCase()}`);
55
73
  }
74
+ // 添加URL
56
75
  parts.push(`'${this.buildUrl(config)}'`);
76
+ // 只添加重要的头信息
57
77
  const importantHeaders = [
58
78
  'content-type',
59
79
  'accept',
@@ -65,11 +85,13 @@ class CurlGenerator {
65
85
  .filter(([key]) => importantHeaders.includes(key.toLowerCase()))
66
86
  .forEach(([key, value]) => {
67
87
  if (value !== undefined && value !== null) {
88
+ // 过滤敏感信息
68
89
  const sanitizedValue = this.sanitizeHeaderValue(key, String(value));
69
90
  parts.push(`-H '${key}: ${sanitizedValue}'`);
70
91
  }
71
92
  });
72
93
  }
94
+ // 添加数据(简化版)
73
95
  if (config.data) {
74
96
  const data = typeof config.data === 'string'
75
97
  ? config.data.substring(0, 200) +
@@ -79,9 +101,13 @@ class CurlGenerator {
79
101
  }
80
102
  return parts.join(' ');
81
103
  }
104
+ /**
105
+ * 生成用于调试的详细curl命令
106
+ */
82
107
  static generateDebugCurl(config, response) {
83
108
  var _a, _b, _c;
84
109
  const curl = this.generateCurlCommand(config, response);
110
+ // 添加调试信息注释
85
111
  const debugInfo = [
86
112
  '# Debug Information:',
87
113
  `# Timestamp: ${new Date().toISOString()}`,
@@ -94,17 +120,23 @@ class CurlGenerator {
94
120
  }
95
121
  return debugInfo.join('\n') + '\n' + curl;
96
122
  }
123
+ /**
124
+ * 从curl命令解析请求配置
125
+ */
97
126
  static parseCurlCommand(curlCommand) {
98
127
  const config = {};
99
128
  try {
129
+ // 提取方法
100
130
  const methodMatch = curlCommand.match(/-X\s+(\w+)/);
101
131
  if (methodMatch) {
102
132
  config.method = methodMatch[1].toLowerCase();
103
133
  }
134
+ // 提取URL
104
135
  const urlMatch = curlCommand.match(/curl[^']*'([^']+)'/);
105
136
  if (urlMatch) {
106
137
  config.url = urlMatch[1];
107
138
  }
139
+ // 提取头信息
108
140
  const headerMatches = curlCommand.match(/-H\s+'([^:]+):\s*([^']+)'/g) || [];
109
141
  config.headers = {};
110
142
  headerMatches.forEach((header) => {
@@ -113,6 +145,7 @@ class CurlGenerator {
113
145
  config.headers[headerMatch[1]] = headerMatch[2];
114
146
  }
115
147
  });
148
+ // 提取数据
116
149
  const dataMatch = curlCommand.match(/-d\s+'([^']+)'/);
117
150
  if (dataMatch) {
118
151
  try {
@@ -128,11 +161,16 @@ class CurlGenerator {
128
161
  }
129
162
  return config;
130
163
  }
164
+ /**
165
+ * 构建完整URL
166
+ */
131
167
  static buildUrl(config) {
132
168
  let url = config.url || '';
169
+ // 处理相对URL
133
170
  if (config.baseURL && !url.startsWith('http')) {
134
171
  url = config.baseURL.replace(/\/$/, '') + '/' + url.replace(/^\//, '');
135
172
  }
173
+ // 添加查询参数
136
174
  if (config.params) {
137
175
  const searchParams = new URLSearchParams();
138
176
  Object.entries(config.params).forEach(([key, value]) => {
@@ -147,6 +185,9 @@ class CurlGenerator {
147
185
  }
148
186
  return url;
149
187
  }
188
+ /**
189
+ * 过滤敏感头信息
190
+ */
150
191
  static sanitizeHeaderValue(key, value) {
151
192
  const sensitiveKeys = [
152
193
  'authorization',
@@ -2,3 +2,4 @@ export * from './curl-generator.util';
2
2
  export * from './retry-recorder.util';
3
3
  export * from './context-extractor.util';
4
4
  export * from './call-stack-extractor.util';
5
+ export * from './proxy-environment.util';
@@ -18,3 +18,4 @@ __exportStar(require("./curl-generator.util"), exports);
18
18
  __exportStar(require("./retry-recorder.util"), exports);
19
19
  __exportStar(require("./context-extractor.util"), exports);
20
20
  __exportStar(require("./call-stack-extractor.util"), exports);
21
+ __exportStar(require("./proxy-environment.util"), exports);
@@ -0,0 +1,42 @@
1
+ import { ProxyConfig } from '../interfaces/http-client-config.interface';
2
+ /**
3
+ * 代理环境变量解析工具
4
+ * 支持标准的代理环境变量:HTTP_PROXY, HTTPS_PROXY, NO_PROXY
5
+ */
6
+ export declare class ProxyEnvironmentParser {
7
+ private static readonly logger;
8
+ /**
9
+ * 从环境变量解析代理配置
10
+ * @param protocol 请求协议 (http 或 https)
11
+ * @param targetUrl 目标 URL(用于检查 NO_PROXY)
12
+ * @returns 解析后的代理配置,如果不应使用代理则返回 false
13
+ */
14
+ static parseFromEnvironment(protocol?: 'http' | 'https', targetUrl?: string): false | Required<Omit<ProxyConfig, 'enabled' | 'fromEnvironment'>>;
15
+ /**
16
+ * 解析代理 URL
17
+ * 支持格式: http://proxy:port, http://user:pass@proxy:port
18
+ */
19
+ private static parseProxyUrl;
20
+ /**
21
+ * 检查是否应该绕过代理
22
+ * 基于 NO_PROXY 环境变量
23
+ */
24
+ private static shouldBypassProxy;
25
+ /**
26
+ * 简单的 IP 地址匹配
27
+ * 支持精确匹配和 CIDR 表示法
28
+ */
29
+ private static isIpMatch;
30
+ /**
31
+ * 获取所有代理相关的环境变量
32
+ */
33
+ static getProxyEnvironmentVariables(): {
34
+ HTTP_PROXY?: string;
35
+ HTTPS_PROXY?: string;
36
+ NO_PROXY?: string;
37
+ };
38
+ /**
39
+ * 检查是否设置了代理环境变量
40
+ */
41
+ static hasProxyEnvironment(): boolean;
42
+ }