pixivflow 2.16.0 → 2.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 (788) hide show
  1. package/dist/package.json +1 -1
  2. package/dist/version.js +1 -1
  3. package/dist/webui/package.json +1 -1
  4. package/node_modules/@redtidev/pixiv-client/LICENSE +21 -0
  5. package/node_modules/@redtidev/pixiv-client/README.md +103 -0
  6. package/node_modules/@redtidev/pixiv-client/dist/app-api/exports.d.ts +6 -0
  7. package/node_modules/@redtidev/pixiv-client/dist/app-api/exports.d.ts.map +1 -0
  8. package/node_modules/@redtidev/pixiv-client/dist/app-api/exports.js +14 -0
  9. package/node_modules/@redtidev/pixiv-client/dist/app-api/exports.js.map +1 -0
  10. package/node_modules/@redtidev/pixiv-client/dist/app-api/illustrations.d.ts +30 -0
  11. package/node_modules/@redtidev/pixiv-client/dist/app-api/illustrations.d.ts.map +1 -0
  12. package/node_modules/@redtidev/pixiv-client/dist/app-api/illustrations.js +137 -0
  13. package/node_modules/@redtidev/pixiv-client/dist/app-api/illustrations.js.map +1 -0
  14. package/node_modules/@redtidev/pixiv-client/dist/app-api/media.d.ts +16 -0
  15. package/node_modules/@redtidev/pixiv-client/dist/app-api/media.d.ts.map +1 -0
  16. package/node_modules/@redtidev/pixiv-client/dist/app-api/media.js +25 -0
  17. package/node_modules/@redtidev/pixiv-client/dist/app-api/media.js.map +1 -0
  18. package/node_modules/@redtidev/pixiv-client/dist/app-api/novels.d.ts +43 -0
  19. package/node_modules/@redtidev/pixiv-client/dist/app-api/novels.d.ts.map +1 -0
  20. package/node_modules/@redtidev/pixiv-client/dist/app-api/novels.js +250 -0
  21. package/node_modules/@redtidev/pixiv-client/dist/app-api/novels.js.map +1 -0
  22. package/node_modules/@redtidev/pixiv-client/dist/app-api/options.d.ts +42 -0
  23. package/node_modules/@redtidev/pixiv-client/dist/app-api/options.d.ts.map +1 -0
  24. package/node_modules/@redtidev/pixiv-client/dist/app-api/options.js +7 -0
  25. package/node_modules/@redtidev/pixiv-client/dist/app-api/options.js.map +1 -0
  26. package/node_modules/@redtidev/pixiv-client/dist/app-api/tags.d.ts +9 -0
  27. package/node_modules/@redtidev/pixiv-client/dist/app-api/tags.d.ts.map +1 -0
  28. package/node_modules/@redtidev/pixiv-client/dist/app-api/tags.js +22 -0
  29. package/node_modules/@redtidev/pixiv-client/dist/app-api/tags.js.map +1 -0
  30. package/node_modules/@redtidev/pixiv-client/dist/app-api/users.d.ts +17 -0
  31. package/node_modules/@redtidev/pixiv-client/dist/app-api/users.d.ts.map +1 -0
  32. package/node_modules/@redtidev/pixiv-client/dist/app-api/users.js +23 -0
  33. package/node_modules/@redtidev/pixiv-client/dist/app-api/users.js.map +1 -0
  34. package/node_modules/@redtidev/pixiv-client/dist/auth/types.d.ts +25 -0
  35. package/node_modules/@redtidev/pixiv-client/dist/auth/types.d.ts.map +1 -0
  36. package/node_modules/@redtidev/pixiv-client/dist/auth/types.js +24 -0
  37. package/node_modules/@redtidev/pixiv-client/dist/auth/types.js.map +1 -0
  38. package/node_modules/@redtidev/pixiv-client/dist/client.d.ts +42 -0
  39. package/node_modules/@redtidev/pixiv-client/dist/client.d.ts.map +1 -0
  40. package/node_modules/@redtidev/pixiv-client/dist/client.js +86 -0
  41. package/node_modules/@redtidev/pixiv-client/dist/client.js.map +1 -0
  42. package/node_modules/@redtidev/pixiv-client/dist/errors/errors.d.ts +117 -0
  43. package/node_modules/@redtidev/pixiv-client/dist/errors/errors.d.ts.map +1 -0
  44. package/node_modules/@redtidev/pixiv-client/dist/errors/errors.js +169 -0
  45. package/node_modules/@redtidev/pixiv-client/dist/errors/errors.js.map +1 -0
  46. package/node_modules/@redtidev/pixiv-client/dist/index.d.ts +25 -0
  47. package/node_modules/@redtidev/pixiv-client/dist/index.d.ts.map +1 -0
  48. package/node_modules/@redtidev/pixiv-client/dist/index.js +50 -0
  49. package/node_modules/@redtidev/pixiv-client/dist/index.js.map +1 -0
  50. package/node_modules/@redtidev/pixiv-client/dist/logger.d.ts +13 -0
  51. package/node_modules/@redtidev/pixiv-client/dist/logger.d.ts.map +1 -0
  52. package/node_modules/@redtidev/pixiv-client/dist/logger.js +10 -0
  53. package/node_modules/@redtidev/pixiv-client/dist/logger.js.map +1 -0
  54. package/node_modules/@redtidev/pixiv-client/dist/models/index.d.ts +112 -0
  55. package/node_modules/@redtidev/pixiv-client/dist/models/index.d.ts.map +1 -0
  56. package/node_modules/@redtidev/pixiv-client/dist/models/index.js +8 -0
  57. package/node_modules/@redtidev/pixiv-client/dist/models/index.js.map +1 -0
  58. package/node_modules/@redtidev/pixiv-client/dist/pagination.d.ts +22 -0
  59. package/node_modules/@redtidev/pixiv-client/dist/pagination.d.ts.map +1 -0
  60. package/node_modules/@redtidev/pixiv-client/dist/pagination.js +41 -0
  61. package/node_modules/@redtidev/pixiv-client/dist/pagination.js.map +1 -0
  62. package/node_modules/@redtidev/pixiv-client/dist/rate-limit/RateLimitGate.d.ts +95 -0
  63. package/node_modules/@redtidev/pixiv-client/dist/rate-limit/RateLimitGate.d.ts.map +1 -0
  64. package/node_modules/@redtidev/pixiv-client/dist/rate-limit/RateLimitGate.js +344 -0
  65. package/node_modules/@redtidev/pixiv-client/dist/rate-limit/RateLimitGate.js.map +1 -0
  66. package/node_modules/@redtidev/pixiv-client/dist/transport/transport.d.ts +65 -0
  67. package/node_modules/@redtidev/pixiv-client/dist/transport/transport.d.ts.map +1 -0
  68. package/node_modules/@redtidev/pixiv-client/dist/transport/transport.js +410 -0
  69. package/node_modules/@redtidev/pixiv-client/dist/transport/transport.js.map +1 -0
  70. package/node_modules/@redtidev/pixiv-client/dist/types.d.ts +186 -0
  71. package/node_modules/@redtidev/pixiv-client/dist/types.d.ts.map +1 -0
  72. package/node_modules/@redtidev/pixiv-client/dist/types.js +3 -0
  73. package/node_modules/@redtidev/pixiv-client/dist/types.js.map +1 -0
  74. package/node_modules/@redtidev/pixiv-client/dist/web-api/types.d.ts +19 -0
  75. package/node_modules/@redtidev/pixiv-client/dist/web-api/types.d.ts.map +1 -0
  76. package/node_modules/@redtidev/pixiv-client/dist/web-api/types.js +3 -0
  77. package/node_modules/@redtidev/pixiv-client/dist/web-api/types.js.map +1 -0
  78. package/node_modules/@redtidev/pixiv-client/package.json +55 -0
  79. package/node_modules/@redtidev/pixiv-client/src/__tests__/independence.test.ts +75 -0
  80. package/node_modules/@redtidev/pixiv-client/src/__tests__/integration.test.ts +268 -0
  81. package/node_modules/@redtidev/pixiv-client/src/app-api/__tests__/services.test.ts +199 -0
  82. package/node_modules/@redtidev/pixiv-client/src/app-api/exports.ts +5 -0
  83. package/node_modules/@redtidev/pixiv-client/src/app-api/illustrations.ts +144 -0
  84. package/node_modules/@redtidev/pixiv-client/src/app-api/media.ts +20 -0
  85. package/node_modules/@redtidev/pixiv-client/src/app-api/novels.ts +269 -0
  86. package/node_modules/@redtidev/pixiv-client/src/app-api/options.ts +73 -0
  87. package/node_modules/@redtidev/pixiv-client/src/app-api/tags.ts +21 -0
  88. package/node_modules/@redtidev/pixiv-client/src/app-api/users.ts +22 -0
  89. package/node_modules/@redtidev/pixiv-client/src/auth/types.ts +33 -0
  90. package/node_modules/@redtidev/pixiv-client/src/client.ts +105 -0
  91. package/node_modules/@redtidev/pixiv-client/src/errors/errors.ts +180 -0
  92. package/node_modules/@redtidev/pixiv-client/src/index.ts +91 -0
  93. package/node_modules/@redtidev/pixiv-client/src/logger.ts +18 -0
  94. package/node_modules/@redtidev/pixiv-client/src/models/index.ts +117 -0
  95. package/node_modules/@redtidev/pixiv-client/src/pagination.ts +46 -0
  96. package/node_modules/@redtidev/pixiv-client/src/rate-limit/RateLimitGate.ts +365 -0
  97. package/node_modules/@redtidev/pixiv-client/src/rate-limit/__tests__/RateLimitGate.test.ts +258 -0
  98. package/node_modules/@redtidev/pixiv-client/src/transport/__tests__/transport.test.ts +282 -0
  99. package/node_modules/@redtidev/pixiv-client/src/transport/transport.ts +500 -0
  100. package/node_modules/@redtidev/pixiv-client/src/types.ts +168 -0
  101. package/node_modules/@redtidev/pixiv-client/src/web-api/types.ts +19 -0
  102. package/node_modules/agent-base/LICENSE +22 -0
  103. package/node_modules/agent-base/README.md +69 -0
  104. package/node_modules/agent-base/dist/helpers.d.ts +15 -0
  105. package/node_modules/agent-base/dist/helpers.d.ts.map +1 -0
  106. package/node_modules/agent-base/dist/helpers.js +66 -0
  107. package/node_modules/agent-base/dist/helpers.js.map +1 -0
  108. package/node_modules/agent-base/dist/index.d.ts +41 -0
  109. package/node_modules/agent-base/dist/index.d.ts.map +1 -0
  110. package/node_modules/agent-base/dist/index.js +178 -0
  111. package/node_modules/agent-base/dist/index.js.map +1 -0
  112. package/node_modules/agent-base/package.json +46 -0
  113. package/node_modules/asynckit/LICENSE +21 -0
  114. package/node_modules/asynckit/README.md +233 -0
  115. package/node_modules/asynckit/bench.js +76 -0
  116. package/node_modules/asynckit/index.js +6 -0
  117. package/node_modules/asynckit/lib/abort.js +29 -0
  118. package/node_modules/asynckit/lib/async.js +34 -0
  119. package/node_modules/asynckit/lib/defer.js +26 -0
  120. package/node_modules/asynckit/lib/iterate.js +75 -0
  121. package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  122. package/node_modules/asynckit/lib/readable_parallel.js +25 -0
  123. package/node_modules/asynckit/lib/readable_serial.js +25 -0
  124. package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  125. package/node_modules/asynckit/lib/state.js +37 -0
  126. package/node_modules/asynckit/lib/streamify.js +141 -0
  127. package/node_modules/asynckit/lib/terminator.js +29 -0
  128. package/node_modules/asynckit/package.json +63 -0
  129. package/node_modules/asynckit/parallel.js +43 -0
  130. package/node_modules/asynckit/serial.js +17 -0
  131. package/node_modules/asynckit/serialOrdered.js +75 -0
  132. package/node_modules/asynckit/stream.js +21 -0
  133. package/node_modules/axios/CHANGELOG.md +1934 -0
  134. package/node_modules/axios/LICENSE +7 -0
  135. package/node_modules/axios/MIGRATION_GUIDE.md +877 -0
  136. package/node_modules/axios/README.md +2851 -0
  137. package/node_modules/axios/dist/axios.js +5807 -0
  138. package/node_modules/axios/dist/axios.min.js +5 -0
  139. package/node_modules/axios/dist/axios.min.js.map +1 -0
  140. package/node_modules/axios/dist/browser/axios.cjs +5829 -0
  141. package/node_modules/axios/dist/esm/axios.js +5850 -0
  142. package/node_modules/axios/dist/esm/axios.min.js +3 -0
  143. package/node_modules/axios/dist/esm/axios.min.js.map +1 -0
  144. package/node_modules/axios/dist/node/axios.cjs +6808 -0
  145. package/node_modules/axios/index.d.cts +766 -0
  146. package/node_modules/axios/index.d.ts +787 -0
  147. package/node_modules/axios/index.js +45 -0
  148. package/node_modules/axios/lib/adapters/README.md +36 -0
  149. package/node_modules/axios/lib/adapters/adapters.js +132 -0
  150. package/node_modules/axios/lib/adapters/fetch.js +696 -0
  151. package/node_modules/axios/lib/adapters/http.js +1490 -0
  152. package/node_modules/axios/lib/adapters/xhr.js +277 -0
  153. package/node_modules/axios/lib/axios.js +89 -0
  154. package/node_modules/axios/lib/cancel/CancelToken.js +135 -0
  155. package/node_modules/axios/lib/cancel/CanceledError.js +22 -0
  156. package/node_modules/axios/lib/cancel/isCancel.js +5 -0
  157. package/node_modules/axios/lib/core/Axios.js +306 -0
  158. package/node_modules/axios/lib/core/AxiosError.js +219 -0
  159. package/node_modules/axios/lib/core/AxiosHeaders.js +474 -0
  160. package/node_modules/axios/lib/core/InterceptorManager.js +171 -0
  161. package/node_modules/axios/lib/core/README.md +8 -0
  162. package/node_modules/axios/lib/core/buildFullPath.js +76 -0
  163. package/node_modules/axios/lib/core/dispatchRequest.js +95 -0
  164. package/node_modules/axios/lib/core/mergeConfig.js +174 -0
  165. package/node_modules/axios/lib/core/methodList.js +17 -0
  166. package/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  167. package/node_modules/axios/lib/core/settle.js +27 -0
  168. package/node_modules/axios/lib/core/transformData.js +28 -0
  169. package/node_modules/axios/lib/defaults/index.js +178 -0
  170. package/node_modules/axios/lib/defaults/transitional.js +10 -0
  171. package/node_modules/axios/lib/env/README.md +3 -0
  172. package/node_modules/axios/lib/env/classes/FormData.js +2 -0
  173. package/node_modules/axios/lib/env/data.js +1 -0
  174. package/node_modules/axios/lib/helpers/AxiosTransformStream.js +156 -0
  175. package/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +59 -0
  176. package/node_modules/axios/lib/helpers/Http2Sessions.js +121 -0
  177. package/node_modules/axios/lib/helpers/HttpStatusCode.js +88 -0
  178. package/node_modules/axios/lib/helpers/README.md +7 -0
  179. package/node_modules/axios/lib/helpers/ZlibHeaderTransformStream.js +29 -0
  180. package/node_modules/axios/lib/helpers/bind.js +14 -0
  181. package/node_modules/axios/lib/helpers/buildURL.js +69 -0
  182. package/node_modules/axios/lib/helpers/callbackify.js +18 -0
  183. package/node_modules/axios/lib/helpers/combineURLs.js +23 -0
  184. package/node_modules/axios/lib/helpers/composeSignals.js +68 -0
  185. package/node_modules/axios/lib/helpers/cookies.js +64 -0
  186. package/node_modules/axios/lib/helpers/deprecatedMethod.js +31 -0
  187. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +166 -0
  188. package/node_modules/axios/lib/helpers/formDataToJSON.js +125 -0
  189. package/node_modules/axios/lib/helpers/formDataToStream.js +119 -0
  190. package/node_modules/axios/lib/helpers/fromDataURI.js +69 -0
  191. package/node_modules/axios/lib/helpers/isAbsoluteURL.js +19 -0
  192. package/node_modules/axios/lib/helpers/isAxiosError.js +14 -0
  193. package/node_modules/axios/lib/helpers/isURLSameOrigin.js +16 -0
  194. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  195. package/node_modules/axios/lib/helpers/null.js +2 -0
  196. package/node_modules/axios/lib/helpers/parseHeaders.js +71 -0
  197. package/node_modules/axios/lib/helpers/parseProtocol.js +6 -0
  198. package/node_modules/axios/lib/helpers/progressEventReducer.js +54 -0
  199. package/node_modules/axios/lib/helpers/readBlob.js +15 -0
  200. package/node_modules/axios/lib/helpers/resolveConfig.js +107 -0
  201. package/node_modules/axios/lib/helpers/sanitizeHeaderValue.js +60 -0
  202. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +505 -0
  203. package/node_modules/axios/lib/helpers/speedometer.js +55 -0
  204. package/node_modules/axios/lib/helpers/spread.js +28 -0
  205. package/node_modules/axios/lib/helpers/throttle.js +45 -0
  206. package/node_modules/axios/lib/helpers/toFormData.js +279 -0
  207. package/node_modules/axios/lib/helpers/toURLEncodedForm.js +19 -0
  208. package/node_modules/axios/lib/helpers/trackStream.js +89 -0
  209. package/node_modules/axios/lib/helpers/validator.js +112 -0
  210. package/node_modules/axios/lib/platform/browser/classes/Blob.js +3 -0
  211. package/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
  212. package/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +4 -0
  213. package/node_modules/axios/lib/platform/browser/index.js +13 -0
  214. package/node_modules/axios/lib/platform/common/utils.js +52 -0
  215. package/node_modules/axios/lib/platform/index.js +7 -0
  216. package/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  217. package/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
  218. package/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +4 -0
  219. package/node_modules/axios/lib/platform/node/index.js +37 -0
  220. package/node_modules/axios/lib/utils.js +1150 -0
  221. package/node_modules/axios/node_modules/agent-base/README.md +145 -0
  222. package/node_modules/axios/node_modules/agent-base/dist/src/index.d.ts +78 -0
  223. package/node_modules/axios/node_modules/agent-base/dist/src/index.js +203 -0
  224. package/node_modules/axios/node_modules/agent-base/dist/src/index.js.map +1 -0
  225. package/node_modules/axios/node_modules/agent-base/dist/src/promisify.d.ts +4 -0
  226. package/node_modules/axios/node_modules/agent-base/dist/src/promisify.js +18 -0
  227. package/node_modules/axios/node_modules/agent-base/dist/src/promisify.js.map +1 -0
  228. package/node_modules/axios/node_modules/agent-base/package.json +64 -0
  229. package/node_modules/axios/node_modules/agent-base/src/index.ts +345 -0
  230. package/node_modules/axios/node_modules/agent-base/src/promisify.ts +33 -0
  231. package/node_modules/axios/node_modules/debug/LICENSE +20 -0
  232. package/node_modules/axios/node_modules/debug/README.md +481 -0
  233. package/node_modules/axios/node_modules/debug/package.json +64 -0
  234. package/node_modules/axios/node_modules/debug/src/browser.js +272 -0
  235. package/node_modules/axios/node_modules/debug/src/common.js +292 -0
  236. package/node_modules/axios/node_modules/debug/src/index.js +10 -0
  237. package/node_modules/axios/node_modules/debug/src/node.js +263 -0
  238. package/node_modules/axios/node_modules/https-proxy-agent/README.md +137 -0
  239. package/node_modules/axios/node_modules/https-proxy-agent/dist/agent.d.ts +30 -0
  240. package/node_modules/axios/node_modules/https-proxy-agent/dist/agent.js +177 -0
  241. package/node_modules/axios/node_modules/https-proxy-agent/dist/agent.js.map +1 -0
  242. package/node_modules/axios/node_modules/https-proxy-agent/dist/index.d.ts +23 -0
  243. package/node_modules/axios/node_modules/https-proxy-agent/dist/index.js +14 -0
  244. package/node_modules/axios/node_modules/https-proxy-agent/dist/index.js.map +1 -0
  245. package/node_modules/axios/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +7 -0
  246. package/node_modules/axios/node_modules/https-proxy-agent/dist/parse-proxy-response.js +66 -0
  247. package/node_modules/axios/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map +1 -0
  248. package/node_modules/axios/node_modules/https-proxy-agent/package.json +56 -0
  249. package/node_modules/axios/node_modules/ms/index.js +162 -0
  250. package/node_modules/axios/node_modules/ms/license.md +21 -0
  251. package/node_modules/axios/node_modules/ms/package.json +38 -0
  252. package/node_modules/axios/node_modules/ms/readme.md +59 -0
  253. package/node_modules/axios/package.json +203 -0
  254. package/node_modules/call-bind-apply-helpers/.eslintrc +17 -0
  255. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  256. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  257. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  258. package/node_modules/call-bind-apply-helpers/LICENSE +21 -0
  259. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  260. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  261. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  262. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  263. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  264. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  265. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  266. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  267. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  268. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  269. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  270. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  271. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  272. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  273. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  274. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  275. package/node_modules/combined-stream/License +19 -0
  276. package/node_modules/combined-stream/Readme.md +138 -0
  277. package/node_modules/combined-stream/lib/combined_stream.js +208 -0
  278. package/node_modules/combined-stream/package.json +25 -0
  279. package/node_modules/delayed-stream/.npmignore +1 -0
  280. package/node_modules/delayed-stream/License +19 -0
  281. package/node_modules/delayed-stream/Makefile +7 -0
  282. package/node_modules/delayed-stream/Readme.md +141 -0
  283. package/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  284. package/node_modules/delayed-stream/package.json +27 -0
  285. package/node_modules/dunder-proto/.eslintrc +5 -0
  286. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  287. package/node_modules/dunder-proto/.nycrc +13 -0
  288. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  289. package/node_modules/dunder-proto/LICENSE +21 -0
  290. package/node_modules/dunder-proto/README.md +54 -0
  291. package/node_modules/dunder-proto/get.d.ts +5 -0
  292. package/node_modules/dunder-proto/get.js +30 -0
  293. package/node_modules/dunder-proto/package.json +76 -0
  294. package/node_modules/dunder-proto/set.d.ts +5 -0
  295. package/node_modules/dunder-proto/set.js +35 -0
  296. package/node_modules/dunder-proto/test/get.js +34 -0
  297. package/node_modules/dunder-proto/test/index.js +4 -0
  298. package/node_modules/dunder-proto/test/set.js +50 -0
  299. package/node_modules/dunder-proto/tsconfig.json +9 -0
  300. package/node_modules/es-define-property/.eslintrc +13 -0
  301. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  302. package/node_modules/es-define-property/.nycrc +9 -0
  303. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  304. package/node_modules/es-define-property/LICENSE +21 -0
  305. package/node_modules/es-define-property/README.md +49 -0
  306. package/node_modules/es-define-property/index.d.ts +3 -0
  307. package/node_modules/es-define-property/index.js +14 -0
  308. package/node_modules/es-define-property/package.json +81 -0
  309. package/node_modules/es-define-property/test/index.js +56 -0
  310. package/node_modules/es-define-property/tsconfig.json +10 -0
  311. package/node_modules/es-errors/.eslintrc +5 -0
  312. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  313. package/node_modules/es-errors/CHANGELOG.md +40 -0
  314. package/node_modules/es-errors/LICENSE +21 -0
  315. package/node_modules/es-errors/README.md +55 -0
  316. package/node_modules/es-errors/eval.d.ts +3 -0
  317. package/node_modules/es-errors/eval.js +4 -0
  318. package/node_modules/es-errors/index.d.ts +3 -0
  319. package/node_modules/es-errors/index.js +4 -0
  320. package/node_modules/es-errors/package.json +80 -0
  321. package/node_modules/es-errors/range.d.ts +3 -0
  322. package/node_modules/es-errors/range.js +4 -0
  323. package/node_modules/es-errors/ref.d.ts +3 -0
  324. package/node_modules/es-errors/ref.js +4 -0
  325. package/node_modules/es-errors/syntax.d.ts +3 -0
  326. package/node_modules/es-errors/syntax.js +4 -0
  327. package/node_modules/es-errors/test/index.js +19 -0
  328. package/node_modules/es-errors/tsconfig.json +49 -0
  329. package/node_modules/es-errors/type.d.ts +3 -0
  330. package/node_modules/es-errors/type.js +4 -0
  331. package/node_modules/es-errors/uri.d.ts +3 -0
  332. package/node_modules/es-errors/uri.js +4 -0
  333. package/node_modules/es-object-atoms/.eslintrc +16 -0
  334. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  335. package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  336. package/node_modules/es-object-atoms/LICENSE +21 -0
  337. package/node_modules/es-object-atoms/README.md +63 -0
  338. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  339. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  340. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  341. package/node_modules/es-object-atoms/ToObject.js +10 -0
  342. package/node_modules/es-object-atoms/index.d.ts +3 -0
  343. package/node_modules/es-object-atoms/index.js +4 -0
  344. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  345. package/node_modules/es-object-atoms/isObject.js +6 -0
  346. package/node_modules/es-object-atoms/package.json +80 -0
  347. package/node_modules/es-object-atoms/test/index.js +38 -0
  348. package/node_modules/es-object-atoms/tsconfig.json +6 -0
  349. package/node_modules/es-set-tostringtag/.eslintrc +13 -0
  350. package/node_modules/es-set-tostringtag/.nycrc +9 -0
  351. package/node_modules/es-set-tostringtag/CHANGELOG.md +67 -0
  352. package/node_modules/es-set-tostringtag/LICENSE +21 -0
  353. package/node_modules/es-set-tostringtag/README.md +53 -0
  354. package/node_modules/es-set-tostringtag/index.d.ts +10 -0
  355. package/node_modules/es-set-tostringtag/index.js +35 -0
  356. package/node_modules/es-set-tostringtag/package.json +78 -0
  357. package/node_modules/es-set-tostringtag/test/index.js +85 -0
  358. package/node_modules/es-set-tostringtag/tsconfig.json +9 -0
  359. package/node_modules/follow-redirects/LICENSE +18 -0
  360. package/node_modules/follow-redirects/README.md +157 -0
  361. package/node_modules/follow-redirects/debug.js +15 -0
  362. package/node_modules/follow-redirects/http.js +1 -0
  363. package/node_modules/follow-redirects/https.js +1 -0
  364. package/node_modules/follow-redirects/index.js +709 -0
  365. package/node_modules/follow-redirects/package.json +58 -0
  366. package/node_modules/form-data/CHANGELOG.md +686 -0
  367. package/node_modules/form-data/License +19 -0
  368. package/node_modules/form-data/README.md +355 -0
  369. package/node_modules/form-data/index.d.ts +62 -0
  370. package/node_modules/form-data/lib/browser.js +4 -0
  371. package/node_modules/form-data/lib/form_data.js +506 -0
  372. package/node_modules/form-data/lib/populate.js +10 -0
  373. package/node_modules/form-data/package.json +82 -0
  374. package/node_modules/function-bind/.eslintrc +21 -0
  375. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  376. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  377. package/node_modules/function-bind/.nycrc +13 -0
  378. package/node_modules/function-bind/CHANGELOG.md +136 -0
  379. package/node_modules/function-bind/LICENSE +20 -0
  380. package/node_modules/function-bind/README.md +46 -0
  381. package/node_modules/function-bind/implementation.js +84 -0
  382. package/node_modules/function-bind/index.js +5 -0
  383. package/node_modules/function-bind/package.json +87 -0
  384. package/node_modules/function-bind/test/.eslintrc +9 -0
  385. package/node_modules/function-bind/test/index.js +252 -0
  386. package/node_modules/get-intrinsic/.eslintrc +42 -0
  387. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  388. package/node_modules/get-intrinsic/.nycrc +9 -0
  389. package/node_modules/get-intrinsic/CHANGELOG.md +186 -0
  390. package/node_modules/get-intrinsic/LICENSE +21 -0
  391. package/node_modules/get-intrinsic/README.md +71 -0
  392. package/node_modules/get-intrinsic/index.js +378 -0
  393. package/node_modules/get-intrinsic/package.json +97 -0
  394. package/node_modules/get-intrinsic/test/GetIntrinsic.js +274 -0
  395. package/node_modules/get-proto/.eslintrc +10 -0
  396. package/node_modules/get-proto/.github/FUNDING.yml +12 -0
  397. package/node_modules/get-proto/.nycrc +9 -0
  398. package/node_modules/get-proto/CHANGELOG.md +21 -0
  399. package/node_modules/get-proto/LICENSE +21 -0
  400. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  401. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  402. package/node_modules/get-proto/README.md +50 -0
  403. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  404. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  405. package/node_modules/get-proto/index.d.ts +5 -0
  406. package/node_modules/get-proto/index.js +27 -0
  407. package/node_modules/get-proto/package.json +81 -0
  408. package/node_modules/get-proto/test/index.js +68 -0
  409. package/node_modules/get-proto/tsconfig.json +9 -0
  410. package/node_modules/gopd/.eslintrc +16 -0
  411. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  412. package/node_modules/gopd/CHANGELOG.md +45 -0
  413. package/node_modules/gopd/LICENSE +21 -0
  414. package/node_modules/gopd/README.md +40 -0
  415. package/node_modules/gopd/gOPD.d.ts +1 -0
  416. package/node_modules/gopd/gOPD.js +4 -0
  417. package/node_modules/gopd/index.d.ts +5 -0
  418. package/node_modules/gopd/index.js +15 -0
  419. package/node_modules/gopd/package.json +77 -0
  420. package/node_modules/gopd/test/index.js +36 -0
  421. package/node_modules/gopd/tsconfig.json +9 -0
  422. package/node_modules/has-symbols/.eslintrc +11 -0
  423. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  424. package/node_modules/has-symbols/.nycrc +9 -0
  425. package/node_modules/has-symbols/CHANGELOG.md +91 -0
  426. package/node_modules/has-symbols/LICENSE +21 -0
  427. package/node_modules/has-symbols/README.md +46 -0
  428. package/node_modules/has-symbols/index.d.ts +3 -0
  429. package/node_modules/has-symbols/index.js +14 -0
  430. package/node_modules/has-symbols/package.json +111 -0
  431. package/node_modules/has-symbols/shams.d.ts +3 -0
  432. package/node_modules/has-symbols/shams.js +45 -0
  433. package/node_modules/has-symbols/test/index.js +22 -0
  434. package/node_modules/has-symbols/test/shams/core-js.js +29 -0
  435. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +29 -0
  436. package/node_modules/has-symbols/test/tests.js +58 -0
  437. package/node_modules/has-symbols/tsconfig.json +10 -0
  438. package/node_modules/has-tostringtag/.eslintrc +5 -0
  439. package/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
  440. package/node_modules/has-tostringtag/.nycrc +13 -0
  441. package/node_modules/has-tostringtag/CHANGELOG.md +42 -0
  442. package/node_modules/has-tostringtag/LICENSE +21 -0
  443. package/node_modules/has-tostringtag/README.md +46 -0
  444. package/node_modules/has-tostringtag/index.d.ts +3 -0
  445. package/node_modules/has-tostringtag/index.js +8 -0
  446. package/node_modules/has-tostringtag/package.json +108 -0
  447. package/node_modules/has-tostringtag/shams.d.ts +3 -0
  448. package/node_modules/has-tostringtag/shams.js +8 -0
  449. package/node_modules/has-tostringtag/test/index.js +21 -0
  450. package/node_modules/has-tostringtag/test/shams/core-js.js +31 -0
  451. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +30 -0
  452. package/node_modules/has-tostringtag/test/tests.js +15 -0
  453. package/node_modules/has-tostringtag/tsconfig.json +49 -0
  454. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  455. package/node_modules/hasown/.nycrc +13 -0
  456. package/node_modules/hasown/CHANGELOG.md +58 -0
  457. package/node_modules/hasown/LICENSE +21 -0
  458. package/node_modules/hasown/README.md +40 -0
  459. package/node_modules/hasown/eslint.config.mjs +6 -0
  460. package/node_modules/hasown/index.d.ts +3 -0
  461. package/node_modules/hasown/index.js +8 -0
  462. package/node_modules/hasown/package.json +91 -0
  463. package/node_modules/hasown/tsconfig.json +6 -0
  464. package/node_modules/ip-address/LICENSE +19 -0
  465. package/node_modules/ip-address/README.md +308 -0
  466. package/node_modules/ip-address/dist/address-error.d.ts +15 -0
  467. package/node_modules/ip-address/dist/address-error.js +12 -0
  468. package/node_modules/ip-address/dist/address-error.js.map +1 -0
  469. package/node_modules/ip-address/dist/common.d.ts +69 -0
  470. package/node_modules/ip-address/dist/common.js +142 -0
  471. package/node_modules/ip-address/dist/common.js.map +1 -0
  472. package/node_modules/ip-address/dist/ip-address.d.ts +7 -0
  473. package/node_modules/ip-address/dist/ip-address.js +35 -0
  474. package/node_modules/ip-address/dist/ip-address.js.map +1 -0
  475. package/node_modules/ip-address/dist/ipv4.d.ts +340 -0
  476. package/node_modules/ip-address/dist/ipv4.js +580 -0
  477. package/node_modules/ip-address/dist/ipv4.js.map +1 -0
  478. package/node_modules/ip-address/dist/ipv6.d.ts +630 -0
  479. package/node_modules/ip-address/dist/ipv6.js +1443 -0
  480. package/node_modules/ip-address/dist/ipv6.js.map +1 -0
  481. package/node_modules/ip-address/dist/v4/constants.d.ts +16 -0
  482. package/node_modules/ip-address/dist/v4/constants.js +51 -0
  483. package/node_modules/ip-address/dist/v4/constants.js.map +1 -0
  484. package/node_modules/ip-address/dist/v6/constants.d.ts +58 -0
  485. package/node_modules/ip-address/dist/v6/constants.js +128 -0
  486. package/node_modules/ip-address/dist/v6/constants.js.map +1 -0
  487. package/node_modules/ip-address/dist/v6/helpers.d.ts +18 -0
  488. package/node_modules/ip-address/dist/v6/helpers.js +54 -0
  489. package/node_modules/ip-address/dist/v6/helpers.js.map +1 -0
  490. package/node_modules/ip-address/dist/v6/regular-expressions.d.ts +5 -0
  491. package/node_modules/ip-address/dist/v6/regular-expressions.js +95 -0
  492. package/node_modules/ip-address/dist/v6/regular-expressions.js.map +1 -0
  493. package/node_modules/ip-address/package.json +90 -0
  494. package/node_modules/math-intrinsics/.eslintrc +16 -0
  495. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  496. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  497. package/node_modules/math-intrinsics/LICENSE +21 -0
  498. package/node_modules/math-intrinsics/README.md +50 -0
  499. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  500. package/node_modules/math-intrinsics/abs.js +4 -0
  501. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  502. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  503. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  504. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  505. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  506. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  507. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  508. package/node_modules/math-intrinsics/floor.js +4 -0
  509. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  510. package/node_modules/math-intrinsics/isFinite.js +12 -0
  511. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  512. package/node_modules/math-intrinsics/isInteger.js +16 -0
  513. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  514. package/node_modules/math-intrinsics/isNaN.js +6 -0
  515. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  516. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  517. package/node_modules/math-intrinsics/max.d.ts +1 -0
  518. package/node_modules/math-intrinsics/max.js +4 -0
  519. package/node_modules/math-intrinsics/min.d.ts +1 -0
  520. package/node_modules/math-intrinsics/min.js +4 -0
  521. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  522. package/node_modules/math-intrinsics/mod.js +9 -0
  523. package/node_modules/math-intrinsics/package.json +86 -0
  524. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  525. package/node_modules/math-intrinsics/pow.js +4 -0
  526. package/node_modules/math-intrinsics/round.d.ts +1 -0
  527. package/node_modules/math-intrinsics/round.js +4 -0
  528. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  529. package/node_modules/math-intrinsics/sign.js +11 -0
  530. package/node_modules/math-intrinsics/test/index.js +192 -0
  531. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  532. package/node_modules/mime-db/HISTORY.md +507 -0
  533. package/node_modules/mime-db/LICENSE +23 -0
  534. package/node_modules/mime-db/README.md +100 -0
  535. package/node_modules/mime-db/db.json +8519 -0
  536. package/node_modules/mime-db/index.js +12 -0
  537. package/node_modules/mime-db/package.json +60 -0
  538. package/node_modules/mime-types/HISTORY.md +397 -0
  539. package/node_modules/mime-types/LICENSE +23 -0
  540. package/node_modules/mime-types/README.md +113 -0
  541. package/node_modules/mime-types/index.js +188 -0
  542. package/node_modules/mime-types/package.json +44 -0
  543. package/node_modules/proxy-from-env/LICENSE +20 -0
  544. package/node_modules/proxy-from-env/README.md +163 -0
  545. package/node_modules/proxy-from-env/index.cjs +105 -0
  546. package/node_modules/proxy-from-env/index.js +103 -0
  547. package/node_modules/proxy-from-env/package.json +43 -0
  548. package/node_modules/smart-buffer/.prettierrc.yaml +5 -0
  549. package/node_modules/smart-buffer/.travis.yml +13 -0
  550. package/node_modules/smart-buffer/LICENSE +20 -0
  551. package/node_modules/smart-buffer/README.md +633 -0
  552. package/node_modules/smart-buffer/build/smartbuffer.js +1233 -0
  553. package/node_modules/smart-buffer/build/smartbuffer.js.map +1 -0
  554. package/node_modules/smart-buffer/build/utils.js +108 -0
  555. package/node_modules/smart-buffer/build/utils.js.map +1 -0
  556. package/node_modules/smart-buffer/docs/CHANGELOG.md +70 -0
  557. package/node_modules/smart-buffer/docs/README_v3.md +367 -0
  558. package/node_modules/smart-buffer/docs/ROADMAP.md +0 -0
  559. package/node_modules/smart-buffer/package.json +79 -0
  560. package/node_modules/smart-buffer/typings/smartbuffer.d.ts +755 -0
  561. package/node_modules/smart-buffer/typings/utils.d.ts +66 -0
  562. package/node_modules/socks/.eslintrc.cjs +11 -0
  563. package/node_modules/socks/.prettierrc.yaml +7 -0
  564. package/node_modules/socks/LICENSE +20 -0
  565. package/node_modules/socks/README.md +686 -0
  566. package/node_modules/socks/build/client/socksclient.js +793 -0
  567. package/node_modules/socks/build/client/socksclient.js.map +1 -0
  568. package/node_modules/socks/build/common/constants.js +108 -0
  569. package/node_modules/socks/build/common/constants.js.map +1 -0
  570. package/node_modules/socks/build/common/helpers.js +167 -0
  571. package/node_modules/socks/build/common/helpers.js.map +1 -0
  572. package/node_modules/socks/build/common/receivebuffer.js +43 -0
  573. package/node_modules/socks/build/common/receivebuffer.js.map +1 -0
  574. package/node_modules/socks/build/common/util.js +25 -0
  575. package/node_modules/socks/build/common/util.js.map +1 -0
  576. package/node_modules/socks/build/index.js +18 -0
  577. package/node_modules/socks/build/index.js.map +1 -0
  578. package/node_modules/socks/docs/examples/index.md +17 -0
  579. package/node_modules/socks/docs/examples/javascript/associateExample.md +90 -0
  580. package/node_modules/socks/docs/examples/javascript/bindExample.md +83 -0
  581. package/node_modules/socks/docs/examples/javascript/connectExample.md +258 -0
  582. package/node_modules/socks/docs/examples/typescript/associateExample.md +93 -0
  583. package/node_modules/socks/docs/examples/typescript/bindExample.md +86 -0
  584. package/node_modules/socks/docs/examples/typescript/connectExample.md +265 -0
  585. package/node_modules/socks/docs/index.md +5 -0
  586. package/node_modules/socks/docs/migratingFromV1.md +86 -0
  587. package/node_modules/socks/package.json +58 -0
  588. package/node_modules/socks/typings/client/socksclient.d.ts +162 -0
  589. package/node_modules/socks/typings/common/constants.d.ts +151 -0
  590. package/node_modules/socks/typings/common/helpers.d.ts +17 -0
  591. package/node_modules/socks/typings/common/receivebuffer.d.ts +12 -0
  592. package/node_modules/socks/typings/common/util.d.ts +14 -0
  593. package/node_modules/socks/typings/index.d.ts +1 -0
  594. package/node_modules/socks-proxy-agent/LICENSE +22 -0
  595. package/node_modules/socks-proxy-agent/README.md +50 -0
  596. package/node_modules/socks-proxy-agent/dist/index.d.ts +27 -0
  597. package/node_modules/socks-proxy-agent/dist/index.d.ts.map +1 -0
  598. package/node_modules/socks-proxy-agent/dist/index.js +195 -0
  599. package/node_modules/socks-proxy-agent/dist/index.js.map +1 -0
  600. package/node_modules/socks-proxy-agent/node_modules/debug/LICENSE +20 -0
  601. package/node_modules/socks-proxy-agent/node_modules/debug/README.md +481 -0
  602. package/node_modules/socks-proxy-agent/node_modules/debug/package.json +64 -0
  603. package/node_modules/socks-proxy-agent/node_modules/debug/src/browser.js +272 -0
  604. package/node_modules/socks-proxy-agent/node_modules/debug/src/common.js +292 -0
  605. package/node_modules/socks-proxy-agent/node_modules/debug/src/index.js +10 -0
  606. package/node_modules/socks-proxy-agent/node_modules/debug/src/node.js +263 -0
  607. package/node_modules/socks-proxy-agent/node_modules/ms/index.js +162 -0
  608. package/node_modules/socks-proxy-agent/node_modules/ms/license.md +21 -0
  609. package/node_modules/socks-proxy-agent/node_modules/ms/package.json +38 -0
  610. package/node_modules/socks-proxy-agent/node_modules/ms/readme.md +59 -0
  611. package/node_modules/socks-proxy-agent/package.json +142 -0
  612. package/node_modules/undici/LICENSE +21 -0
  613. package/node_modules/undici/README.md +473 -0
  614. package/node_modules/undici/docs/docs/api/Agent.md +80 -0
  615. package/node_modules/undici/docs/docs/api/BalancedPool.md +99 -0
  616. package/node_modules/undici/docs/docs/api/CacheStorage.md +30 -0
  617. package/node_modules/undici/docs/docs/api/Client.md +277 -0
  618. package/node_modules/undici/docs/docs/api/Connector.md +115 -0
  619. package/node_modules/undici/docs/docs/api/ContentType.md +57 -0
  620. package/node_modules/undici/docs/docs/api/Cookies.md +101 -0
  621. package/node_modules/undici/docs/docs/api/Debug.md +62 -0
  622. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +204 -0
  623. package/node_modules/undici/docs/docs/api/DispatchInterceptor.md +60 -0
  624. package/node_modules/undici/docs/docs/api/Dispatcher.md +1347 -0
  625. package/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +162 -0
  626. package/node_modules/undici/docs/docs/api/Errors.md +49 -0
  627. package/node_modules/undici/docs/docs/api/EventSource.md +45 -0
  628. package/node_modules/undici/docs/docs/api/Fetch.md +52 -0
  629. package/node_modules/undici/docs/docs/api/MockAgent.md +540 -0
  630. package/node_modules/undici/docs/docs/api/MockClient.md +77 -0
  631. package/node_modules/undici/docs/docs/api/MockErrors.md +12 -0
  632. package/node_modules/undici/docs/docs/api/MockPool.md +547 -0
  633. package/node_modules/undici/docs/docs/api/Pool.md +84 -0
  634. package/node_modules/undici/docs/docs/api/PoolStats.md +35 -0
  635. package/node_modules/undici/docs/docs/api/ProxyAgent.md +131 -0
  636. package/node_modules/undici/docs/docs/api/RedirectHandler.md +96 -0
  637. package/node_modules/undici/docs/docs/api/RetryAgent.md +45 -0
  638. package/node_modules/undici/docs/docs/api/RetryHandler.md +117 -0
  639. package/node_modules/undici/docs/docs/api/Util.md +25 -0
  640. package/node_modules/undici/docs/docs/api/WebSocket.md +51 -0
  641. package/node_modules/undici/docs/docs/api/api-lifecycle.md +91 -0
  642. package/node_modules/undici/docs/docs/best-practices/client-certificate.md +64 -0
  643. package/node_modules/undici/docs/docs/best-practices/mocking-request.md +136 -0
  644. package/node_modules/undici/docs/docs/best-practices/proxy.md +127 -0
  645. package/node_modules/undici/docs/docs/best-practices/writing-tests.md +20 -0
  646. package/node_modules/undici/index-fetch.js +35 -0
  647. package/node_modules/undici/index.d.ts +3 -0
  648. package/node_modules/undici/index.js +169 -0
  649. package/node_modules/undici/lib/api/abort-signal.js +57 -0
  650. package/node_modules/undici/lib/api/api-connect.js +108 -0
  651. package/node_modules/undici/lib/api/api-pipeline.js +251 -0
  652. package/node_modules/undici/lib/api/api-request.js +214 -0
  653. package/node_modules/undici/lib/api/api-stream.js +220 -0
  654. package/node_modules/undici/lib/api/api-upgrade.js +108 -0
  655. package/node_modules/undici/lib/api/index.js +7 -0
  656. package/node_modules/undici/lib/api/readable.js +385 -0
  657. package/node_modules/undici/lib/api/util.js +93 -0
  658. package/node_modules/undici/lib/core/connect.js +240 -0
  659. package/node_modules/undici/lib/core/constants.js +118 -0
  660. package/node_modules/undici/lib/core/diagnostics.js +202 -0
  661. package/node_modules/undici/lib/core/errors.js +425 -0
  662. package/node_modules/undici/lib/core/request.js +416 -0
  663. package/node_modules/undici/lib/core/symbols.js +67 -0
  664. package/node_modules/undici/lib/core/tree.js +152 -0
  665. package/node_modules/undici/lib/core/util.js +719 -0
  666. package/node_modules/undici/lib/dispatcher/agent.js +129 -0
  667. package/node_modules/undici/lib/dispatcher/balanced-pool.js +209 -0
  668. package/node_modules/undici/lib/dispatcher/client-h1.js +1496 -0
  669. package/node_modules/undici/lib/dispatcher/client-h2.js +744 -0
  670. package/node_modules/undici/lib/dispatcher/client.js +623 -0
  671. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +199 -0
  672. package/node_modules/undici/lib/dispatcher/dispatcher.js +65 -0
  673. package/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +160 -0
  674. package/node_modules/undici/lib/dispatcher/fixed-queue.js +117 -0
  675. package/node_modules/undici/lib/dispatcher/pool-base.js +194 -0
  676. package/node_modules/undici/lib/dispatcher/pool-stats.js +34 -0
  677. package/node_modules/undici/lib/dispatcher/pool.js +107 -0
  678. package/node_modules/undici/lib/dispatcher/proxy-agent.js +274 -0
  679. package/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  680. package/node_modules/undici/lib/global.js +32 -0
  681. package/node_modules/undici/lib/handler/decorator-handler.js +44 -0
  682. package/node_modules/undici/lib/handler/redirect-handler.js +232 -0
  683. package/node_modules/undici/lib/handler/retry-handler.js +408 -0
  684. package/node_modules/undici/lib/interceptor/dns.js +375 -0
  685. package/node_modules/undici/lib/interceptor/dump.js +123 -0
  686. package/node_modules/undici/lib/interceptor/redirect-interceptor.js +21 -0
  687. package/node_modules/undici/lib/interceptor/redirect.js +24 -0
  688. package/node_modules/undici/lib/interceptor/response-error.js +86 -0
  689. package/node_modules/undici/lib/interceptor/retry.js +19 -0
  690. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  691. package/node_modules/undici/lib/llhttp/constants.js +278 -0
  692. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +5 -0
  693. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +5 -0
  694. package/node_modules/undici/lib/llhttp/utils.js +15 -0
  695. package/node_modules/undici/lib/mock/mock-agent.js +160 -0
  696. package/node_modules/undici/lib/mock/mock-client.js +59 -0
  697. package/node_modules/undici/lib/mock/mock-errors.js +28 -0
  698. package/node_modules/undici/lib/mock/mock-interceptor.js +207 -0
  699. package/node_modules/undici/lib/mock/mock-pool.js +59 -0
  700. package/node_modules/undici/lib/mock/mock-symbols.js +23 -0
  701. package/node_modules/undici/lib/mock/mock-utils.js +367 -0
  702. package/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  703. package/node_modules/undici/lib/mock/pluralizer.js +29 -0
  704. package/node_modules/undici/lib/util/timers.js +423 -0
  705. package/node_modules/undici/lib/web/cache/cache.js +859 -0
  706. package/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  707. package/node_modules/undici/lib/web/cache/symbols.js +5 -0
  708. package/node_modules/undici/lib/web/cache/util.js +45 -0
  709. package/node_modules/undici/lib/web/cookies/constants.js +12 -0
  710. package/node_modules/undici/lib/web/cookies/index.js +184 -0
  711. package/node_modules/undici/lib/web/cookies/parse.js +310 -0
  712. package/node_modules/undici/lib/web/cookies/util.js +352 -0
  713. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +398 -0
  714. package/node_modules/undici/lib/web/eventsource/eventsource.js +480 -0
  715. package/node_modules/undici/lib/web/eventsource/util.js +37 -0
  716. package/node_modules/undici/lib/web/fetch/LICENSE +21 -0
  717. package/node_modules/undici/lib/web/fetch/body.js +529 -0
  718. package/node_modules/undici/lib/web/fetch/constants.js +124 -0
  719. package/node_modules/undici/lib/web/fetch/data-url.js +744 -0
  720. package/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +46 -0
  721. package/node_modules/undici/lib/web/fetch/file.js +126 -0
  722. package/node_modules/undici/lib/web/fetch/formdata-parser.js +474 -0
  723. package/node_modules/undici/lib/web/fetch/formdata.js +252 -0
  724. package/node_modules/undici/lib/web/fetch/global.js +40 -0
  725. package/node_modules/undici/lib/web/fetch/headers.js +687 -0
  726. package/node_modules/undici/lib/web/fetch/index.js +2272 -0
  727. package/node_modules/undici/lib/web/fetch/request.js +1037 -0
  728. package/node_modules/undici/lib/web/fetch/response.js +610 -0
  729. package/node_modules/undici/lib/web/fetch/symbols.js +9 -0
  730. package/node_modules/undici/lib/web/fetch/util.js +1632 -0
  731. package/node_modules/undici/lib/web/fetch/webidl.js +695 -0
  732. package/node_modules/undici/lib/web/fileapi/encoding.js +290 -0
  733. package/node_modules/undici/lib/web/fileapi/filereader.js +344 -0
  734. package/node_modules/undici/lib/web/fileapi/progressevent.js +78 -0
  735. package/node_modules/undici/lib/web/fileapi/symbols.js +10 -0
  736. package/node_modules/undici/lib/web/fileapi/util.js +391 -0
  737. package/node_modules/undici/lib/web/websocket/connection.js +371 -0
  738. package/node_modules/undici/lib/web/websocket/constants.js +66 -0
  739. package/node_modules/undici/lib/web/websocket/events.js +329 -0
  740. package/node_modules/undici/lib/web/websocket/frame.js +96 -0
  741. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +100 -0
  742. package/node_modules/undici/lib/web/websocket/receiver.js +513 -0
  743. package/node_modules/undici/lib/web/websocket/sender.js +104 -0
  744. package/node_modules/undici/lib/web/websocket/symbols.js +12 -0
  745. package/node_modules/undici/lib/web/websocket/util.js +322 -0
  746. package/node_modules/undici/lib/web/websocket/websocket.js +595 -0
  747. package/node_modules/undici/package.json +160 -0
  748. package/node_modules/undici/scripts/strip-comments.js +8 -0
  749. package/node_modules/undici/types/README.md +6 -0
  750. package/node_modules/undici/types/agent.d.ts +31 -0
  751. package/node_modules/undici/types/api.d.ts +43 -0
  752. package/node_modules/undici/types/balanced-pool.d.ts +29 -0
  753. package/node_modules/undici/types/cache.d.ts +36 -0
  754. package/node_modules/undici/types/client.d.ts +125 -0
  755. package/node_modules/undici/types/connector.d.ts +34 -0
  756. package/node_modules/undici/types/content-type.d.ts +21 -0
  757. package/node_modules/undici/types/cookies.d.ts +28 -0
  758. package/node_modules/undici/types/diagnostics-channel.d.ts +66 -0
  759. package/node_modules/undici/types/dispatcher.d.ts +256 -0
  760. package/node_modules/undici/types/env-http-proxy-agent.d.ts +21 -0
  761. package/node_modules/undici/types/errors.d.ts +155 -0
  762. package/node_modules/undici/types/eventsource.d.ts +61 -0
  763. package/node_modules/undici/types/fetch.d.ts +209 -0
  764. package/node_modules/undici/types/file.d.ts +39 -0
  765. package/node_modules/undici/types/filereader.d.ts +54 -0
  766. package/node_modules/undici/types/formdata.d.ts +108 -0
  767. package/node_modules/undici/types/global-dispatcher.d.ts +9 -0
  768. package/node_modules/undici/types/global-origin.d.ts +7 -0
  769. package/node_modules/undici/types/handlers.d.ts +15 -0
  770. package/node_modules/undici/types/header.d.ts +4 -0
  771. package/node_modules/undici/types/index.d.ts +71 -0
  772. package/node_modules/undici/types/interceptors.d.ts +32 -0
  773. package/node_modules/undici/types/mock-agent.d.ts +50 -0
  774. package/node_modules/undici/types/mock-client.d.ts +25 -0
  775. package/node_modules/undici/types/mock-errors.d.ts +12 -0
  776. package/node_modules/undici/types/mock-interceptor.d.ts +93 -0
  777. package/node_modules/undici/types/mock-pool.d.ts +25 -0
  778. package/node_modules/undici/types/patch.d.ts +33 -0
  779. package/node_modules/undici/types/pool-stats.d.ts +19 -0
  780. package/node_modules/undici/types/pool.d.ts +39 -0
  781. package/node_modules/undici/types/proxy-agent.d.ts +29 -0
  782. package/node_modules/undici/types/readable.d.ts +65 -0
  783. package/node_modules/undici/types/retry-agent.d.ts +8 -0
  784. package/node_modules/undici/types/retry-handler.d.ts +116 -0
  785. package/node_modules/undici/types/util.d.ts +18 -0
  786. package/node_modules/undici/types/webidl.d.ts +228 -0
  787. package/node_modules/undici/types/websocket.d.ts +150 -0
  788. package/package.json +4 -1
