pnpm 11.0.5 → 11.0.7

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 (377) hide show
  1. package/dist/node_modules/node-gyp/.release-please-manifest.json +1 -1
  2. package/dist/node_modules/node-gyp/gyp/.release-please-manifest.json +1 -1
  3. package/dist/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py +11 -3
  4. package/dist/node_modules/node-gyp/gyp/pylib/gyp/__init__.py +2 -3
  5. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py +1 -1
  6. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja.py +2 -1
  7. package/dist/node_modules/node-gyp/gyp/pylib/gyp/generator/ninja_test.py +26 -16
  8. package/dist/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py +1 -1
  9. package/dist/node_modules/node-gyp/gyp/pylib/gyp/msvs_emulation.py +1 -1
  10. package/dist/node_modules/node-gyp/gyp/pylib/gyp/simple_copy.py +2 -2
  11. package/dist/node_modules/node-gyp/gyp/pylib/packaging/metadata.py +3 -20
  12. package/dist/node_modules/node-gyp/gyp/pylib/packaging/tags.py +2 -14
  13. package/dist/node_modules/node-gyp/gyp/pyproject.toml +5 -3
  14. package/dist/node_modules/node-gyp/lib/download.js +55 -8
  15. package/dist/node_modules/node-gyp/lib/find-visualstudio.js +1 -1
  16. package/dist/node_modules/node-gyp/lib/process-release.js +17 -19
  17. package/dist/node_modules/node-gyp/package.json +3 -3
  18. package/dist/node_modules/{safer-buffer → undici}/LICENSE +1 -1
  19. package/dist/node_modules/undici/index-fetch.js +35 -0
  20. package/dist/node_modules/undici/index.js +169 -0
  21. package/dist/node_modules/undici/lib/api/abort-signal.js +57 -0
  22. package/dist/node_modules/undici/lib/api/api-connect.js +108 -0
  23. package/dist/node_modules/undici/lib/api/api-pipeline.js +251 -0
  24. package/dist/node_modules/undici/lib/api/api-request.js +214 -0
  25. package/dist/node_modules/undici/lib/api/api-stream.js +220 -0
  26. package/dist/node_modules/undici/lib/api/api-upgrade.js +108 -0
  27. package/dist/node_modules/undici/lib/api/index.js +7 -0
  28. package/dist/node_modules/undici/lib/api/readable.js +385 -0
  29. package/dist/node_modules/undici/lib/api/util.js +93 -0
  30. package/dist/node_modules/undici/lib/core/connect.js +240 -0
  31. package/dist/node_modules/undici/lib/core/constants.js +118 -0
  32. package/dist/node_modules/undici/lib/core/diagnostics.js +202 -0
  33. package/dist/node_modules/undici/lib/core/errors.js +425 -0
  34. package/dist/node_modules/undici/lib/core/request.js +405 -0
  35. package/dist/node_modules/undici/lib/core/symbols.js +67 -0
  36. package/dist/node_modules/undici/lib/core/tree.js +152 -0
  37. package/dist/node_modules/undici/lib/core/util.js +719 -0
  38. package/dist/node_modules/undici/lib/dispatcher/agent.js +130 -0
  39. package/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +209 -0
  40. package/dist/node_modules/undici/lib/dispatcher/client-h1.js +1370 -0
  41. package/dist/node_modules/undici/lib/dispatcher/client-h2.js +744 -0
  42. package/dist/node_modules/undici/lib/dispatcher/client.js +623 -0
  43. package/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +198 -0
  44. package/dist/node_modules/undici/lib/dispatcher/dispatcher.js +65 -0
  45. package/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +160 -0
  46. package/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +117 -0
  47. package/dist/node_modules/undici/lib/dispatcher/pool-base.js +194 -0
  48. package/dist/node_modules/undici/lib/dispatcher/pool-stats.js +34 -0
  49. package/dist/node_modules/undici/lib/dispatcher/pool.js +107 -0
  50. package/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +274 -0
  51. package/dist/node_modules/undici/lib/dispatcher/retry-agent.js +35 -0
  52. package/dist/node_modules/undici/lib/global.js +32 -0
  53. package/dist/node_modules/undici/lib/handler/decorator-handler.js +44 -0
  54. package/dist/node_modules/undici/lib/handler/redirect-handler.js +232 -0
  55. package/dist/node_modules/undici/lib/handler/retry-handler.js +374 -0
  56. package/dist/node_modules/undici/lib/interceptor/dns.js +375 -0
  57. package/dist/node_modules/undici/lib/interceptor/dump.js +123 -0
  58. package/dist/node_modules/undici/lib/interceptor/redirect-interceptor.js +21 -0
  59. package/dist/node_modules/undici/lib/interceptor/redirect.js +24 -0
  60. package/dist/node_modules/undici/lib/interceptor/response-error.js +86 -0
  61. package/dist/node_modules/undici/lib/interceptor/retry.js +19 -0
  62. package/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  63. package/dist/node_modules/undici/lib/llhttp/constants.js +278 -0
  64. package/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +5 -0
  65. package/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +5 -0
  66. package/dist/node_modules/undici/lib/llhttp/utils.js +15 -0
  67. package/dist/node_modules/undici/lib/mock/mock-agent.js +160 -0
  68. package/dist/node_modules/undici/lib/mock/mock-client.js +59 -0
  69. package/dist/node_modules/undici/lib/mock/mock-errors.js +28 -0
  70. package/dist/node_modules/undici/lib/mock/mock-interceptor.js +207 -0
  71. package/dist/node_modules/undici/lib/mock/mock-pool.js +59 -0
  72. package/dist/node_modules/undici/lib/mock/mock-symbols.js +23 -0
  73. package/dist/node_modules/undici/lib/mock/mock-utils.js +367 -0
  74. package/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +43 -0
  75. package/dist/node_modules/undici/lib/mock/pluralizer.js +29 -0
  76. package/dist/node_modules/undici/lib/util/timers.js +423 -0
  77. package/dist/node_modules/undici/lib/web/cache/cache.js +859 -0
  78. package/dist/node_modules/undici/lib/web/cache/cachestorage.js +152 -0
  79. package/dist/node_modules/undici/lib/web/cache/symbols.js +5 -0
  80. package/dist/node_modules/undici/lib/web/cache/util.js +45 -0
  81. package/dist/node_modules/undici/lib/web/cookies/constants.js +12 -0
  82. package/dist/node_modules/undici/lib/web/cookies/index.js +184 -0
  83. package/dist/node_modules/undici/lib/web/cookies/parse.js +317 -0
  84. package/dist/node_modules/undici/lib/web/cookies/util.js +282 -0
  85. package/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +398 -0
  86. package/dist/node_modules/undici/lib/web/eventsource/eventsource.js +480 -0
  87. package/dist/node_modules/undici/lib/web/eventsource/util.js +37 -0
  88. package/dist/node_modules/{@npmcli/redact → undici/lib/web/fetch}/LICENSE +1 -1
  89. package/dist/node_modules/undici/lib/web/fetch/body.js +529 -0
  90. package/dist/node_modules/undici/lib/web/fetch/constants.js +124 -0
  91. package/dist/node_modules/undici/lib/web/fetch/data-url.js +744 -0
  92. package/dist/node_modules/undici/lib/web/fetch/dispatcher-weakref.js +46 -0
  93. package/dist/node_modules/undici/lib/web/fetch/file.js +126 -0
  94. package/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +474 -0
  95. package/dist/node_modules/undici/lib/web/fetch/formdata.js +252 -0
  96. package/dist/node_modules/undici/lib/web/fetch/global.js +40 -0
  97. package/dist/node_modules/undici/lib/web/fetch/headers.js +687 -0
  98. package/dist/node_modules/undici/lib/web/fetch/index.js +2272 -0
  99. package/dist/node_modules/undici/lib/web/fetch/request.js +1037 -0
  100. package/dist/node_modules/undici/lib/web/fetch/response.js +610 -0
  101. package/dist/node_modules/undici/lib/web/fetch/symbols.js +9 -0
  102. package/dist/node_modules/undici/lib/web/fetch/util.js +1632 -0
  103. package/dist/node_modules/undici/lib/web/fetch/webidl.js +695 -0
  104. package/dist/node_modules/undici/lib/web/fileapi/encoding.js +290 -0
  105. package/dist/node_modules/undici/lib/web/fileapi/filereader.js +344 -0
  106. package/dist/node_modules/undici/lib/web/fileapi/progressevent.js +78 -0
  107. package/dist/node_modules/undici/lib/web/fileapi/symbols.js +10 -0
  108. package/dist/node_modules/undici/lib/web/fileapi/util.js +391 -0
  109. package/dist/node_modules/undici/lib/web/websocket/connection.js +371 -0
  110. package/dist/node_modules/undici/lib/web/websocket/constants.js +66 -0
  111. package/dist/node_modules/undici/lib/web/websocket/events.js +329 -0
  112. package/dist/node_modules/undici/lib/web/websocket/frame.js +96 -0
  113. package/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +100 -0
  114. package/dist/node_modules/undici/lib/web/websocket/receiver.js +490 -0
  115. package/dist/node_modules/undici/lib/web/websocket/sender.js +104 -0
  116. package/dist/node_modules/undici/lib/web/websocket/symbols.js +12 -0
  117. package/dist/node_modules/undici/lib/web/websocket/util.js +322 -0
  118. package/dist/node_modules/undici/lib/web/websocket/websocket.js +592 -0
  119. package/dist/node_modules/undici/package.json +160 -0
  120. package/dist/node_modules/undici/scripts/strip-comments.js +8 -0
  121. package/dist/node_modules/yallist/package.json +51 -12
  122. package/dist/pnpm.mjs +5915 -5140
  123. package/dist/worker.js +70 -67
  124. package/package.json +1 -1
  125. package/dist/node_modules/@gar/promise-retry/LICENSE +0 -20
  126. package/dist/node_modules/@gar/promise-retry/lib/index.js +0 -62
  127. package/dist/node_modules/@gar/promise-retry/lib/retry.js +0 -109
  128. package/dist/node_modules/@gar/promise-retry/package.json +0 -45
  129. package/dist/node_modules/@npmcli/agent/lib/agents.js +0 -206
  130. package/dist/node_modules/@npmcli/agent/lib/dns.js +0 -53
  131. package/dist/node_modules/@npmcli/agent/lib/errors.js +0 -61
  132. package/dist/node_modules/@npmcli/agent/lib/index.js +0 -56
  133. package/dist/node_modules/@npmcli/agent/lib/options.js +0 -86
  134. package/dist/node_modules/@npmcli/agent/lib/proxy.js +0 -88
  135. package/dist/node_modules/@npmcli/agent/package.json +0 -60
  136. package/dist/node_modules/@npmcli/fs/lib/common/get-options.js +0 -20
  137. package/dist/node_modules/@npmcli/fs/lib/common/node.js +0 -9
  138. package/dist/node_modules/@npmcli/fs/lib/cp/LICENSE +0 -15
  139. package/dist/node_modules/@npmcli/fs/lib/cp/errors.js +0 -129
  140. package/dist/node_modules/@npmcli/fs/lib/cp/index.js +0 -22
  141. package/dist/node_modules/@npmcli/fs/lib/cp/polyfill.js +0 -428
  142. package/dist/node_modules/@npmcli/fs/lib/index.js +0 -13
  143. package/dist/node_modules/@npmcli/fs/lib/move-file.js +0 -78
  144. package/dist/node_modules/@npmcli/fs/lib/readdir-scoped.js +0 -20
  145. package/dist/node_modules/@npmcli/fs/lib/with-temp-dir.js +0 -39
  146. package/dist/node_modules/@npmcli/fs/package.json +0 -54
  147. package/dist/node_modules/@npmcli/redact/lib/deep-map.js +0 -71
  148. package/dist/node_modules/@npmcli/redact/lib/error.js +0 -28
  149. package/dist/node_modules/@npmcli/redact/lib/index.js +0 -44
  150. package/dist/node_modules/@npmcli/redact/lib/matchers.js +0 -88
  151. package/dist/node_modules/@npmcli/redact/lib/server.js +0 -59
  152. package/dist/node_modules/@npmcli/redact/lib/utils.js +0 -202
  153. package/dist/node_modules/@npmcli/redact/package.json +0 -52
  154. package/dist/node_modules/agent-base/LICENSE +0 -22
  155. package/dist/node_modules/agent-base/dist/helpers.js +0 -66
  156. package/dist/node_modules/agent-base/dist/index.js +0 -178
  157. package/dist/node_modules/agent-base/package.json +0 -46
  158. package/dist/node_modules/balanced-match/dist/commonjs/index.js +0 -59
  159. package/dist/node_modules/balanced-match/dist/esm/index.js +0 -54
  160. package/dist/node_modules/balanced-match/package.json +0 -68
  161. package/dist/node_modules/brace-expansion/LICENSE +0 -23
  162. package/dist/node_modules/brace-expansion/dist/commonjs/index.js +0 -201
  163. package/dist/node_modules/brace-expansion/dist/commonjs/package.json +0 -3
  164. package/dist/node_modules/brace-expansion/dist/esm/index.js +0 -197
  165. package/dist/node_modules/brace-expansion/dist/esm/package.json +0 -3
  166. package/dist/node_modules/brace-expansion/package.json +0 -64
  167. package/dist/node_modules/cacache/lib/content/path.js +0 -29
  168. package/dist/node_modules/cacache/lib/content/read.js +0 -165
  169. package/dist/node_modules/cacache/lib/content/rm.js +0 -18
  170. package/dist/node_modules/cacache/lib/content/write.js +0 -206
  171. package/dist/node_modules/cacache/lib/entry-index.js +0 -336
  172. package/dist/node_modules/cacache/lib/get.js +0 -170
  173. package/dist/node_modules/cacache/lib/index.js +0 -42
  174. package/dist/node_modules/cacache/lib/memoization.js +0 -72
  175. package/dist/node_modules/cacache/lib/put.js +0 -80
  176. package/dist/node_modules/cacache/lib/rm.js +0 -31
  177. package/dist/node_modules/cacache/lib/util/glob.js +0 -7
  178. package/dist/node_modules/cacache/lib/util/hash-to-segments.js +0 -7
  179. package/dist/node_modules/cacache/lib/util/tmp.js +0 -32
  180. package/dist/node_modules/cacache/lib/verify.js +0 -258
  181. package/dist/node_modules/cacache/package.json +0 -81
  182. package/dist/node_modules/debug/LICENSE +0 -20
  183. package/dist/node_modules/debug/package.json +0 -64
  184. package/dist/node_modules/debug/src/browser.js +0 -272
  185. package/dist/node_modules/debug/src/common.js +0 -292
  186. package/dist/node_modules/debug/src/index.js +0 -10
  187. package/dist/node_modules/debug/src/node.js +0 -263
  188. package/dist/node_modules/fs-minipass/LICENSE +0 -15
  189. package/dist/node_modules/fs-minipass/lib/index.js +0 -443
  190. package/dist/node_modules/fs-minipass/package.json +0 -54
  191. package/dist/node_modules/glob/dist/commonjs/glob.js +0 -248
  192. package/dist/node_modules/glob/dist/commonjs/has-magic.js +0 -27
  193. package/dist/node_modules/glob/dist/commonjs/ignore.js +0 -119
  194. package/dist/node_modules/glob/dist/commonjs/index.js +0 -68
  195. package/dist/node_modules/glob/dist/commonjs/index.min.js +0 -4
  196. package/dist/node_modules/glob/dist/commonjs/package.json +0 -3
  197. package/dist/node_modules/glob/dist/commonjs/pattern.js +0 -223
  198. package/dist/node_modules/glob/dist/commonjs/processor.js +0 -301
  199. package/dist/node_modules/glob/dist/commonjs/walker.js +0 -387
  200. package/dist/node_modules/glob/dist/esm/glob.js +0 -244
  201. package/dist/node_modules/glob/dist/esm/has-magic.js +0 -23
  202. package/dist/node_modules/glob/dist/esm/ignore.js +0 -115
  203. package/dist/node_modules/glob/dist/esm/index.js +0 -55
  204. package/dist/node_modules/glob/dist/esm/index.min.js +0 -4
  205. package/dist/node_modules/glob/dist/esm/package.json +0 -3
  206. package/dist/node_modules/glob/dist/esm/pattern.js +0 -219
  207. package/dist/node_modules/glob/dist/esm/processor.js +0 -294
  208. package/dist/node_modules/glob/dist/esm/walker.js +0 -381
  209. package/dist/node_modules/glob/package.json +0 -98
  210. package/dist/node_modules/http-cache-semantics/LICENSE +0 -9
  211. package/dist/node_modules/http-cache-semantics/index.js +0 -928
  212. package/dist/node_modules/http-cache-semantics/package.json +0 -22
  213. package/dist/node_modules/http-proxy-agent/LICENSE +0 -22
  214. package/dist/node_modules/http-proxy-agent/dist/index.js +0 -148
  215. package/dist/node_modules/http-proxy-agent/package.json +0 -47
  216. package/dist/node_modules/https-proxy-agent/LICENSE +0 -22
  217. package/dist/node_modules/https-proxy-agent/dist/index.js +0 -180
  218. package/dist/node_modules/https-proxy-agent/dist/parse-proxy-response.js +0 -101
  219. package/dist/node_modules/https-proxy-agent/package.json +0 -50
  220. package/dist/node_modules/iconv-lite/LICENSE +0 -21
  221. package/dist/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -532
  222. package/dist/node_modules/iconv-lite/encodings/dbcs-data.js +0 -185
  223. package/dist/node_modules/iconv-lite/encodings/index.js +0 -23
  224. package/dist/node_modules/iconv-lite/encodings/internal.js +0 -218
  225. package/dist/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -75
  226. package/dist/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  227. package/dist/node_modules/iconv-lite/encodings/sbcs-data.js +0 -178
  228. package/dist/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  229. package/dist/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  230. package/dist/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  231. package/dist/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  232. package/dist/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  233. package/dist/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  234. package/dist/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -56
  235. package/dist/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  236. package/dist/node_modules/iconv-lite/encodings/utf16.js +0 -187
  237. package/dist/node_modules/iconv-lite/encodings/utf32.js +0 -307
  238. package/dist/node_modules/iconv-lite/encodings/utf7.js +0 -283
  239. package/dist/node_modules/iconv-lite/lib/bom-handling.js +0 -48
  240. package/dist/node_modules/iconv-lite/lib/helpers/merge-exports.js +0 -13
  241. package/dist/node_modules/iconv-lite/lib/index.js +0 -182
  242. package/dist/node_modules/iconv-lite/lib/streams.js +0 -105
  243. package/dist/node_modules/iconv-lite/package.json +0 -70
  244. package/dist/node_modules/ip-address/LICENSE +0 -19
  245. package/dist/node_modules/ip-address/dist/address-error.js +0 -12
  246. package/dist/node_modules/ip-address/dist/common.js +0 -46
  247. package/dist/node_modules/ip-address/dist/ip-address.js +0 -35
  248. package/dist/node_modules/ip-address/dist/ipv4.js +0 -360
  249. package/dist/node_modules/ip-address/dist/ipv6.js +0 -1003
  250. package/dist/node_modules/ip-address/dist/v4/constants.js +0 -8
  251. package/dist/node_modules/ip-address/dist/v6/constants.js +0 -76
  252. package/dist/node_modules/ip-address/dist/v6/helpers.js +0 -45
  253. package/dist/node_modules/ip-address/dist/v6/regular-expressions.js +0 -95
  254. package/dist/node_modules/ip-address/package.json +0 -78
  255. package/dist/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +0 -10
  256. package/dist/node_modules/lru-cache/dist/commonjs/index.js +0 -1692
  257. package/dist/node_modules/lru-cache/dist/commonjs/index.min.js +0 -2
  258. package/dist/node_modules/lru-cache/dist/commonjs/package.json +0 -3
  259. package/dist/node_modules/lru-cache/dist/esm/browser/diagnostics-channel.js +0 -4
  260. package/dist/node_modules/lru-cache/dist/esm/browser/index.js +0 -1688
  261. package/dist/node_modules/lru-cache/dist/esm/browser/index.min.js +0 -2
  262. package/dist/node_modules/lru-cache/dist/esm/diagnostics-channel.js +0 -19
  263. package/dist/node_modules/lru-cache/dist/esm/index.js +0 -1688
  264. package/dist/node_modules/lru-cache/dist/esm/index.min.js +0 -2
  265. package/dist/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +0 -7
  266. package/dist/node_modules/lru-cache/dist/esm/node/index.js +0 -1688
  267. package/dist/node_modules/lru-cache/dist/esm/node/index.min.js +0 -2
  268. package/dist/node_modules/lru-cache/dist/esm/package.json +0 -3
  269. package/dist/node_modules/lru-cache/package.json +0 -126
  270. package/dist/node_modules/make-fetch-happen/LICENSE +0 -16
  271. package/dist/node_modules/make-fetch-happen/lib/cache/entry.js +0 -471
  272. package/dist/node_modules/make-fetch-happen/lib/cache/errors.js +0 -11
  273. package/dist/node_modules/make-fetch-happen/lib/cache/index.js +0 -49
  274. package/dist/node_modules/make-fetch-happen/lib/cache/key.js +0 -17
  275. package/dist/node_modules/make-fetch-happen/lib/cache/policy.js +0 -161
  276. package/dist/node_modules/make-fetch-happen/lib/fetch.js +0 -118
  277. package/dist/node_modules/make-fetch-happen/lib/index.js +0 -41
  278. package/dist/node_modules/make-fetch-happen/lib/options.js +0 -59
  279. package/dist/node_modules/make-fetch-happen/lib/pipeline.js +0 -41
  280. package/dist/node_modules/make-fetch-happen/lib/remote.js +0 -134
  281. package/dist/node_modules/make-fetch-happen/package.json +0 -75
  282. package/dist/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +0 -14
  283. package/dist/node_modules/minimatch/dist/commonjs/ast.js +0 -845
  284. package/dist/node_modules/minimatch/dist/commonjs/brace-expressions.js +0 -150
  285. package/dist/node_modules/minimatch/dist/commonjs/escape.js +0 -30
  286. package/dist/node_modules/minimatch/dist/commonjs/index.js +0 -1127
  287. package/dist/node_modules/minimatch/dist/commonjs/package.json +0 -3
  288. package/dist/node_modules/minimatch/dist/commonjs/unescape.js +0 -38
  289. package/dist/node_modules/minimatch/dist/esm/assert-valid-pattern.js +0 -10
  290. package/dist/node_modules/minimatch/dist/esm/ast.js +0 -841
  291. package/dist/node_modules/minimatch/dist/esm/brace-expressions.js +0 -146
  292. package/dist/node_modules/minimatch/dist/esm/escape.js +0 -26
  293. package/dist/node_modules/minimatch/dist/esm/index.js +0 -1114
  294. package/dist/node_modules/minimatch/dist/esm/package.json +0 -3
  295. package/dist/node_modules/minimatch/dist/esm/unescape.js +0 -34
  296. package/dist/node_modules/minimatch/package.json +0 -73
  297. package/dist/node_modules/minipass-collect/LICENSE +0 -15
  298. package/dist/node_modules/minipass-collect/index.js +0 -71
  299. package/dist/node_modules/minipass-collect/package.json +0 -30
  300. package/dist/node_modules/minipass-fetch/LICENSE +0 -28
  301. package/dist/node_modules/minipass-fetch/lib/abort-error.js +0 -17
  302. package/dist/node_modules/minipass-fetch/lib/blob.js +0 -97
  303. package/dist/node_modules/minipass-fetch/lib/body.js +0 -360
  304. package/dist/node_modules/minipass-fetch/lib/fetch-error.js +0 -32
  305. package/dist/node_modules/minipass-fetch/lib/headers.js +0 -267
  306. package/dist/node_modules/minipass-fetch/lib/index.js +0 -376
  307. package/dist/node_modules/minipass-fetch/lib/request.js +0 -282
  308. package/dist/node_modules/minipass-fetch/lib/response.js +0 -90
  309. package/dist/node_modules/minipass-fetch/package.json +0 -70
  310. package/dist/node_modules/minipass-flush/index.js +0 -39
  311. package/dist/node_modules/minipass-flush/node_modules/minipass/LICENSE +0 -15
  312. package/dist/node_modules/minipass-flush/node_modules/minipass/index.js +0 -649
  313. package/dist/node_modules/minipass-flush/node_modules/minipass/package.json +0 -56
  314. package/dist/node_modules/minipass-flush/package.json +0 -42
  315. package/dist/node_modules/minipass-pipeline/LICENSE +0 -15
  316. package/dist/node_modules/minipass-pipeline/index.js +0 -128
  317. package/dist/node_modules/minipass-pipeline/node_modules/minipass/LICENSE +0 -15
  318. package/dist/node_modules/minipass-pipeline/node_modules/minipass/index.js +0 -649
  319. package/dist/node_modules/minipass-pipeline/node_modules/minipass/package.json +0 -56
  320. package/dist/node_modules/minipass-pipeline/package.json +0 -29
  321. package/dist/node_modules/minipass-sized/LICENSE +0 -15
  322. package/dist/node_modules/minipass-sized/dist/commonjs/index.js +0 -69
  323. package/dist/node_modules/minipass-sized/dist/commonjs/package.json +0 -3
  324. package/dist/node_modules/minipass-sized/dist/esm/index.js +0 -64
  325. package/dist/node_modules/minipass-sized/dist/esm/package.json +0 -3
  326. package/dist/node_modules/minipass-sized/package.json +0 -69
  327. package/dist/node_modules/ms/index.js +0 -162
  328. package/dist/node_modules/ms/package.json +0 -38
  329. package/dist/node_modules/negotiator/LICENSE +0 -24
  330. package/dist/node_modules/negotiator/index.js +0 -83
  331. package/dist/node_modules/negotiator/lib/charset.js +0 -169
  332. package/dist/node_modules/negotiator/lib/encoding.js +0 -205
  333. package/dist/node_modules/negotiator/lib/language.js +0 -179
  334. package/dist/node_modules/negotiator/lib/mediaType.js +0 -294
  335. package/dist/node_modules/negotiator/package.json +0 -43
  336. package/dist/node_modules/p-map/index.js +0 -283
  337. package/dist/node_modules/p-map/license +0 -9
  338. package/dist/node_modules/p-map/package.json +0 -57
  339. package/dist/node_modules/path-scurry/dist/commonjs/index.js +0 -2018
  340. package/dist/node_modules/path-scurry/dist/commonjs/package.json +0 -3
  341. package/dist/node_modules/path-scurry/dist/esm/index.js +0 -1983
  342. package/dist/node_modules/path-scurry/dist/esm/package.json +0 -3
  343. package/dist/node_modules/path-scurry/package.json +0 -72
  344. package/dist/node_modules/safer-buffer/dangerous.js +0 -58
  345. package/dist/node_modules/safer-buffer/package.json +0 -34
  346. package/dist/node_modules/safer-buffer/safer.js +0 -77
  347. package/dist/node_modules/safer-buffer/tests.js +0 -406
  348. package/dist/node_modules/smart-buffer/.prettierrc.yaml +0 -5
  349. package/dist/node_modules/smart-buffer/LICENSE +0 -20
  350. package/dist/node_modules/smart-buffer/build/smartbuffer.js +0 -1233
  351. package/dist/node_modules/smart-buffer/build/utils.js +0 -108
  352. package/dist/node_modules/smart-buffer/package.json +0 -79
  353. package/dist/node_modules/socks/.eslintrc.cjs +0 -11
  354. package/dist/node_modules/socks/.prettierrc.yaml +0 -7
  355. package/dist/node_modules/socks/LICENSE +0 -20
  356. package/dist/node_modules/socks/build/client/socksclient.js +0 -793
  357. package/dist/node_modules/socks/build/common/constants.js +0 -108
  358. package/dist/node_modules/socks/build/common/helpers.js +0 -167
  359. package/dist/node_modules/socks/build/common/receivebuffer.js +0 -43
  360. package/dist/node_modules/socks/build/common/util.js +0 -25
  361. package/dist/node_modules/socks/build/index.js +0 -18
  362. package/dist/node_modules/socks/package.json +0 -58
  363. package/dist/node_modules/socks-proxy-agent/LICENSE +0 -22
  364. package/dist/node_modules/socks-proxy-agent/dist/index.js +0 -195
  365. package/dist/node_modules/socks-proxy-agent/package.json +0 -142
  366. package/dist/node_modules/ssri/lib/index.js +0 -550
  367. package/dist/node_modules/ssri/package.json +0 -66
  368. package/dist/node_modules/tar/node_modules/yallist/dist/commonjs/package.json +0 -3
  369. package/dist/node_modules/tar/node_modules/yallist/dist/esm/package.json +0 -3
  370. package/dist/node_modules/tar/node_modules/yallist/package.json +0 -68
  371. package/dist/node_modules/yallist/LICENSE +0 -15
  372. package/dist/node_modules/yallist/iterator.js +0 -8
  373. package/dist/node_modules/yallist/yallist.js +0 -426
  374. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/commonjs/index.js +0 -0
  375. /package/dist/node_modules/{balanced-match → yallist}/dist/commonjs/package.json +0 -0
  376. /package/dist/node_modules/{tar/node_modules/yallist → yallist}/dist/esm/index.js +0 -0
  377. /package/dist/node_modules/{balanced-match → yallist}/dist/esm/package.json +0 -0