@@ -0,0 +1,131 @@
1
+ # Class: ProxyAgent
2
+
3
+ Extends: `undici.Dispatcher`
4
+
5
+ A Proxy Agent class that implements the Agent API. It allows the connection through proxy in a simple way.
6
+
7
+ ## `new ProxyAgent([options])`
8
+
9
+ Arguments:
10
+
11
+ * **options** `ProxyAgentOptions` (required) - It extends the `Agent` options.
12
+
13
+ Returns: `ProxyAgent`
14
+
15
+ ### Parameter: `ProxyAgentOptions`
16
+
17
+ Extends: [`AgentOptions`](Agent.md#parameter-agentoptions)
18
+
19
+ * **uri** `string | URL` (required) - The URI of the proxy server. This can be provided as a string, as an instance of the URL class, or as an object with a `uri` property of type string.
20
+ If the `uri` is provided as a string or `uri` is an object with an `uri` property of type string, then it will be parsed into a `URL` object according to the [WHATWG URL Specification](https://url.spec.whatwg.org).
21
+ For detailed information on the parsing process and potential validation errors, please refer to the ["Writing" section](https://url.spec.whatwg.org/#writing) of the WHATWG URL Specification.
22
+ * **token** `string` (optional) - It can be passed by a string of token for authentication.
23
+ * **auth** `string` (**deprecated**) - Use token.
24
+ * **clientFactory** `(origin: URL, opts: Object) => Dispatcher` (optional) - Default: `(origin, opts) => new Pool(origin, opts)`
25
+ * **requestTls** `BuildOptions` (optional) - Options object passed when creating the underlying socket via the connector builder for the request. It extends from [`Client#ConnectOptions`](/docs/docs/api/Client.md#parameter-connectoptions).
26
+ * **proxyTls** `BuildOptions` (optional) - Options object passed when creating the underlying socket via the connector builder for the proxy server. It extends from [`Client#ConnectOptions`](/docs/docs/api/Client.md#parameter-connectoptions).
27
+ * **proxyTunnel** `boolean` (optional) - For connections involving secure protocols, Undici will always establish a tunnel via the HTTP2 CONNECT extension. If proxyTunnel is set to true, this will occur for unsecured proxy/endpoint connections as well. Currently, there is no way to facilitate HTTP1 IP tunneling as described in https://www.rfc-editor.org/rfc/rfc9484.html#name-http-11-request. If proxyTunnel is set to false (the default), ProxyAgent connections where both the Proxy and Endpoint are unsecured will issue all requests to the Proxy, and prefix the endpoint request path with the endpoint origin address.
28
+
29
+ Examples:
30
+
31
+ ```js
32
+ import { ProxyAgent } from 'undici'
33
+
34
+ const proxyAgent = new ProxyAgent('my.proxy.server')
35
+ // or
36
+ const proxyAgent = new ProxyAgent(new URL('my.proxy.server'))
37
+ // or
38
+ const proxyAgent = new ProxyAgent({ uri: 'my.proxy.server' })
39
+ ```
40
+
41
+ #### Example - Basic ProxyAgent instantiation
42
+
43
+ This will instantiate the ProxyAgent. It will not do anything until registered as the agent to use with requests.
44
+
45
+ ```js
46
+ import { ProxyAgent } from 'undici'
47
+
48
+ const proxyAgent = new ProxyAgent('my.proxy.server')
49
+ ```
50
+
51
+ #### Example - Basic Proxy Request with global agent dispatcher
52
+
53
+ ```js
54
+ import { setGlobalDispatcher, request, ProxyAgent } from 'undici'
55
+
56
+ const proxyAgent = new ProxyAgent('my.proxy.server')
57
+ setGlobalDispatcher(proxyAgent)
58
+
59
+ const { statusCode, body } = await request('http://localhost:3000/foo')
60
+
61
+ console.log('response received', statusCode) // response received 200
62
+
63
+ for await (const data of body) {
64
+ console.log('data', data.toString('utf8')) // data foo
65
+ }
66
+ ```
67
+
68
+ #### Example - Basic Proxy Request with local agent dispatcher
69
+
70
+ ```js
71
+ import { ProxyAgent, request } from 'undici'
72
+
73
+ const proxyAgent = new ProxyAgent('my.proxy.server')
74
+
75
+ const {
76
+ statusCode,
77
+ body
78
+ } = await request('http://localhost:3000/foo', { dispatcher: proxyAgent })
79
+
80
+ console.log('response received', statusCode) // response received 200
81
+
82
+ for await (const data of body) {
83
+ console.log('data', data.toString('utf8')) // data foo
84
+ }
85
+ ```
86
+
87
+ #### Example - Basic Proxy Request with authentication
88
+
89
+ ```js
90
+ import { setGlobalDispatcher, request, ProxyAgent } from 'undici';
91
+
92
+ const proxyAgent = new ProxyAgent({
93
+ uri: 'my.proxy.server',
94
+ // token: 'Bearer xxxx'
95
+ token: `Basic ${Buffer.from('username:password').toString('base64')}`
96
+ });
97
+ setGlobalDispatcher(proxyAgent);
98
+
99
+ const { statusCode, body } = await request('http://localhost:3000/foo');
100
+
101
+ console.log('response received', statusCode); // response received 200
102
+
103
+ for await (const data of body) {
104
+ console.log('data', data.toString('utf8')); // data foo
105
+ }
106
+ ```
107
+
108
+ ### `ProxyAgent.close()`
109
+
110
+ Closes the proxy agent and waits for registered pools and clients to also close before resolving.
111
+
112
+ Returns: `Promise<void>`
113
+
114
+ #### Example - clean up after tests are complete
115
+
116
+ ```js
117
+ import { ProxyAgent, setGlobalDispatcher } from 'undici'
118
+
119
+ const proxyAgent = new ProxyAgent('my.proxy.server')
120
+ setGlobalDispatcher(proxyAgent)
121
+
122
+ await proxyAgent.close()
123
+ ```
124
+
125
+ ### `ProxyAgent.dispatch(options, handlers)`
126
+
127
+ Implements [`Agent.dispatch(options, handlers)`](Agent.md#parameter-agentdispatchoptions).
128
+
129
+ ### `ProxyAgent.request(options[, callback])`
130
+
131
+ See [`Dispatcher.request(options [, callback])`](Dispatcher.md#dispatcherrequestoptions-callback).
@@ -0,0 +1,96 @@
1
+ # Class: RedirectHandler
2
+
3
+ A class that handles redirection logic for HTTP requests.
4
+
5
+ ## `new RedirectHandler(dispatch, maxRedirections, opts, handler, redirectionLimitReached)`
6
+
7
+ Arguments:
8
+
9
+ - **dispatch** `function` - The dispatch function to be called after every retry.
10
+ - **maxRedirections** `number` - Maximum number of redirections allowed.
11
+ - **opts** `object` - Options for handling redirection.
12
+ - **handler** `object` - An object containing handlers for different stages of the request lifecycle.
13
+ - **redirectionLimitReached** `boolean` (default: `false`) - A flag that the implementer can provide to enable or disable the feature. If set to `false`, it indicates that the caller doesn't want to use the feature and prefers the old behavior.
14
+
15
+ Returns: `RedirectHandler`
16
+
17
+ ### Parameters
18
+
19
+ - **dispatch** `(options: Dispatch.DispatchOptions, handlers: Dispatch.DispatchHandlers) => Promise<Dispatch.DispatchResponse>` (required) - Dispatch function to be called after every redirection.
20
+ - **maxRedirections** `number` (required) - Maximum number of redirections allowed.
21
+ - **opts** `object` (required) - Options for handling redirection.
22
+ - **handler** `object` (required) - Handlers for different stages of the request lifecycle.
23
+ - **redirectionLimitReached** `boolean` (default: `false`) - A flag that the implementer can provide to enable or disable the feature. If set to `false`, it indicates that the caller doesn't want to use the feature and prefers the old behavior.
24
+
25
+ ### Properties
26
+
27
+ - **location** `string` - The current redirection location.
28
+ - **abort** `function` - The abort function.
29
+ - **opts** `object` - The options for handling redirection.
30
+ - **maxRedirections** `number` - Maximum number of redirections allowed.
31
+ - **handler** `object` - Handlers for different stages of the request lifecycle.
32
+ - **history** `Array` - An array representing the history of URLs during redirection.
33
+ - **redirectionLimitReached** `boolean` - Indicates whether the redirection limit has been reached.
34
+
35
+ ### Methods
36
+
37
+ #### `onConnect(abort)`
38
+
39
+ Called when the connection is established.
40
+
41
+ Parameters:
42
+
43
+ - **abort** `function` - The abort function.
44
+
45
+ #### `onUpgrade(statusCode, headers, socket)`
46
+
47
+ Called when an upgrade is requested.
48
+
49
+ Parameters:
50
+
51
+ - **statusCode** `number` - The HTTP status code.
52
+ - **headers** `object` - The headers received in the response.
53
+ - **socket** `object` - The socket object.
54
+
55
+ #### `onError(error)`
56
+
57
+ Called when an error occurs.
58
+
59
+ Parameters:
60
+
61
+ - **error** `Error` - The error that occurred.
62
+
63
+ #### `onHeaders(statusCode, headers, resume, statusText)`
64
+
65
+ Called when headers are received.
66
+
67
+ Parameters:
68
+
69
+ - **statusCode** `number` - The HTTP status code.
70
+ - **headers** `object` - The headers received in the response.
71
+ - **resume** `function` - The resume function.
72
+ - **statusText** `string` - The status text.
73
+
74
+ #### `onData(chunk)`
75
+
76
+ Called when data is received.
77
+
78
+ Parameters:
79
+
80
+ - **chunk** `Buffer` - The data chunk received.
81
+
82
+ #### `onComplete(trailers)`
83
+
84
+ Called when the request is complete.
85
+
86
+ Parameters:
87
+
88
+ - **trailers** `object` - The trailers received.
89
+
90
+ #### `onBodySent(chunk)`
91
+
92
+ Called when the request body is sent.
93
+
94
+ Parameters:
95
+
96
+ - **chunk** `Buffer` - The chunk of the request body sent.
@@ -0,0 +1,45 @@
1
+ # Class: RetryAgent
2
+
3
+ Extends: `undici.Dispatcher`
4
+
5
+ A `undici.Dispatcher` that allows to automatically retry a request.
6
+ Wraps a `undici.RetryHandler`.
7
+
8
+ ## `new RetryAgent(dispatcher, [options])`
9
+
10
+ Arguments:
11
+
12
+ * **dispatcher** `undici.Dispatcher` (required) - the dispatcher to wrap
13
+ * **options** `RetryHandlerOptions` (optional) - the options
14
+
15
+ Returns: `ProxyAgent`
16
+
17
+ ### Parameter: `RetryHandlerOptions`
18
+
19
+ - **retry** `(err: Error, context: RetryContext, callback: (err?: Error | null) => void) => void` (optional) - Function to be called after every retry. It should pass error if no more retries should be performed.
20
+ - **maxRetries** `number` (optional) - Maximum number of retries. Default: `5`
21
+ - **maxTimeout** `number` (optional) - Maximum number of milliseconds to wait before retrying. Default: `30000` (30 seconds)
22
+ - **minTimeout** `number` (optional) - Minimum number of milliseconds to wait before retrying. Default: `500` (half a second)
23
+ - **timeoutFactor** `number` (optional) - Factor to multiply the timeout by for each retry attempt. Default: `2`
24
+ - **retryAfter** `boolean` (optional) - It enables automatic retry after the `Retry-After` header is received. Default: `true`
25
+ -
26
+ - **methods** `string[]` (optional) - Array of HTTP methods to retry. Default: `['GET', 'PUT', 'HEAD', 'OPTIONS', 'DELETE']`
27
+ - **statusCodes** `number[]` (optional) - Array of HTTP status codes to retry. Default: `[429, 500, 502, 503, 504]`
28
+ - **errorCodes** `string[]` (optional) - Array of Error codes to retry. Default: `['ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'ENETDOWN','ENETUNREACH', 'EHOSTDOWN', 'UND_ERR_SOCKET']`
29
+
30
+ **`RetryContext`**
31
+
32
+ - `state`: `RetryState` - Current retry state. It can be mutated.
33
+ - `opts`: `Dispatch.DispatchOptions & RetryOptions` - Options passed to the retry handler.
34
+
35
+ Example:
36
+
37
+ ```js
38
+ import { Agent, RetryAgent } from 'undici'
39
+
40
+ const agent = new RetryAgent(new Agent())
41
+
42
+ const res = await agent.request('http://example.com')
43
+ console.log(res.statuCode)
44
+ console.log(await res.body.text())
45
+ ```
@@ -0,0 +1,117 @@
1
+ # Class: RetryHandler
2
+
3
+ Extends: `undici.DispatcherHandlers`
4
+
5
+ A handler class that implements the retry logic for a request.
6
+
7
+ ## `new RetryHandler(dispatchOptions, retryHandlers, [retryOptions])`
8
+
9
+ Arguments:
10
+
11
+ - **options** `Dispatch.DispatchOptions & RetryOptions` (required) - It is an intersection of `Dispatcher.DispatchOptions` and `RetryOptions`.
12
+ - **retryHandlers** `RetryHandlers` (required) - Object containing the `dispatch` to be used on every retry, and `handler` for handling the `dispatch` lifecycle.
13
+
14
+ Returns: `retryHandler`
15
+
16
+ ### Parameter: `Dispatch.DispatchOptions & RetryOptions`
17
+
18
+ Extends: [`Dispatch.DispatchOptions`](Dispatcher.md#parameter-dispatchoptions).
19
+
20
+ #### `RetryOptions`
21
+
22
+ - **retry** `(err: Error, context: RetryContext, callback: (err?: Error | null) => void) => number | null` (optional) - Function to be called after every retry. It should pass error if no more retries should be performed.
23
+ - **maxRetries** `number` (optional) - Maximum number of retries. Default: `5`
24
+ - **maxTimeout** `number` (optional) - Maximum number of milliseconds to wait before retrying. Default: `30000` (30 seconds)
25
+ - **minTimeout** `number` (optional) - Minimum number of milliseconds to wait before retrying. Default: `500` (half a second)
26
+ - **timeoutFactor** `number` (optional) - Factor to multiply the timeout by for each retry attempt. Default: `2`
27
+ - **retryAfter** `boolean` (optional) - It enables automatic retry after the `Retry-After` header is received. Default: `true`
28
+ -
29
+ - **methods** `string[]` (optional) - Array of HTTP methods to retry. Default: `['GET', 'PUT', 'HEAD', 'OPTIONS', 'DELETE']`
30
+ - **statusCodes** `number[]` (optional) - Array of HTTP status codes to retry. Default: `[429, 500, 502, 503, 504]`
31
+ - **errorCodes** `string[]` (optional) - Array of Error codes to retry. Default: `['ECONNRESET', 'ECONNREFUSED', 'ENOTFOUND', 'ENETDOWN','ENETUNREACH', 'EHOSTDOWN', 'UND_ERR_SOCKET']`
32
+
33
+ **`RetryContext`**
34
+
35
+ - `state`: `RetryState` - Current retry state. It can be mutated.
36
+ - `opts`: `Dispatch.DispatchOptions & RetryOptions` - Options passed to the retry handler.
37
+
38
+ **`RetryState`**
39
+
40
+ It represents the retry state for a given request.
41
+
42
+ - `counter`: `number` - Current retry attempt.
43
+
44
+ ### Parameter `RetryHandlers`
45
+
46
+ - **dispatch** `(options: Dispatch.DispatchOptions, handlers: Dispatch.DispatchHandlers) => Promise<Dispatch.DispatchResponse>` (required) - Dispatch function to be called after every retry.
47
+ - **handler** Extends [`Dispatch.DispatchHandlers`](Dispatcher.md#dispatcherdispatchoptions-handler) (required) - Handler function to be called after the request is successful or the retries are exhausted.
48
+
49
+ >__Note__: The `RetryHandler` does not retry over stateful bodies (e.g. streams, AsyncIterable) as those, once consumed, are left in an state that cannot be reutilized. For these situations the `RetryHandler` will identify
50
+ >the body as stateful and will not retry the request rejecting with the error `UND_ERR_REQ_RETRY`.
51
+
52
+ Examples:
53
+
54
+ ```js
55
+ const client = new Client(`http://localhost:${server.address().port}`);
56
+ const chunks = [];
57
+ const handler = new RetryHandler(
58
+ {
59
+ ...dispatchOptions,
60
+ retryOptions: {
61
+ // custom retry function
62
+ retry: function (err, state, callback) {
63
+ counter++;
64
+
65
+ if (err.code && err.code === "UND_ERR_DESTROYED") {
66
+ callback(err);
67
+ return;
68
+ }
69
+
70
+ if (err.statusCode === 206) {
71
+ callback(err);
72
+ return;
73
+ }
74
+
75
+ setTimeout(() => callback(null), 1000);
76
+ },
77
+ },
78
+ },
79
+ {
80
+ dispatch: (...args) => {
81
+ return client.dispatch(...args);
82
+ },
83
+ handler: {
84
+ onConnect() {},
85
+ onBodySent() {},
86
+ onHeaders(status, _rawHeaders, resume, _statusMessage) {
87
+ // do something with headers
88
+ },
89
+ onData(chunk) {
90
+ chunks.push(chunk);
91
+ return true;
92
+ },
93
+ onComplete() {},
94
+ onError() {
95
+ // handle error properly
96
+ },
97
+ },
98
+ }
99
+ );
100
+ ```
101
+
102
+ #### Example - Basic RetryHandler with defaults
103
+
104
+ ```js
105
+ const client = new Client(`http://localhost:${server.address().port}`);
106
+ const handler = new RetryHandler(dispatchOptions, {
107
+ dispatch: client.dispatch.bind(client),
108
+ handler: {
109
+ onConnect() {},
110
+ onBodySent() {},
111
+ onHeaders(status, _rawHeaders, resume, _statusMessage) {},
112
+ onData(chunk) {},
113
+ onComplete() {},
114
+ onError(err) {},
115
+ },
116
+ });
117
+ ```
@@ -0,0 +1,25 @@
1
+ # Util
2
+
3
+ Utility API for third-party implementations of the dispatcher API.
4
+
5
+ ## `parseHeaders(headers, [obj])`
6
+
7
+ Receives a header object and returns the parsed value.
8
+
9
+ Arguments:
10
+
11
+ - **headers** `(Buffer | string | (Buffer | string)[])[]` (required) - Header object.
12
+
13
+ - **obj** `Record<string, string | string[]>` (optional) - Object to specify a proxy object. The parsed value is assigned to this object. But, if **headers** is an object, it is not used.
14
+
15
+ Returns: `Record<string, string | string[]>` If **obj** is specified, it is equivalent to **obj**.
16
+
17
+ ## `headerNameToString(value)`
18
+
19
+ Retrieves a header name and returns its lowercase value.
20
+
21
+ Arguments:
22
+
23
+ - **value** `string | Buffer` (required) - Header name.
24
+
25
+ Returns: `string`
@@ -0,0 +1,51 @@
1
+ # Class: WebSocket
2
+
3
+ > ⚠️ Warning: the WebSocket API is experimental.
4
+
5
+ Extends: [`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget)
6
+
7
+ The WebSocket object provides a way to manage a WebSocket connection to a server, allowing bidirectional communication. The API follows the [WebSocket spec](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket) and [RFC 6455](https://datatracker.ietf.org/doc/html/rfc6455).
8
+
9
+ ## `new WebSocket(url[, protocol])`
10
+
11
+ Arguments:
12
+
13
+ * **url** `URL | string` - The url's protocol *must* be `ws` or `wss`.
14
+ * **protocol** `string | string[] | WebSocketInit` (optional) - Subprotocol(s) to request the server use, or a [`Dispatcher`](./Dispatcher.md).
15
+
16
+ ### WebSocketInit
17
+
18
+ When passing an object as the second argument, the following options are available:
19
+
20
+ * **protocols** `string | string[]` (optional) - Subprotocol(s) to request the server use.
21
+ * **dispatcher** `Dispatcher` (optional) - A custom [`Dispatcher`](/docs/docs/api/Dispatcher.md) to use for the connection.
22
+ * **headers** `HeadersInit` (optional) - Custom headers to include in the WebSocket handshake request.
23
+
24
+ ### Example:
25
+
26
+ This example will not work in browsers or other platforms that don't allow passing an object.
27
+
28
+ ```mjs
29
+ import { WebSocket, ProxyAgent } from 'undici'
30
+
31
+ const proxyAgent = new ProxyAgent('my.proxy.server')
32
+
33
+ const ws = new WebSocket('wss://echo.websocket.events', {
34
+ dispatcher: proxyAgent,
35
+ protocols: ['echo', 'chat']
36
+ })
37
+ ```
38
+
39
+ If you do not need a custom Dispatcher, it's recommended to use the following pattern:
40
+
41
+ ```mjs
42
+ import { WebSocket } from 'undici'
43
+
44
+ const ws = new WebSocket('wss://echo.websocket.events', ['echo', 'chat'])
45
+ ```
46
+
47
+ ## Read More
48
+
49
+ - [MDN - WebSocket](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket)
50
+ - [The WebSocket Specification](https://www.rfc-editor.org/rfc/rfc6455)
51
+ - [The WHATWG WebSocket Specification](https://websockets.spec.whatwg.org/)
@@ -0,0 +1,91 @@
1
+ # Client Lifecycle
2
+
3
+ An Undici [Client](Client.md) can be best described as a state machine. The following list is a summary of the various state transitions the `Client` will go through in its lifecycle. This document also contains detailed breakdowns of each state.
4
+
5
+ > This diagram is not a perfect representation of the undici Client. Since the Client class is not actually implemented as a state-machine, actual execution may deviate slightly from what is described below. Consider this as a general resource for understanding the inner workings of the Undici client rather than some kind of formal specification.
6
+
7
+ ## State Transition Overview
8
+
9
+ * A `Client` begins in the **idle** state with no socket connection and no requests in queue.
10
+ * The *connect* event transitions the `Client` to the **pending** state where requests can be queued prior to processing.
11
+ * The *close* and *destroy* events transition the `Client` to the **destroyed** state. Since there are no requests in the queue, the *close* event immediately transitions to the **destroyed** state.
12
+ * The **pending** state indicates the underlying socket connection has been successfully established and requests are queueing.
13
+ * The *process* event transitions the `Client` to the **processing** state where requests are processed.
14
+ * If requests are queued, the *close* event transitions to the **processing** state; otherwise, it transitions to the **destroyed** state.
15
+ * The *destroy* event transitions to the **destroyed** state.
16
+ * The **processing** state initializes to the **processing.running** state.
17
+ * If the current request requires draining, the *needDrain* event transitions the `Client` into the **processing.busy** state which will return to the **processing.running** state with the *drainComplete* event.
18
+ * After all queued requests are completed, the *keepalive* event transitions the `Client` back to the **pending** state. If no requests are queued during the timeout, the **close** event transitions the `Client` to the **destroyed** state.
19
+ * If the *close* event is fired while the `Client` still has queued requests, the `Client` transitions to the **process.closing** state where it will complete all existing requests before firing the *done* event.
20
+ * The *done* event gracefully transitions the `Client` to the **destroyed** state.
21
+ * At any point in time, the *destroy* event will transition the `Client` from the **processing** state to the **destroyed** state, destroying any queued requests.
22
+ * The **destroyed** state is a final state and the `Client` is no longer functional.
23
+
24
+ A state diagram representing an Undici Client instance:
25
+
26
+ ```mermaid
27
+ stateDiagram-v2
28
+ [*] --> idle
29
+ idle --> pending : connect
30
+ idle --> destroyed : destroy/close
31
+
32
+ pending --> idle : timeout
33
+ pending --> destroyed : destroy
34
+
35
+ state close_fork <<fork>>
36
+ pending --> close_fork : close
37
+ close_fork --> processing
38
+ close_fork --> destroyed
39
+
40
+ pending --> processing : process
41
+
42
+ processing --> pending : keepalive
43
+ processing --> destroyed : done
44
+ processing --> destroyed : destroy
45
+
46
+ destroyed --> [*]
47
+
48
+ state processing {
49
+ [*] --> running
50
+ running --> closing : close
51
+ running --> busy : needDrain
52
+ busy --> running : drainComplete
53
+ running --> [*] : keepalive
54
+ closing --> [*] : done
55
+ }
56
+ ```
57
+ ## State details
58
+
59
+ ### idle
60
+
61
+ The **idle** state is the initial state of a `Client` instance. While an `origin` is required for instantiating a `Client` instance, the underlying socket connection will not be established until a request is queued using [`Client.dispatch()`](Client.md#clientdispatchoptions-handlers). By calling `Client.dispatch()` directly or using one of the multiple implementations ([`Client.connect()`](Client.md#clientconnectoptions-callback), [`Client.pipeline()`](Client.md#clientpipelineoptions-handler), [`Client.request()`](Client.md#clientrequestoptions-callback), [`Client.stream()`](Client.md#clientstreamoptions-factory-callback), and [`Client.upgrade()`](Client.md#clientupgradeoptions-callback)), the `Client` instance will transition from **idle** to [**pending**](#pending) and then most likely directly to [**processing**](#processing).
62
+
63
+ Calling [`Client.close()`](Client.md#clientclosecallback) or [`Client.destroy()`](Client.md#clientdestroyerror-callback) transitions directly to the [**destroyed**](#destroyed) state since the `Client` instance will have no queued requests in this state.
64
+
65
+ ### pending
66
+
67
+ The **pending** state signifies a non-processing `Client`. Upon entering this state, the `Client` establishes a socket connection and emits the [`'connect'`](Client.md#event-connect) event signalling a connection was successfully established with the `origin` provided during `Client` instantiation. The internal queue is initially empty, and requests can start queueing.
68
+
69
+ Calling [`Client.close()`](Client.md#clientclosecallback) with queued requests, transitions the `Client` to the [**processing**](#processing) state. Without queued requests, it transitions to the [**destroyed**](#destroyed) state.
70
+
71
+ Calling [`Client.destroy()`](Client.md#clientdestroyerror-callback) transitions directly to the [**destroyed**](#destroyed) state regardless of existing requests.
72
+
73
+ ### processing
74
+
75
+ The **processing** state is a state machine within itself. It initializes to the [**processing.running**](#running) state. The [`Client.dispatch()`](Client.md#clientdispatchoptions-handlers), [`Client.close()`](Client.md#clientclosecallback), and [`Client.destroy()`](Client.md#clientdestroyerror-callback) can be called at any time while the `Client` is in this state. `Client.dispatch()` will add more requests to the queue while existing requests continue to be processed. `Client.close()` will transition to the [**processing.closing**](#closing) state. And `Client.destroy()` will transition to [**destroyed**](#destroyed).
76
+
77
+ #### running
78
+
79
+ In the **processing.running** sub-state, queued requests are being processed in a FIFO order. If a request body requires draining, the *needDrain* event transitions to the [**processing.busy**](#busy) sub-state. The *close* event transitions the Client to the [**process.closing**](#closing) sub-state. If all queued requests are processed and neither [`Client.close()`](Client.md#clientclosecallback) nor [`Client.destroy()`](Client.md#clientdestroyerror-callback) are called, then the [**processing**](#processing) machine will trigger a *keepalive* event transitioning the `Client` back to the [**pending**](#pending) state. During this time, the `Client` is waiting for the socket connection to timeout, and once it does, it triggers the *timeout* event and transitions to the [**idle**](#idle) state.
80
+
81
+ #### busy
82
+
83
+ This sub-state is only entered when a request body is an instance of [Stream](https://nodejs.org/api/stream.html) and requires draining. The `Client` cannot process additional requests while in this state and must wait until the currently processing request body is completely drained before transitioning back to [**processing.running**](#running).
84
+
85
+ #### closing
86
+
87
+ This sub-state is only entered when a `Client` instance has queued requests and the [`Client.close()`](Client.md#clientclosecallback) method is called. In this state, the `Client` instance continues to process requests as usual, with the one exception that no additional requests can be queued. Once all of the queued requests are processed, the `Client` will trigger the *done* event gracefully entering the [**destroyed**](#destroyed) state without an error.
88
+
89
+ ### destroyed
90
+
91
+ The **destroyed** state is a final state for the `Client` instance. Once in this state, a `Client` is nonfunctional. Calling any other `Client` methods will result in an `ClientDestroyedError`.
@@ -0,0 +1,64 @@
1
+ # Client certificate
2
+
3
+ Client certificate authentication can be configured with the `Client`, the required options are passed along through the `connect` option.
4
+
5
+ The client certificates must be signed by a trusted CA. The Node.js default is to trust the well-known CAs curated by Mozilla.
6
+
7
+ Setting the server option `requestCert: true` tells the server to request the client certificate.
8
+
9
+ The server option `rejectUnauthorized: false` allows us to handle any invalid certificate errors in client code. The `authorized` property on the socket of the incoming request will show if the client certificate was valid. The `authorizationError` property will give the reason if the certificate was not valid.
10
+
11
+ ### Client Certificate Authentication
12
+
13
+ ```js
14
+ const { readFileSync } = require('node:fs')
15
+ const { join } = require('node:path')
16
+ const { createServer } = require('node:https')
17
+ const { Client } = require('undici')
18
+
19
+ const serverOptions = {
20
+ ca: [
21
+ readFileSync(join(__dirname, 'client-ca-crt.pem'), 'utf8')
22
+ ],
23
+ key: readFileSync(join(__dirname, 'server-key.pem'), 'utf8'),
24
+ cert: readFileSync(join(__dirname, 'server-crt.pem'), 'utf8'),
25
+ requestCert: true,
26
+ rejectUnauthorized: false
27
+ }
28
+
29
+ const server = createServer(serverOptions, (req, res) => {
30
+ // true if client cert is valid
31
+ if(req.client.authorized === true) {
32
+ console.log('valid')
33
+ } else {
34
+ console.error(req.client.authorizationError)
35
+ }
36
+ res.end()
37
+ })
38
+
39
+ server.listen(0, function () {
40
+ const tls = {
41
+ ca: [
42
+ readFileSync(join(__dirname, 'server-ca-crt.pem'), 'utf8')
43
+ ],
44
+ key: readFileSync(join(__dirname, 'client-key.pem'), 'utf8'),
45
+ cert: readFileSync(join(__dirname, 'client-crt.pem'), 'utf8'),
46
+ rejectUnauthorized: false,
47
+ servername: 'agent1'
48
+ }
49
+ const client = new Client(`https://localhost:${server.address().port}`, {
50
+ connect: tls
51
+ })
52
+
53
+ client.request({
54
+ path: '/',
55
+ method: 'GET'
56
+ }, (err, { body }) => {
57
+ body.on('data', (buf) => {})
58
+ body.on('end', () => {
59
+ client.close()
60
+ server.close()
61
+ })
62
+ })
63
+ })
64
+ ```