@@ -0,0 +1,375 @@
1
+ 'use strict'
2
+ const { isIP } = require('node:net')
3
+ const { lookup } = require('node:dns')
4
+ const DecoratorHandler = require('../handler/decorator-handler')
5
+ const { InvalidArgumentError, InformationalError } = require('../core/errors')
6
+ const maxInt = Math.pow(2, 31) - 1
7
+
8
+ class DNSInstance {
9
+ #maxTTL = 0
10
+ #maxItems = 0
11
+ #records = new Map()
12
+ dualStack = true
13
+ affinity = null
14
+ lookup = null
15
+ pick = null
16
+
17
+ constructor (opts) {
18
+ this.#maxTTL = opts.maxTTL
19
+ this.#maxItems = opts.maxItems
20
+ this.dualStack = opts.dualStack
21
+ this.affinity = opts.affinity
22
+ this.lookup = opts.lookup ?? this.#defaultLookup
23
+ this.pick = opts.pick ?? this.#defaultPick
24
+ }
25
+
26
+ get full () {
27
+ return this.#records.size === this.#maxItems
28
+ }
29
+
30
+ runLookup (origin, opts, cb) {
31
+ const ips = this.#records.get(origin.hostname)
32
+
33
+ // If full, we just return the origin
34
+ if (ips == null && this.full) {
35
+ cb(null, origin.origin)
36
+ return
37
+ }
38
+
39
+ const newOpts = {
40
+ affinity: this.affinity,
41
+ dualStack: this.dualStack,
42
+ lookup: this.lookup,
43
+ pick: this.pick,
44
+ ...opts.dns,
45
+ maxTTL: this.#maxTTL,
46
+ maxItems: this.#maxItems
47
+ }
48
+
49
+ // If no IPs we lookup
50
+ if (ips == null) {
51
+ this.lookup(origin, newOpts, (err, addresses) => {
52
+ if (err || addresses == null || addresses.length === 0) {
53
+ cb(err ?? new InformationalError('No DNS entries found'))
54
+ return
55
+ }
56
+
57
+ this.setRecords(origin, addresses)
58
+ const records = this.#records.get(origin.hostname)
59
+
60
+ const ip = this.pick(
61
+ origin,
62
+ records,
63
+ newOpts.affinity
64
+ )
65
+
66
+ let port
67
+ if (typeof ip.port === 'number') {
68
+ port = `:${ip.port}`
69
+ } else if (origin.port !== '') {
70
+ port = `:${origin.port}`
71
+ } else {
72
+ port = ''
73
+ }
74
+
75
+ cb(
76
+ null,
77
+ `${origin.protocol}//${
78
+ ip.family === 6 ? `[${ip.address}]` : ip.address
79
+ }${port}`
80
+ )
81
+ })
82
+ } else {
83
+ // If there's IPs we pick
84
+ const ip = this.pick(
85
+ origin,
86
+ ips,
87
+ newOpts.affinity
88
+ )
89
+
90
+ // If no IPs we lookup - deleting old records
91
+ if (ip == null) {
92
+ this.#records.delete(origin.hostname)
93
+ this.runLookup(origin, opts, cb)
94
+ return
95
+ }
96
+
97
+ let port
98
+ if (typeof ip.port === 'number') {
99
+ port = `:${ip.port}`
100
+ } else if (origin.port !== '') {
101
+ port = `:${origin.port}`
102
+ } else {
103
+ port = ''
104
+ }
105
+
106
+ cb(
107
+ null,
108
+ `${origin.protocol}//${
109
+ ip.family === 6 ? `[${ip.address}]` : ip.address
110
+ }${port}`
111
+ )
112
+ }
113
+ }
114
+
115
+ #defaultLookup (origin, opts, cb) {
116
+ lookup(
117
+ origin.hostname,
118
+ {
119
+ all: true,
120
+ family: this.dualStack === false ? this.affinity : 0,
121
+ order: 'ipv4first'
122
+ },
123
+ (err, addresses) => {
124
+ if (err) {
125
+ return cb(err)
126
+ }
127
+
128
+ const results = new Map()
129
+
130
+ for (const addr of addresses) {
131
+ // On linux we found duplicates, we attempt to remove them with
132
+ // the latest record
133
+ results.set(`${addr.address}:${addr.family}`, addr)
134
+ }
135
+
136
+ cb(null, results.values())
137
+ }
138
+ )
139
+ }
140
+
141
+ #defaultPick (origin, hostnameRecords, affinity) {
142
+ let ip = null
143
+ const { records, offset } = hostnameRecords
144
+
145
+ let family
146
+ if (this.dualStack) {
147
+ if (affinity == null) {
148
+ // Balance between ip families
149
+ if (offset == null || offset === maxInt) {
150
+ hostnameRecords.offset = 0
151
+ affinity = 4
152
+ } else {
153
+ hostnameRecords.offset++
154
+ affinity = (hostnameRecords.offset & 1) === 1 ? 6 : 4
155
+ }
156
+ }
157
+
158
+ if (records[affinity] != null && records[affinity].ips.length > 0) {
159
+ family = records[affinity]
160
+ } else {
161
+ family = records[affinity === 4 ? 6 : 4]
162
+ }
163
+ } else {
164
+ family = records[affinity]
165
+ }
166
+
167
+ // If no IPs we return null
168
+ if (family == null || family.ips.length === 0) {
169
+ return ip
170
+ }
171
+
172
+ if (family.offset == null || family.offset === maxInt) {
173
+ family.offset = 0
174
+ } else {
175
+ family.offset++
176
+ }
177
+
178
+ const position = family.offset % family.ips.length
179
+ ip = family.ips[position] ?? null
180
+
181
+ if (ip == null) {
182
+ return ip
183
+ }
184
+
185
+ if (Date.now() - ip.timestamp > ip.ttl) { // record TTL is already in ms
186
+ // We delete expired records
187
+ // It is possible that they have different TTL, so we manage them individually
188
+ family.ips.splice(position, 1)
189
+ return this.pick(origin, hostnameRecords, affinity)
190
+ }
191
+
192
+ return ip
193
+ }
194
+
195
+ setRecords (origin, addresses) {
196
+ const timestamp = Date.now()
197
+ const records = { records: { 4: null, 6: null } }
198
+ for (const record of addresses) {
199
+ record.timestamp = timestamp
200
+ if (typeof record.ttl === 'number') {
201
+ // The record TTL is expected to be in ms
202
+ record.ttl = Math.min(record.ttl, this.#maxTTL)
203
+ } else {
204
+ record.ttl = this.#maxTTL
205
+ }
206
+
207
+ const familyRecords = records.records[record.family] ?? { ips: [] }
208
+
209
+ familyRecords.ips.push(record)
210
+ records.records[record.family] = familyRecords
211
+ }
212
+
213
+ this.#records.set(origin.hostname, records)
214
+ }
215
+
216
+ getHandler (meta, opts) {
217
+ return new DNSDispatchHandler(this, meta, opts)
218
+ }
219
+ }
220
+
221
+ class DNSDispatchHandler extends DecoratorHandler {
222
+ #state = null
223
+ #opts = null
224
+ #dispatch = null
225
+ #handler = null
226
+ #origin = null
227
+
228
+ constructor (state, { origin, handler, dispatch }, opts) {
229
+ super(handler)
230
+ this.#origin = origin
231
+ this.#handler = handler
232
+ this.#opts = { ...opts }
233
+ this.#state = state
234
+ this.#dispatch = dispatch
235
+ }
236
+
237
+ onError (err) {
238
+ switch (err.code) {
239
+ case 'ETIMEDOUT':
240
+ case 'ECONNREFUSED': {
241
+ if (this.#state.dualStack) {
242
+ // We delete the record and retry
243
+ this.#state.runLookup(this.#origin, this.#opts, (err, newOrigin) => {
244
+ if (err) {
245
+ return this.#handler.onError(err)
246
+ }
247
+
248
+ const dispatchOpts = {
249
+ ...this.#opts,
250
+ origin: newOrigin
251
+ }
252
+
253
+ this.#dispatch(dispatchOpts, this)
254
+ })
255
+
256
+ // if dual-stack disabled, we error out
257
+ return
258
+ }
259
+
260
+ this.#handler.onError(err)
261
+ return
262
+ }
263
+ case 'ENOTFOUND':
264
+ this.#state.deleteRecord(this.#origin)
265
+ // eslint-disable-next-line no-fallthrough
266
+ default:
267
+ this.#handler.onError(err)
268
+ break
269
+ }
270
+ }
271
+ }
272
+
273
+ module.exports = interceptorOpts => {
274
+ if (
275
+ interceptorOpts?.maxTTL != null &&
276
+ (typeof interceptorOpts?.maxTTL !== 'number' || interceptorOpts?.maxTTL < 0)
277
+ ) {
278
+ throw new InvalidArgumentError('Invalid maxTTL. Must be a positive number')
279
+ }
280
+
281
+ if (
282
+ interceptorOpts?.maxItems != null &&
283
+ (typeof interceptorOpts?.maxItems !== 'number' ||
284
+ interceptorOpts?.maxItems < 1)
285
+ ) {
286
+ throw new InvalidArgumentError(
287
+ 'Invalid maxItems. Must be a positive number and greater than zero'
288
+ )
289
+ }
290
+
291
+ if (
292
+ interceptorOpts?.affinity != null &&
293
+ interceptorOpts?.affinity !== 4 &&
294
+ interceptorOpts?.affinity !== 6
295
+ ) {
296
+ throw new InvalidArgumentError('Invalid affinity. Must be either 4 or 6')
297
+ }
298
+
299
+ if (
300
+ interceptorOpts?.dualStack != null &&
301
+ typeof interceptorOpts?.dualStack !== 'boolean'
302
+ ) {
303
+ throw new InvalidArgumentError('Invalid dualStack. Must be a boolean')
304
+ }
305
+
306
+ if (
307
+ interceptorOpts?.lookup != null &&
308
+ typeof interceptorOpts?.lookup !== 'function'
309
+ ) {
310
+ throw new InvalidArgumentError('Invalid lookup. Must be a function')
311
+ }
312
+
313
+ if (
314
+ interceptorOpts?.pick != null &&
315
+ typeof interceptorOpts?.pick !== 'function'
316
+ ) {
317
+ throw new InvalidArgumentError('Invalid pick. Must be a function')
318
+ }
319
+
320
+ const dualStack = interceptorOpts?.dualStack ?? true
321
+ let affinity
322
+ if (dualStack) {
323
+ affinity = interceptorOpts?.affinity ?? null
324
+ } else {
325
+ affinity = interceptorOpts?.affinity ?? 4
326
+ }
327
+
328
+ const opts = {
329
+ maxTTL: interceptorOpts?.maxTTL ?? 10e3, // Expressed in ms
330
+ lookup: interceptorOpts?.lookup ?? null,
331
+ pick: interceptorOpts?.pick ?? null,
332
+ dualStack,
333
+ affinity,
334
+ maxItems: interceptorOpts?.maxItems ?? Infinity
335
+ }
336
+
337
+ const instance = new DNSInstance(opts)
338
+
339
+ return dispatch => {
340
+ return function dnsInterceptor (origDispatchOpts, handler) {
341
+ const origin =
342
+ origDispatchOpts.origin.constructor === URL
343
+ ? origDispatchOpts.origin
344
+ : new URL(origDispatchOpts.origin)
345
+
346
+ if (isIP(origin.hostname) !== 0) {
347
+ return dispatch(origDispatchOpts, handler)
348
+ }
349
+
350
+ instance.runLookup(origin, origDispatchOpts, (err, newOrigin) => {
351
+ if (err) {
352
+ return handler.onError(err)
353
+ }
354
+
355
+ let dispatchOpts = null
356
+ dispatchOpts = {
357
+ ...origDispatchOpts,
358
+ servername: origin.hostname, // For SNI on TLS
359
+ origin: newOrigin,
360
+ headers: {
361
+ host: origin.hostname,
362
+ ...origDispatchOpts.headers
363
+ }
364
+ }
365
+
366
+ dispatch(
367
+ dispatchOpts,
368
+ instance.getHandler({ origin, dispatch, handler }, origDispatchOpts)
369
+ )
370
+ })
371
+
372
+ return true
373
+ }
374
+ }
375
+ }
@@ -0,0 +1,123 @@
1
+ 'use strict'
2
+
3
+ const util = require('../core/util')
4
+ const { InvalidArgumentError, RequestAbortedError } = require('../core/errors')
5
+ const DecoratorHandler = require('../handler/decorator-handler')
6
+
7
+ class DumpHandler extends DecoratorHandler {
8
+ #maxSize = 1024 * 1024
9
+ #abort = null
10
+ #dumped = false
11
+ #aborted = false
12
+ #size = 0
13
+ #reason = null
14
+ #handler = null
15
+
16
+ constructor ({ maxSize }, handler) {
17
+ super(handler)
18
+
19
+ if (maxSize != null && (!Number.isFinite(maxSize) || maxSize < 1)) {
20
+ throw new InvalidArgumentError('maxSize must be a number greater than 0')
21
+ }
22
+
23
+ this.#maxSize = maxSize ?? this.#maxSize
24
+ this.#handler = handler
25
+ }
26
+
27
+ onConnect (abort) {
28
+ this.#abort = abort
29
+
30
+ this.#handler.onConnect(this.#customAbort.bind(this))
31
+ }
32
+
33
+ #customAbort (reason) {
34
+ this.#aborted = true
35
+ this.#reason = reason
36
+ }
37
+
38
+ // TODO: will require adjustment after new hooks are out
39
+ onHeaders (statusCode, rawHeaders, resume, statusMessage) {
40
+ const headers = util.parseHeaders(rawHeaders)
41
+ const contentLength = headers['content-length']
42
+
43
+ if (contentLength != null && contentLength > this.#maxSize) {
44
+ throw new RequestAbortedError(
45
+ `Response size (${contentLength}) larger than maxSize (${
46
+ this.#maxSize
47
+ })`
48
+ )
49
+ }
50
+
51
+ if (this.#aborted) {
52
+ return true
53
+ }
54
+
55
+ return this.#handler.onHeaders(
56
+ statusCode,
57
+ rawHeaders,
58
+ resume,
59
+ statusMessage
60
+ )
61
+ }
62
+
63
+ onError (err) {
64
+ if (this.#dumped) {
65
+ return
66
+ }
67
+
68
+ err = this.#reason ?? err
69
+
70
+ this.#handler.onError(err)
71
+ }
72
+
73
+ onData (chunk) {
74
+ this.#size = this.#size + chunk.length
75
+
76
+ if (this.#size >= this.#maxSize) {
77
+ this.#dumped = true
78
+
79
+ if (this.#aborted) {
80
+ this.#handler.onError(this.#reason)
81
+ } else {
82
+ this.#handler.onComplete([])
83
+ }
84
+ }
85
+
86
+ return true
87
+ }
88
+
89
+ onComplete (trailers) {
90
+ if (this.#dumped) {
91
+ return
92
+ }
93
+
94
+ if (this.#aborted) {
95
+ this.#handler.onError(this.reason)
96
+ return
97
+ }
98
+
99
+ this.#handler.onComplete(trailers)
100
+ }
101
+ }
102
+
103
+ function createDumpInterceptor (
104
+ { maxSize: defaultMaxSize } = {
105
+ maxSize: 1024 * 1024
106
+ }
107
+ ) {
108
+ return dispatch => {
109
+ return function Intercept (opts, handler) {
110
+ const { dumpMaxSize = defaultMaxSize } =
111
+ opts
112
+
113
+ const dumpHandler = new DumpHandler(
114
+ { maxSize: dumpMaxSize },
115
+ handler
116
+ )
117
+
118
+ return dispatch(opts, dumpHandler)
119
+ }
120
+ }
121
+ }
122
+
123
+ module.exports = createDumpInterceptor
@@ -0,0 +1,21 @@
1
+ 'use strict'
2
+
3
+ const RedirectHandler = require('../handler/redirect-handler')
4
+
5
+ function createRedirectInterceptor ({ maxRedirections: defaultMaxRedirections }) {
6
+ return (dispatch) => {
7
+ return function Intercept (opts, handler) {
8
+ const { maxRedirections = defaultMaxRedirections } = opts
9
+
10
+ if (!maxRedirections) {
11
+ return dispatch(opts, handler)
12
+ }
13
+
14
+ const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler)
15
+ opts = { ...opts, maxRedirections: 0 } // Stop sub dispatcher from also redirecting.
16
+ return dispatch(opts, redirectHandler)
17
+ }
18
+ }
19
+ }
20
+
21
+ module.exports = createRedirectInterceptor
@@ -0,0 +1,24 @@
1
+ 'use strict'
2
+ const RedirectHandler = require('../handler/redirect-handler')
3
+
4
+ module.exports = opts => {
5
+ const globalMaxRedirections = opts?.maxRedirections
6
+ return dispatch => {
7
+ return function redirectInterceptor (opts, handler) {
8
+ const { maxRedirections = globalMaxRedirections, ...baseOpts } = opts
9
+
10
+ if (!maxRedirections) {
11
+ return dispatch(opts, handler)
12
+ }
13
+
14
+ const redirectHandler = new RedirectHandler(
15
+ dispatch,
16
+ maxRedirections,
17
+ opts,
18
+ handler
19
+ )
20
+
21
+ return dispatch(baseOpts, redirectHandler)
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,86 @@
1
+ 'use strict'
2
+
3
+ const { parseHeaders } = require('../core/util')
4
+ const DecoratorHandler = require('../handler/decorator-handler')
5
+ const { ResponseError } = require('../core/errors')
6
+
7
+ class Handler extends DecoratorHandler {
8
+ #handler
9
+ #statusCode
10
+ #contentType
11
+ #decoder
12
+ #headers
13
+ #body
14
+
15
+ constructor (opts, { handler }) {
16
+ super(handler)
17
+ this.#handler = handler
18
+ }
19
+
20
+ onConnect (abort) {
21
+ this.#statusCode = 0
22
+ this.#contentType = null
23
+ this.#decoder = null
24
+ this.#headers = null
25
+ this.#body = ''
26
+
27
+ return this.#handler.onConnect(abort)
28
+ }
29
+
30
+ onHeaders (statusCode, rawHeaders, resume, statusMessage, headers = parseHeaders(rawHeaders)) {
31
+ this.#statusCode = statusCode
32
+ this.#headers = headers
33
+ this.#contentType = headers['content-type']
34
+
35
+ if (this.#statusCode < 400) {
36
+ return this.#handler.onHeaders(statusCode, rawHeaders, resume, statusMessage, headers)
37
+ }
38
+
39
+ if (this.#contentType === 'application/json' || this.#contentType === 'text/plain') {
40
+ this.#decoder = new TextDecoder('utf-8')
41
+ }
42
+ }
43
+
44
+ onData (chunk) {
45
+ if (this.#statusCode < 400) {
46
+ return this.#handler.onData(chunk)
47
+ }
48
+
49
+ this.#body += this.#decoder?.decode(chunk, { stream: true }) ?? ''
50
+ }
51
+
52
+ onComplete (rawTrailers) {
53
+ if (this.#statusCode >= 400) {
54
+ this.#body += this.#decoder?.decode(undefined, { stream: false }) ?? ''
55
+
56
+ if (this.#contentType === 'application/json') {
57
+ try {
58
+ this.#body = JSON.parse(this.#body)
59
+ } catch {
60
+ // Do nothing...
61
+ }
62
+ }
63
+
64
+ let err
65
+ const stackTraceLimit = Error.stackTraceLimit
66
+ Error.stackTraceLimit = 0
67
+ try {
68
+ err = new ResponseError('Response Error', this.#statusCode, this.#headers, this.#body)
69
+ } finally {
70
+ Error.stackTraceLimit = stackTraceLimit
71
+ }
72
+
73
+ this.#handler.onError(err)
74
+ } else {
75
+ this.#handler.onComplete(rawTrailers)
76
+ }
77
+ }
78
+
79
+ onError (err) {
80
+ this.#handler.onError(err)
81
+ }
82
+ }
83
+
84
+ module.exports = (dispatch) => (opts, handler) => opts.throwOnError
85
+ ? dispatch(opts, new Handler(opts, { handler }))
86
+ : dispatch(opts, handler)
@@ -0,0 +1,19 @@
1
+ 'use strict'
2
+ const RetryHandler = require('../handler/retry-handler')
3
+
4
+ module.exports = globalOpts => {
5
+ return dispatch => {
6
+ return function retryInterceptor (opts, handler) {
7
+ return dispatch(
8
+ opts,
9
+ new RetryHandler(
10
+ { ...opts, retryOptions: { ...globalOpts, ...opts.retryOptions } },
11
+ {
12
+ handler,
13
+ dispatch
14
+ }
15
+ )
16
+ )
17
+ }
18
+ }
19
+ }
File without changes