cdk-ecr-deployment 3.3.0 → 3.3.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 (539) hide show
  1. package/.jsii +2 -6
  2. package/lib/index.js +3 -3
  3. package/package.json +1 -13
  4. package/build-lambda.sh +0 -12
  5. package/node_modules/@sindresorhus/is/dist/index.d.ts +0 -232
  6. package/node_modules/@sindresorhus/is/dist/index.js +0 -434
  7. package/node_modules/@sindresorhus/is/dist/types.d.ts +0 -25
  8. package/node_modules/@sindresorhus/is/dist/types.js +0 -3
  9. package/node_modules/@sindresorhus/is/license +0 -9
  10. package/node_modules/@sindresorhus/is/package.json +0 -96
  11. package/node_modules/@sindresorhus/is/readme.md +0 -669
  12. package/node_modules/@szmarczak/http-timer/LICENSE +0 -21
  13. package/node_modules/@szmarczak/http-timer/README.md +0 -93
  14. package/node_modules/@szmarczak/http-timer/dist/source/index.d.ts +0 -32
  15. package/node_modules/@szmarczak/http-timer/dist/source/index.js +0 -126
  16. package/node_modules/@szmarczak/http-timer/package.json +0 -72
  17. package/node_modules/@types/cacheable-request/LICENSE +0 -21
  18. package/node_modules/@types/cacheable-request/README.md +0 -16
  19. package/node_modules/@types/cacheable-request/index.d.ts +0 -137
  20. package/node_modules/@types/cacheable-request/node_modules/@types/node/LICENSE +0 -21
  21. package/node_modules/@types/cacheable-request/node_modules/@types/node/README.md +0 -15
  22. package/node_modules/@types/cacheable-request/node_modules/@types/node/assert/strict.d.ts +0 -8
  23. package/node_modules/@types/cacheable-request/node_modules/@types/node/assert.d.ts +0 -1095
  24. package/node_modules/@types/cacheable-request/node_modules/@types/node/async_hooks.d.ts +0 -541
  25. package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.buffer.d.ts +0 -460
  26. package/node_modules/@types/cacheable-request/node_modules/@types/node/buffer.d.ts +0 -1926
  27. package/node_modules/@types/cacheable-request/node_modules/@types/node/child_process.d.ts +0 -1549
  28. package/node_modules/@types/cacheable-request/node_modules/@types/node/cluster.d.ts +0 -579
  29. package/node_modules/@types/cacheable-request/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  30. package/node_modules/@types/cacheable-request/node_modules/@types/node/compatibility/index.d.ts +0 -9
  31. package/node_modules/@types/cacheable-request/node_modules/@types/node/compatibility/indexable.d.ts +0 -23
  32. package/node_modules/@types/cacheable-request/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  33. package/node_modules/@types/cacheable-request/node_modules/@types/node/console.d.ts +0 -452
  34. package/node_modules/@types/cacheable-request/node_modules/@types/node/constants.d.ts +0 -21
  35. package/node_modules/@types/cacheable-request/node_modules/@types/node/crypto.d.ts +0 -4510
  36. package/node_modules/@types/cacheable-request/node_modules/@types/node/dgram.d.ts +0 -599
  37. package/node_modules/@types/cacheable-request/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  38. package/node_modules/@types/cacheable-request/node_modules/@types/node/dns/promises.d.ts +0 -476
  39. package/node_modules/@types/cacheable-request/node_modules/@types/node/dns.d.ts +0 -865
  40. package/node_modules/@types/cacheable-request/node_modules/@types/node/dom-events.d.ts +0 -124
  41. package/node_modules/@types/cacheable-request/node_modules/@types/node/domain.d.ts +0 -170
  42. package/node_modules/@types/cacheable-request/node_modules/@types/node/events.d.ts +0 -931
  43. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs/promises.d.ts +0 -1275
  44. package/node_modules/@types/cacheable-request/node_modules/@types/node/fs.d.ts +0 -4343
  45. package/node_modules/@types/cacheable-request/node_modules/@types/node/globals.d.ts +0 -511
  46. package/node_modules/@types/cacheable-request/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  47. package/node_modules/@types/cacheable-request/node_modules/@types/node/http.d.ts +0 -1959
  48. package/node_modules/@types/cacheable-request/node_modules/@types/node/http2.d.ts +0 -2558
  49. package/node_modules/@types/cacheable-request/node_modules/@types/node/https.d.ts +0 -543
  50. package/node_modules/@types/cacheable-request/node_modules/@types/node/index.d.ts +0 -92
  51. package/node_modules/@types/cacheable-request/node_modules/@types/node/inspector.d.ts +0 -3966
  52. package/node_modules/@types/cacheable-request/node_modules/@types/node/module.d.ts +0 -702
  53. package/node_modules/@types/cacheable-request/node_modules/@types/node/net.d.ts +0 -1029
  54. package/node_modules/@types/cacheable-request/node_modules/@types/node/os.d.ts +0 -495
  55. package/node_modules/@types/cacheable-request/node_modules/@types/node/package.json +0 -220
  56. package/node_modules/@types/cacheable-request/node_modules/@types/node/path.d.ts +0 -200
  57. package/node_modules/@types/cacheable-request/node_modules/@types/node/perf_hooks.d.ts +0 -970
  58. package/node_modules/@types/cacheable-request/node_modules/@types/node/process.d.ts +0 -2013
  59. package/node_modules/@types/cacheable-request/node_modules/@types/node/punycode.d.ts +0 -117
  60. package/node_modules/@types/cacheable-request/node_modules/@types/node/querystring.d.ts +0 -153
  61. package/node_modules/@types/cacheable-request/node_modules/@types/node/readline/promises.d.ts +0 -162
  62. package/node_modules/@types/cacheable-request/node_modules/@types/node/readline.d.ts +0 -589
  63. package/node_modules/@types/cacheable-request/node_modules/@types/node/repl.d.ts +0 -430
  64. package/node_modules/@types/cacheable-request/node_modules/@types/node/sea.d.ts +0 -153
  65. package/node_modules/@types/cacheable-request/node_modules/@types/node/sqlite.d.ts +0 -439
  66. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream/consumers.d.ts +0 -12
  67. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream/promises.d.ts +0 -90
  68. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream/web.d.ts +0 -614
  69. package/node_modules/@types/cacheable-request/node_modules/@types/node/stream.d.ts +0 -1662
  70. package/node_modules/@types/cacheable-request/node_modules/@types/node/string_decoder.d.ts +0 -67
  71. package/node_modules/@types/cacheable-request/node_modules/@types/node/test.d.ts +0 -2150
  72. package/node_modules/@types/cacheable-request/node_modules/@types/node/timers/promises.d.ts +0 -97
  73. package/node_modules/@types/cacheable-request/node_modules/@types/node/timers.d.ts +0 -240
  74. package/node_modules/@types/cacheable-request/node_modules/@types/node/tls.d.ts +0 -1226
  75. package/node_modules/@types/cacheable-request/node_modules/@types/node/trace_events.d.ts +0 -197
  76. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -457
  77. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  78. package/node_modules/@types/cacheable-request/node_modules/@types/node/ts5.6/index.d.ts +0 -92
  79. package/node_modules/@types/cacheable-request/node_modules/@types/node/tty.d.ts +0 -208
  80. package/node_modules/@types/cacheable-request/node_modules/@types/node/url.d.ts +0 -972
  81. package/node_modules/@types/cacheable-request/node_modules/@types/node/util.d.ts +0 -2439
  82. package/node_modules/@types/cacheable-request/node_modules/@types/node/v8.d.ts +0 -808
  83. package/node_modules/@types/cacheable-request/node_modules/@types/node/vm.d.ts +0 -976
  84. package/node_modules/@types/cacheable-request/node_modules/@types/node/wasi.d.ts +0 -181
  85. package/node_modules/@types/cacheable-request/node_modules/@types/node/worker_threads.d.ts +0 -745
  86. package/node_modules/@types/cacheable-request/node_modules/@types/node/zlib.d.ts +0 -539
  87. package/node_modules/@types/cacheable-request/node_modules/undici-types/LICENSE +0 -21
  88. package/node_modules/@types/cacheable-request/node_modules/undici-types/README.md +0 -6
  89. package/node_modules/@types/cacheable-request/node_modules/undici-types/agent.d.ts +0 -31
  90. package/node_modules/@types/cacheable-request/node_modules/undici-types/api.d.ts +0 -43
  91. package/node_modules/@types/cacheable-request/node_modules/undici-types/balanced-pool.d.ts +0 -29
  92. package/node_modules/@types/cacheable-request/node_modules/undici-types/cache.d.ts +0 -36
  93. package/node_modules/@types/cacheable-request/node_modules/undici-types/client.d.ts +0 -108
  94. package/node_modules/@types/cacheable-request/node_modules/undici-types/connector.d.ts +0 -34
  95. package/node_modules/@types/cacheable-request/node_modules/undici-types/content-type.d.ts +0 -21
  96. package/node_modules/@types/cacheable-request/node_modules/undici-types/cookies.d.ts +0 -28
  97. package/node_modules/@types/cacheable-request/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  98. package/node_modules/@types/cacheable-request/node_modules/undici-types/dispatcher.d.ts +0 -255
  99. package/node_modules/@types/cacheable-request/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  100. package/node_modules/@types/cacheable-request/node_modules/undici-types/errors.d.ts +0 -149
  101. package/node_modules/@types/cacheable-request/node_modules/undici-types/eventsource.d.ts +0 -61
  102. package/node_modules/@types/cacheable-request/node_modules/undici-types/fetch.d.ts +0 -209
  103. package/node_modules/@types/cacheable-request/node_modules/undici-types/file.d.ts +0 -39
  104. package/node_modules/@types/cacheable-request/node_modules/undici-types/filereader.d.ts +0 -54
  105. package/node_modules/@types/cacheable-request/node_modules/undici-types/formdata.d.ts +0 -108
  106. package/node_modules/@types/cacheable-request/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  107. package/node_modules/@types/cacheable-request/node_modules/undici-types/global-origin.d.ts +0 -7
  108. package/node_modules/@types/cacheable-request/node_modules/undici-types/handlers.d.ts +0 -15
  109. package/node_modules/@types/cacheable-request/node_modules/undici-types/header.d.ts +0 -4
  110. package/node_modules/@types/cacheable-request/node_modules/undici-types/index.d.ts +0 -71
  111. package/node_modules/@types/cacheable-request/node_modules/undici-types/interceptors.d.ts +0 -17
  112. package/node_modules/@types/cacheable-request/node_modules/undici-types/mock-agent.d.ts +0 -50
  113. package/node_modules/@types/cacheable-request/node_modules/undici-types/mock-client.d.ts +0 -25
  114. package/node_modules/@types/cacheable-request/node_modules/undici-types/mock-errors.d.ts +0 -12
  115. package/node_modules/@types/cacheable-request/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  116. package/node_modules/@types/cacheable-request/node_modules/undici-types/mock-pool.d.ts +0 -25
  117. package/node_modules/@types/cacheable-request/node_modules/undici-types/package.json +0 -55
  118. package/node_modules/@types/cacheable-request/node_modules/undici-types/patch.d.ts +0 -33
  119. package/node_modules/@types/cacheable-request/node_modules/undici-types/pool-stats.d.ts +0 -19
  120. package/node_modules/@types/cacheable-request/node_modules/undici-types/pool.d.ts +0 -39
  121. package/node_modules/@types/cacheable-request/node_modules/undici-types/proxy-agent.d.ts +0 -28
  122. package/node_modules/@types/cacheable-request/node_modules/undici-types/readable.d.ts +0 -60
  123. package/node_modules/@types/cacheable-request/node_modules/undici-types/retry-agent.d.ts +0 -8
  124. package/node_modules/@types/cacheable-request/node_modules/undici-types/retry-handler.d.ts +0 -116
  125. package/node_modules/@types/cacheable-request/node_modules/undici-types/util.d.ts +0 -18
  126. package/node_modules/@types/cacheable-request/node_modules/undici-types/webidl.d.ts +0 -222
  127. package/node_modules/@types/cacheable-request/node_modules/undici-types/websocket.d.ts +0 -150
  128. package/node_modules/@types/cacheable-request/package.json +0 -35
  129. package/node_modules/@types/http-cache-semantics/LICENSE +0 -21
  130. package/node_modules/@types/http-cache-semantics/README.md +0 -15
  131. package/node_modules/@types/http-cache-semantics/index.d.ts +0 -165
  132. package/node_modules/@types/http-cache-semantics/package.json +0 -25
  133. package/node_modules/@types/keyv/LICENSE +0 -21
  134. package/node_modules/@types/keyv/README.md +0 -16
  135. package/node_modules/@types/keyv/index.d.ts +0 -90
  136. package/node_modules/@types/keyv/node_modules/@types/node/LICENSE +0 -21
  137. package/node_modules/@types/keyv/node_modules/@types/node/README.md +0 -15
  138. package/node_modules/@types/keyv/node_modules/@types/node/assert/strict.d.ts +0 -8
  139. package/node_modules/@types/keyv/node_modules/@types/node/assert.d.ts +0 -1095
  140. package/node_modules/@types/keyv/node_modules/@types/node/async_hooks.d.ts +0 -541
  141. package/node_modules/@types/keyv/node_modules/@types/node/buffer.buffer.d.ts +0 -460
  142. package/node_modules/@types/keyv/node_modules/@types/node/buffer.d.ts +0 -1926
  143. package/node_modules/@types/keyv/node_modules/@types/node/child_process.d.ts +0 -1549
  144. package/node_modules/@types/keyv/node_modules/@types/node/cluster.d.ts +0 -579
  145. package/node_modules/@types/keyv/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  146. package/node_modules/@types/keyv/node_modules/@types/node/compatibility/index.d.ts +0 -9
  147. package/node_modules/@types/keyv/node_modules/@types/node/compatibility/indexable.d.ts +0 -23
  148. package/node_modules/@types/keyv/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  149. package/node_modules/@types/keyv/node_modules/@types/node/console.d.ts +0 -452
  150. package/node_modules/@types/keyv/node_modules/@types/node/constants.d.ts +0 -21
  151. package/node_modules/@types/keyv/node_modules/@types/node/crypto.d.ts +0 -4510
  152. package/node_modules/@types/keyv/node_modules/@types/node/dgram.d.ts +0 -599
  153. package/node_modules/@types/keyv/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  154. package/node_modules/@types/keyv/node_modules/@types/node/dns/promises.d.ts +0 -476
  155. package/node_modules/@types/keyv/node_modules/@types/node/dns.d.ts +0 -865
  156. package/node_modules/@types/keyv/node_modules/@types/node/dom-events.d.ts +0 -124
  157. package/node_modules/@types/keyv/node_modules/@types/node/domain.d.ts +0 -170
  158. package/node_modules/@types/keyv/node_modules/@types/node/events.d.ts +0 -931
  159. package/node_modules/@types/keyv/node_modules/@types/node/fs/promises.d.ts +0 -1275
  160. package/node_modules/@types/keyv/node_modules/@types/node/fs.d.ts +0 -4343
  161. package/node_modules/@types/keyv/node_modules/@types/node/globals.d.ts +0 -511
  162. package/node_modules/@types/keyv/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  163. package/node_modules/@types/keyv/node_modules/@types/node/http.d.ts +0 -1959
  164. package/node_modules/@types/keyv/node_modules/@types/node/http2.d.ts +0 -2558
  165. package/node_modules/@types/keyv/node_modules/@types/node/https.d.ts +0 -543
  166. package/node_modules/@types/keyv/node_modules/@types/node/index.d.ts +0 -92
  167. package/node_modules/@types/keyv/node_modules/@types/node/inspector.d.ts +0 -3966
  168. package/node_modules/@types/keyv/node_modules/@types/node/module.d.ts +0 -702
  169. package/node_modules/@types/keyv/node_modules/@types/node/net.d.ts +0 -1029
  170. package/node_modules/@types/keyv/node_modules/@types/node/os.d.ts +0 -495
  171. package/node_modules/@types/keyv/node_modules/@types/node/package.json +0 -220
  172. package/node_modules/@types/keyv/node_modules/@types/node/path.d.ts +0 -200
  173. package/node_modules/@types/keyv/node_modules/@types/node/perf_hooks.d.ts +0 -970
  174. package/node_modules/@types/keyv/node_modules/@types/node/process.d.ts +0 -2013
  175. package/node_modules/@types/keyv/node_modules/@types/node/punycode.d.ts +0 -117
  176. package/node_modules/@types/keyv/node_modules/@types/node/querystring.d.ts +0 -153
  177. package/node_modules/@types/keyv/node_modules/@types/node/readline/promises.d.ts +0 -162
  178. package/node_modules/@types/keyv/node_modules/@types/node/readline.d.ts +0 -589
  179. package/node_modules/@types/keyv/node_modules/@types/node/repl.d.ts +0 -430
  180. package/node_modules/@types/keyv/node_modules/@types/node/sea.d.ts +0 -153
  181. package/node_modules/@types/keyv/node_modules/@types/node/sqlite.d.ts +0 -439
  182. package/node_modules/@types/keyv/node_modules/@types/node/stream/consumers.d.ts +0 -12
  183. package/node_modules/@types/keyv/node_modules/@types/node/stream/promises.d.ts +0 -90
  184. package/node_modules/@types/keyv/node_modules/@types/node/stream/web.d.ts +0 -614
  185. package/node_modules/@types/keyv/node_modules/@types/node/stream.d.ts +0 -1662
  186. package/node_modules/@types/keyv/node_modules/@types/node/string_decoder.d.ts +0 -67
  187. package/node_modules/@types/keyv/node_modules/@types/node/test.d.ts +0 -2150
  188. package/node_modules/@types/keyv/node_modules/@types/node/timers/promises.d.ts +0 -97
  189. package/node_modules/@types/keyv/node_modules/@types/node/timers.d.ts +0 -240
  190. package/node_modules/@types/keyv/node_modules/@types/node/tls.d.ts +0 -1226
  191. package/node_modules/@types/keyv/node_modules/@types/node/trace_events.d.ts +0 -197
  192. package/node_modules/@types/keyv/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -457
  193. package/node_modules/@types/keyv/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  194. package/node_modules/@types/keyv/node_modules/@types/node/ts5.6/index.d.ts +0 -92
  195. package/node_modules/@types/keyv/node_modules/@types/node/tty.d.ts +0 -208
  196. package/node_modules/@types/keyv/node_modules/@types/node/url.d.ts +0 -972
  197. package/node_modules/@types/keyv/node_modules/@types/node/util.d.ts +0 -2439
  198. package/node_modules/@types/keyv/node_modules/@types/node/v8.d.ts +0 -808
  199. package/node_modules/@types/keyv/node_modules/@types/node/vm.d.ts +0 -976
  200. package/node_modules/@types/keyv/node_modules/@types/node/wasi.d.ts +0 -181
  201. package/node_modules/@types/keyv/node_modules/@types/node/worker_threads.d.ts +0 -745
  202. package/node_modules/@types/keyv/node_modules/@types/node/zlib.d.ts +0 -539
  203. package/node_modules/@types/keyv/node_modules/undici-types/LICENSE +0 -21
  204. package/node_modules/@types/keyv/node_modules/undici-types/README.md +0 -6
  205. package/node_modules/@types/keyv/node_modules/undici-types/agent.d.ts +0 -31
  206. package/node_modules/@types/keyv/node_modules/undici-types/api.d.ts +0 -43
  207. package/node_modules/@types/keyv/node_modules/undici-types/balanced-pool.d.ts +0 -29
  208. package/node_modules/@types/keyv/node_modules/undici-types/cache.d.ts +0 -36
  209. package/node_modules/@types/keyv/node_modules/undici-types/client.d.ts +0 -108
  210. package/node_modules/@types/keyv/node_modules/undici-types/connector.d.ts +0 -34
  211. package/node_modules/@types/keyv/node_modules/undici-types/content-type.d.ts +0 -21
  212. package/node_modules/@types/keyv/node_modules/undici-types/cookies.d.ts +0 -28
  213. package/node_modules/@types/keyv/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  214. package/node_modules/@types/keyv/node_modules/undici-types/dispatcher.d.ts +0 -255
  215. package/node_modules/@types/keyv/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  216. package/node_modules/@types/keyv/node_modules/undici-types/errors.d.ts +0 -149
  217. package/node_modules/@types/keyv/node_modules/undici-types/eventsource.d.ts +0 -61
  218. package/node_modules/@types/keyv/node_modules/undici-types/fetch.d.ts +0 -209
  219. package/node_modules/@types/keyv/node_modules/undici-types/file.d.ts +0 -39
  220. package/node_modules/@types/keyv/node_modules/undici-types/filereader.d.ts +0 -54
  221. package/node_modules/@types/keyv/node_modules/undici-types/formdata.d.ts +0 -108
  222. package/node_modules/@types/keyv/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  223. package/node_modules/@types/keyv/node_modules/undici-types/global-origin.d.ts +0 -7
  224. package/node_modules/@types/keyv/node_modules/undici-types/handlers.d.ts +0 -15
  225. package/node_modules/@types/keyv/node_modules/undici-types/header.d.ts +0 -4
  226. package/node_modules/@types/keyv/node_modules/undici-types/index.d.ts +0 -71
  227. package/node_modules/@types/keyv/node_modules/undici-types/interceptors.d.ts +0 -17
  228. package/node_modules/@types/keyv/node_modules/undici-types/mock-agent.d.ts +0 -50
  229. package/node_modules/@types/keyv/node_modules/undici-types/mock-client.d.ts +0 -25
  230. package/node_modules/@types/keyv/node_modules/undici-types/mock-errors.d.ts +0 -12
  231. package/node_modules/@types/keyv/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  232. package/node_modules/@types/keyv/node_modules/undici-types/mock-pool.d.ts +0 -25
  233. package/node_modules/@types/keyv/node_modules/undici-types/package.json +0 -55
  234. package/node_modules/@types/keyv/node_modules/undici-types/patch.d.ts +0 -33
  235. package/node_modules/@types/keyv/node_modules/undici-types/pool-stats.d.ts +0 -19
  236. package/node_modules/@types/keyv/node_modules/undici-types/pool.d.ts +0 -39
  237. package/node_modules/@types/keyv/node_modules/undici-types/proxy-agent.d.ts +0 -28
  238. package/node_modules/@types/keyv/node_modules/undici-types/readable.d.ts +0 -60
  239. package/node_modules/@types/keyv/node_modules/undici-types/retry-agent.d.ts +0 -8
  240. package/node_modules/@types/keyv/node_modules/undici-types/retry-handler.d.ts +0 -116
  241. package/node_modules/@types/keyv/node_modules/undici-types/util.d.ts +0 -18
  242. package/node_modules/@types/keyv/node_modules/undici-types/webidl.d.ts +0 -222
  243. package/node_modules/@types/keyv/node_modules/undici-types/websocket.d.ts +0 -150
  244. package/node_modules/@types/keyv/package.json +0 -32
  245. package/node_modules/@types/responselike/LICENSE +0 -21
  246. package/node_modules/@types/responselike/README.md +0 -48
  247. package/node_modules/@types/responselike/index.d.ts +0 -29
  248. package/node_modules/@types/responselike/node_modules/@types/node/LICENSE +0 -21
  249. package/node_modules/@types/responselike/node_modules/@types/node/README.md +0 -15
  250. package/node_modules/@types/responselike/node_modules/@types/node/assert/strict.d.ts +0 -8
  251. package/node_modules/@types/responselike/node_modules/@types/node/assert.d.ts +0 -1095
  252. package/node_modules/@types/responselike/node_modules/@types/node/async_hooks.d.ts +0 -541
  253. package/node_modules/@types/responselike/node_modules/@types/node/buffer.buffer.d.ts +0 -460
  254. package/node_modules/@types/responselike/node_modules/@types/node/buffer.d.ts +0 -1926
  255. package/node_modules/@types/responselike/node_modules/@types/node/child_process.d.ts +0 -1549
  256. package/node_modules/@types/responselike/node_modules/@types/node/cluster.d.ts +0 -579
  257. package/node_modules/@types/responselike/node_modules/@types/node/compatibility/disposable.d.ts +0 -16
  258. package/node_modules/@types/responselike/node_modules/@types/node/compatibility/index.d.ts +0 -9
  259. package/node_modules/@types/responselike/node_modules/@types/node/compatibility/indexable.d.ts +0 -23
  260. package/node_modules/@types/responselike/node_modules/@types/node/compatibility/iterators.d.ts +0 -21
  261. package/node_modules/@types/responselike/node_modules/@types/node/console.d.ts +0 -452
  262. package/node_modules/@types/responselike/node_modules/@types/node/constants.d.ts +0 -21
  263. package/node_modules/@types/responselike/node_modules/@types/node/crypto.d.ts +0 -4510
  264. package/node_modules/@types/responselike/node_modules/@types/node/dgram.d.ts +0 -599
  265. package/node_modules/@types/responselike/node_modules/@types/node/diagnostics_channel.d.ts +0 -554
  266. package/node_modules/@types/responselike/node_modules/@types/node/dns/promises.d.ts +0 -476
  267. package/node_modules/@types/responselike/node_modules/@types/node/dns.d.ts +0 -865
  268. package/node_modules/@types/responselike/node_modules/@types/node/dom-events.d.ts +0 -124
  269. package/node_modules/@types/responselike/node_modules/@types/node/domain.d.ts +0 -170
  270. package/node_modules/@types/responselike/node_modules/@types/node/events.d.ts +0 -931
  271. package/node_modules/@types/responselike/node_modules/@types/node/fs/promises.d.ts +0 -1275
  272. package/node_modules/@types/responselike/node_modules/@types/node/fs.d.ts +0 -4343
  273. package/node_modules/@types/responselike/node_modules/@types/node/globals.d.ts +0 -511
  274. package/node_modules/@types/responselike/node_modules/@types/node/globals.typedarray.d.ts +0 -21
  275. package/node_modules/@types/responselike/node_modules/@types/node/http.d.ts +0 -1959
  276. package/node_modules/@types/responselike/node_modules/@types/node/http2.d.ts +0 -2558
  277. package/node_modules/@types/responselike/node_modules/@types/node/https.d.ts +0 -543
  278. package/node_modules/@types/responselike/node_modules/@types/node/index.d.ts +0 -92
  279. package/node_modules/@types/responselike/node_modules/@types/node/inspector.d.ts +0 -3966
  280. package/node_modules/@types/responselike/node_modules/@types/node/module.d.ts +0 -702
  281. package/node_modules/@types/responselike/node_modules/@types/node/net.d.ts +0 -1029
  282. package/node_modules/@types/responselike/node_modules/@types/node/os.d.ts +0 -495
  283. package/node_modules/@types/responselike/node_modules/@types/node/package.json +0 -220
  284. package/node_modules/@types/responselike/node_modules/@types/node/path.d.ts +0 -200
  285. package/node_modules/@types/responselike/node_modules/@types/node/perf_hooks.d.ts +0 -970
  286. package/node_modules/@types/responselike/node_modules/@types/node/process.d.ts +0 -2013
  287. package/node_modules/@types/responselike/node_modules/@types/node/punycode.d.ts +0 -117
  288. package/node_modules/@types/responselike/node_modules/@types/node/querystring.d.ts +0 -153
  289. package/node_modules/@types/responselike/node_modules/@types/node/readline/promises.d.ts +0 -162
  290. package/node_modules/@types/responselike/node_modules/@types/node/readline.d.ts +0 -589
  291. package/node_modules/@types/responselike/node_modules/@types/node/repl.d.ts +0 -430
  292. package/node_modules/@types/responselike/node_modules/@types/node/sea.d.ts +0 -153
  293. package/node_modules/@types/responselike/node_modules/@types/node/sqlite.d.ts +0 -439
  294. package/node_modules/@types/responselike/node_modules/@types/node/stream/consumers.d.ts +0 -12
  295. package/node_modules/@types/responselike/node_modules/@types/node/stream/promises.d.ts +0 -90
  296. package/node_modules/@types/responselike/node_modules/@types/node/stream/web.d.ts +0 -614
  297. package/node_modules/@types/responselike/node_modules/@types/node/stream.d.ts +0 -1662
  298. package/node_modules/@types/responselike/node_modules/@types/node/string_decoder.d.ts +0 -67
  299. package/node_modules/@types/responselike/node_modules/@types/node/test.d.ts +0 -2150
  300. package/node_modules/@types/responselike/node_modules/@types/node/timers/promises.d.ts +0 -97
  301. package/node_modules/@types/responselike/node_modules/@types/node/timers.d.ts +0 -240
  302. package/node_modules/@types/responselike/node_modules/@types/node/tls.d.ts +0 -1226
  303. package/node_modules/@types/responselike/node_modules/@types/node/trace_events.d.ts +0 -197
  304. package/node_modules/@types/responselike/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +0 -457
  305. package/node_modules/@types/responselike/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -19
  306. package/node_modules/@types/responselike/node_modules/@types/node/ts5.6/index.d.ts +0 -92
  307. package/node_modules/@types/responselike/node_modules/@types/node/tty.d.ts +0 -208
  308. package/node_modules/@types/responselike/node_modules/@types/node/url.d.ts +0 -972
  309. package/node_modules/@types/responselike/node_modules/@types/node/util.d.ts +0 -2439
  310. package/node_modules/@types/responselike/node_modules/@types/node/v8.d.ts +0 -808
  311. package/node_modules/@types/responselike/node_modules/@types/node/vm.d.ts +0 -976
  312. package/node_modules/@types/responselike/node_modules/@types/node/wasi.d.ts +0 -181
  313. package/node_modules/@types/responselike/node_modules/@types/node/worker_threads.d.ts +0 -745
  314. package/node_modules/@types/responselike/node_modules/@types/node/zlib.d.ts +0 -539
  315. package/node_modules/@types/responselike/node_modules/undici-types/LICENSE +0 -21
  316. package/node_modules/@types/responselike/node_modules/undici-types/README.md +0 -6
  317. package/node_modules/@types/responselike/node_modules/undici-types/agent.d.ts +0 -31
  318. package/node_modules/@types/responselike/node_modules/undici-types/api.d.ts +0 -43
  319. package/node_modules/@types/responselike/node_modules/undici-types/balanced-pool.d.ts +0 -29
  320. package/node_modules/@types/responselike/node_modules/undici-types/cache.d.ts +0 -36
  321. package/node_modules/@types/responselike/node_modules/undici-types/client.d.ts +0 -108
  322. package/node_modules/@types/responselike/node_modules/undici-types/connector.d.ts +0 -34
  323. package/node_modules/@types/responselike/node_modules/undici-types/content-type.d.ts +0 -21
  324. package/node_modules/@types/responselike/node_modules/undici-types/cookies.d.ts +0 -28
  325. package/node_modules/@types/responselike/node_modules/undici-types/diagnostics-channel.d.ts +0 -66
  326. package/node_modules/@types/responselike/node_modules/undici-types/dispatcher.d.ts +0 -255
  327. package/node_modules/@types/responselike/node_modules/undici-types/env-http-proxy-agent.d.ts +0 -21
  328. package/node_modules/@types/responselike/node_modules/undici-types/errors.d.ts +0 -149
  329. package/node_modules/@types/responselike/node_modules/undici-types/eventsource.d.ts +0 -61
  330. package/node_modules/@types/responselike/node_modules/undici-types/fetch.d.ts +0 -209
  331. package/node_modules/@types/responselike/node_modules/undici-types/file.d.ts +0 -39
  332. package/node_modules/@types/responselike/node_modules/undici-types/filereader.d.ts +0 -54
  333. package/node_modules/@types/responselike/node_modules/undici-types/formdata.d.ts +0 -108
  334. package/node_modules/@types/responselike/node_modules/undici-types/global-dispatcher.d.ts +0 -9
  335. package/node_modules/@types/responselike/node_modules/undici-types/global-origin.d.ts +0 -7
  336. package/node_modules/@types/responselike/node_modules/undici-types/handlers.d.ts +0 -15
  337. package/node_modules/@types/responselike/node_modules/undici-types/header.d.ts +0 -4
  338. package/node_modules/@types/responselike/node_modules/undici-types/index.d.ts +0 -71
  339. package/node_modules/@types/responselike/node_modules/undici-types/interceptors.d.ts +0 -17
  340. package/node_modules/@types/responselike/node_modules/undici-types/mock-agent.d.ts +0 -50
  341. package/node_modules/@types/responselike/node_modules/undici-types/mock-client.d.ts +0 -25
  342. package/node_modules/@types/responselike/node_modules/undici-types/mock-errors.d.ts +0 -12
  343. package/node_modules/@types/responselike/node_modules/undici-types/mock-interceptor.d.ts +0 -93
  344. package/node_modules/@types/responselike/node_modules/undici-types/mock-pool.d.ts +0 -25
  345. package/node_modules/@types/responselike/node_modules/undici-types/package.json +0 -55
  346. package/node_modules/@types/responselike/node_modules/undici-types/patch.d.ts +0 -33
  347. package/node_modules/@types/responselike/node_modules/undici-types/pool-stats.d.ts +0 -19
  348. package/node_modules/@types/responselike/node_modules/undici-types/pool.d.ts +0 -39
  349. package/node_modules/@types/responselike/node_modules/undici-types/proxy-agent.d.ts +0 -28
  350. package/node_modules/@types/responselike/node_modules/undici-types/readable.d.ts +0 -60
  351. package/node_modules/@types/responselike/node_modules/undici-types/retry-agent.d.ts +0 -8
  352. package/node_modules/@types/responselike/node_modules/undici-types/retry-handler.d.ts +0 -116
  353. package/node_modules/@types/responselike/node_modules/undici-types/util.d.ts +0 -18
  354. package/node_modules/@types/responselike/node_modules/undici-types/webidl.d.ts +0 -222
  355. package/node_modules/@types/responselike/node_modules/undici-types/websocket.d.ts +0 -150
  356. package/node_modules/@types/responselike/package.json +0 -27
  357. package/node_modules/cacheable-lookup/LICENSE +0 -21
  358. package/node_modules/cacheable-lookup/README.md +0 -240
  359. package/node_modules/cacheable-lookup/index.d.ts +0 -139
  360. package/node_modules/cacheable-lookup/package.json +0 -45
  361. package/node_modules/cacheable-lookup/source/index.js +0 -436
  362. package/node_modules/cacheable-request/LICENSE +0 -21
  363. package/node_modules/cacheable-request/README.md +0 -206
  364. package/node_modules/cacheable-request/package.json +0 -56
  365. package/node_modules/cacheable-request/src/index.js +0 -251
  366. package/node_modules/clone-response/LICENSE +0 -21
  367. package/node_modules/clone-response/README.md +0 -62
  368. package/node_modules/clone-response/node_modules/mimic-response/index.js +0 -32
  369. package/node_modules/clone-response/node_modules/mimic-response/license +0 -9
  370. package/node_modules/clone-response/node_modules/mimic-response/package.json +0 -37
  371. package/node_modules/clone-response/node_modules/mimic-response/readme.md +0 -54
  372. package/node_modules/clone-response/package.json +0 -41
  373. package/node_modules/clone-response/src/index.js +0 -17
  374. package/node_modules/decompress-response/index.d.ts +0 -22
  375. package/node_modules/decompress-response/index.js +0 -58
  376. package/node_modules/decompress-response/license +0 -9
  377. package/node_modules/decompress-response/package.json +0 -56
  378. package/node_modules/decompress-response/readme.md +0 -48
  379. package/node_modules/defer-to-connect/LICENSE +0 -21
  380. package/node_modules/defer-to-connect/README.md +0 -38
  381. package/node_modules/defer-to-connect/dist/source/index.d.ts +0 -10
  382. package/node_modules/defer-to-connect/dist/source/index.js +0 -47
  383. package/node_modules/defer-to-connect/package.json +0 -71
  384. package/node_modules/end-of-stream/LICENSE +0 -21
  385. package/node_modules/end-of-stream/README.md +0 -54
  386. package/node_modules/end-of-stream/index.js +0 -94
  387. package/node_modules/end-of-stream/package.json +0 -37
  388. package/node_modules/get-stream/buffer-stream.js +0 -52
  389. package/node_modules/get-stream/index.d.ts +0 -108
  390. package/node_modules/get-stream/index.js +0 -60
  391. package/node_modules/get-stream/license +0 -9
  392. package/node_modules/get-stream/package.json +0 -50
  393. package/node_modules/get-stream/readme.md +0 -124
  394. package/node_modules/got/dist/source/as-promise/create-rejection.d.ts +0 -2
  395. package/node_modules/got/dist/source/as-promise/create-rejection.js +0 -30
  396. package/node_modules/got/dist/source/as-promise/index.d.ts +0 -3
  397. package/node_modules/got/dist/source/as-promise/index.js +0 -176
  398. package/node_modules/got/dist/source/as-promise/normalize-arguments.d.ts +0 -3
  399. package/node_modules/got/dist/source/as-promise/normalize-arguments.js +0 -78
  400. package/node_modules/got/dist/source/as-promise/parse-body.d.ts +0 -3
  401. package/node_modules/got/dist/source/as-promise/parse-body.js +0 -25
  402. package/node_modules/got/dist/source/as-promise/types.d.ts +0 -256
  403. package/node_modules/got/dist/source/as-promise/types.js +0 -42
  404. package/node_modules/got/dist/source/core/calculate-retry-delay.d.ts +0 -5
  405. package/node_modules/got/dist/source/core/calculate-retry-delay.js +0 -29
  406. package/node_modules/got/dist/source/core/index.d.ts +0 -1124
  407. package/node_modules/got/dist/source/core/index.js +0 -1505
  408. package/node_modules/got/dist/source/core/utils/dns-ip-version.d.ts +0 -5
  409. package/node_modules/got/dist/source/core/utils/dns-ip-version.js +0 -17
  410. package/node_modules/got/dist/source/core/utils/get-body-size.d.ts +0 -3
  411. package/node_modules/got/dist/source/core/utils/get-body-size.js +0 -32
  412. package/node_modules/got/dist/source/core/utils/get-buffer.d.ts +0 -4
  413. package/node_modules/got/dist/source/core/utils/get-buffer.js +0 -16
  414. package/node_modules/got/dist/source/core/utils/is-form-data.d.ts +0 -8
  415. package/node_modules/got/dist/source/core/utils/is-form-data.js +0 -4
  416. package/node_modules/got/dist/source/core/utils/is-response-ok.d.ts +0 -2
  417. package/node_modules/got/dist/source/core/utils/is-response-ok.js +0 -8
  418. package/node_modules/got/dist/source/core/utils/options-to-url.d.ts +0 -14
  419. package/node_modules/got/dist/source/core/utils/options-to-url.js +0 -53
  420. package/node_modules/got/dist/source/core/utils/proxy-events.d.ts +0 -3
  421. package/node_modules/got/dist/source/core/utils/proxy-events.js +0 -17
  422. package/node_modules/got/dist/source/core/utils/timed-out.d.ts +0 -29
  423. package/node_modules/got/dist/source/core/utils/timed-out.js +0 -121
  424. package/node_modules/got/dist/source/core/utils/unhandle.d.ts +0 -11
  425. package/node_modules/got/dist/source/core/utils/unhandle.js +0 -22
  426. package/node_modules/got/dist/source/core/utils/url-to-options.d.ts +0 -15
  427. package/node_modules/got/dist/source/core/utils/url-to-options.js +0 -24
  428. package/node_modules/got/dist/source/core/utils/weakable-map.d.ts +0 -8
  429. package/node_modules/got/dist/source/core/utils/weakable-map.js +0 -29
  430. package/node_modules/got/dist/source/create.d.ts +0 -5
  431. package/node_modules/got/dist/source/create.js +0 -240
  432. package/node_modules/got/dist/source/index.d.ts +0 -4
  433. package/node_modules/got/dist/source/index.js +0 -132
  434. package/node_modules/got/dist/source/types.d.ts +0 -344
  435. package/node_modules/got/dist/source/types.js +0 -2
  436. package/node_modules/got/dist/source/utils/deep-freeze.d.ts +0 -1
  437. package/node_modules/got/dist/source/utils/deep-freeze.js +0 -12
  438. package/node_modules/got/dist/source/utils/deprecation-warning.d.ts +0 -2
  439. package/node_modules/got/dist/source/utils/deprecation-warning.js +0 -13
  440. package/node_modules/got/license +0 -9
  441. package/node_modules/got/package.json +0 -131
  442. package/node_modules/got/readme.md +0 -2477
  443. package/node_modules/hpagent/.github/dependabot.yml +0 -8
  444. package/node_modules/hpagent/.github/workflows/build.yml +0 -29
  445. package/node_modules/hpagent/LICENSE +0 -21
  446. package/node_modules/hpagent/README.md +0 -138
  447. package/node_modules/hpagent/index.d.ts +0 -26
  448. package/node_modules/hpagent/index.js +0 -101
  449. package/node_modules/hpagent/index.mjs +0 -5
  450. package/node_modules/hpagent/package.json +0 -49
  451. package/node_modules/hpagent/test/got.test.js +0 -111
  452. package/node_modules/hpagent/test/http-http.test.js +0 -351
  453. package/node_modules/hpagent/test/http-https.test.js +0 -313
  454. package/node_modules/hpagent/test/https-http.test.js +0 -313
  455. package/node_modules/hpagent/test/https-https.test.js +0 -313
  456. package/node_modules/hpagent/test/index.test-d.ts +0 -45
  457. package/node_modules/hpagent/test/needle.test.js +0 -103
  458. package/node_modules/hpagent/test/node-fetch.test.js +0 -103
  459. package/node_modules/hpagent/test/simple-get.test.js +0 -139
  460. package/node_modules/hpagent/test/ssl.cert +0 -19
  461. package/node_modules/hpagent/test/ssl.key +0 -27
  462. package/node_modules/hpagent/test/utils.js +0 -59
  463. package/node_modules/http-cache-semantics/LICENSE +0 -9
  464. package/node_modules/http-cache-semantics/README.md +0 -203
  465. package/node_modules/http-cache-semantics/index.js +0 -674
  466. package/node_modules/http-cache-semantics/package.json +0 -18
  467. package/node_modules/http2-wrapper/LICENSE +0 -21
  468. package/node_modules/http2-wrapper/README.md +0 -470
  469. package/node_modules/http2-wrapper/package.json +0 -54
  470. package/node_modules/http2-wrapper/source/agent.js +0 -670
  471. package/node_modules/http2-wrapper/source/auto.js +0 -149
  472. package/node_modules/http2-wrapper/source/client-request.js +0 -445
  473. package/node_modules/http2-wrapper/source/incoming-message.js +0 -58
  474. package/node_modules/http2-wrapper/source/index.js +0 -28
  475. package/node_modules/http2-wrapper/source/utils/calculate-server-name.js +0 -27
  476. package/node_modules/http2-wrapper/source/utils/errors.js +0 -45
  477. package/node_modules/http2-wrapper/source/utils/is-request-pseudo-header.js +0 -13
  478. package/node_modules/http2-wrapper/source/utils/proxy-events.js +0 -7
  479. package/node_modules/http2-wrapper/source/utils/url-to-options.js +0 -25
  480. package/node_modules/json-buffer/.travis.yml +0 -3
  481. package/node_modules/json-buffer/LICENSE +0 -22
  482. package/node_modules/json-buffer/README.md +0 -24
  483. package/node_modules/json-buffer/index.js +0 -58
  484. package/node_modules/json-buffer/package.json +0 -34
  485. package/node_modules/json-buffer/test/index.js +0 -63
  486. package/node_modules/keyv/README.md +0 -429
  487. package/node_modules/keyv/package.json +0 -57
  488. package/node_modules/keyv/src/index.d.ts +0 -112
  489. package/node_modules/keyv/src/index.js +0 -259
  490. package/node_modules/lowercase-keys/index.d.ts +0 -16
  491. package/node_modules/lowercase-keys/index.js +0 -10
  492. package/node_modules/lowercase-keys/license +0 -9
  493. package/node_modules/lowercase-keys/package.json +0 -38
  494. package/node_modules/lowercase-keys/readme.md +0 -32
  495. package/node_modules/mimic-response/index.d.ts +0 -17
  496. package/node_modules/mimic-response/index.js +0 -77
  497. package/node_modules/mimic-response/license +0 -9
  498. package/node_modules/mimic-response/package.json +0 -42
  499. package/node_modules/mimic-response/readme.md +0 -78
  500. package/node_modules/normalize-url/index.d.ts +0 -267
  501. package/node_modules/normalize-url/index.js +0 -216
  502. package/node_modules/normalize-url/license +0 -9
  503. package/node_modules/normalize-url/package.json +0 -50
  504. package/node_modules/normalize-url/readme.md +0 -286
  505. package/node_modules/once/LICENSE +0 -15
  506. package/node_modules/once/README.md +0 -79
  507. package/node_modules/once/once.js +0 -42
  508. package/node_modules/once/package.json +0 -33
  509. package/node_modules/p-cancelable/index.d.ts +0 -176
  510. package/node_modules/p-cancelable/index.js +0 -111
  511. package/node_modules/p-cancelable/license +0 -9
  512. package/node_modules/p-cancelable/package.json +0 -49
  513. package/node_modules/p-cancelable/readme.md +0 -153
  514. package/node_modules/pump/.github/FUNDING.yml +0 -2
  515. package/node_modules/pump/.travis.yml +0 -5
  516. package/node_modules/pump/LICENSE +0 -21
  517. package/node_modules/pump/README.md +0 -74
  518. package/node_modules/pump/SECURITY.md +0 -5
  519. package/node_modules/pump/index.js +0 -86
  520. package/node_modules/pump/package.json +0 -24
  521. package/node_modules/pump/test-browser.js +0 -66
  522. package/node_modules/pump/test-node.js +0 -53
  523. package/node_modules/quick-lru/index.d.ts +0 -97
  524. package/node_modules/quick-lru/index.js +0 -123
  525. package/node_modules/quick-lru/license +0 -9
  526. package/node_modules/quick-lru/package.json +0 -43
  527. package/node_modules/quick-lru/readme.md +0 -111
  528. package/node_modules/resolve-alpn/LICENSE +0 -22
  529. package/node_modules/resolve-alpn/README.md +0 -60
  530. package/node_modules/resolve-alpn/index.js +0 -43
  531. package/node_modules/resolve-alpn/package.json +0 -34
  532. package/node_modules/responselike/LICENSE +0 -19
  533. package/node_modules/responselike/README.md +0 -77
  534. package/node_modules/responselike/package.json +0 -39
  535. package/node_modules/responselike/src/index.js +0 -34
  536. package/node_modules/wrappy/LICENSE +0 -15
  537. package/node_modules/wrappy/README.md +0 -36
  538. package/node_modules/wrappy/package.json +0 -29
  539. package/node_modules/wrappy/wrappy.js +0 -33
@@ -1,1505 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnsupportedProtocolError = exports.ReadError = exports.TimeoutError = exports.UploadError = exports.CacheError = exports.HTTPError = exports.MaxRedirectsError = exports.RequestError = exports.setNonEnumerableProperties = exports.knownHookEvents = exports.withoutBody = exports.kIsNormalizedAlready = void 0;
4
- const util_1 = require("util");
5
- const stream_1 = require("stream");
6
- const fs_1 = require("fs");
7
- const url_1 = require("url");
8
- const http = require("http");
9
- const http_1 = require("http");
10
- const https = require("https");
11
- const http_timer_1 = require("@szmarczak/http-timer");
12
- const cacheable_lookup_1 = require("cacheable-lookup");
13
- const CacheableRequest = require("cacheable-request");
14
- const decompressResponse = require("decompress-response");
15
- // @ts-expect-error Missing types
16
- const http2wrapper = require("http2-wrapper");
17
- const lowercaseKeys = require("lowercase-keys");
18
- const is_1 = require("@sindresorhus/is");
19
- const get_body_size_1 = require("./utils/get-body-size");
20
- const is_form_data_1 = require("./utils/is-form-data");
21
- const proxy_events_1 = require("./utils/proxy-events");
22
- const timed_out_1 = require("./utils/timed-out");
23
- const url_to_options_1 = require("./utils/url-to-options");
24
- const options_to_url_1 = require("./utils/options-to-url");
25
- const weakable_map_1 = require("./utils/weakable-map");
26
- const get_buffer_1 = require("./utils/get-buffer");
27
- const dns_ip_version_1 = require("./utils/dns-ip-version");
28
- const is_response_ok_1 = require("./utils/is-response-ok");
29
- const deprecation_warning_1 = require("../utils/deprecation-warning");
30
- const normalize_arguments_1 = require("../as-promise/normalize-arguments");
31
- const calculate_retry_delay_1 = require("./calculate-retry-delay");
32
- let globalDnsCache;
33
- const kRequest = Symbol('request');
34
- const kResponse = Symbol('response');
35
- const kResponseSize = Symbol('responseSize');
36
- const kDownloadedSize = Symbol('downloadedSize');
37
- const kBodySize = Symbol('bodySize');
38
- const kUploadedSize = Symbol('uploadedSize');
39
- const kServerResponsesPiped = Symbol('serverResponsesPiped');
40
- const kUnproxyEvents = Symbol('unproxyEvents');
41
- const kIsFromCache = Symbol('isFromCache');
42
- const kCancelTimeouts = Symbol('cancelTimeouts');
43
- const kStartedReading = Symbol('startedReading');
44
- const kStopReading = Symbol('stopReading');
45
- const kTriggerRead = Symbol('triggerRead');
46
- const kBody = Symbol('body');
47
- const kJobs = Symbol('jobs');
48
- const kOriginalResponse = Symbol('originalResponse');
49
- const kRetryTimeout = Symbol('retryTimeout');
50
- exports.kIsNormalizedAlready = Symbol('isNormalizedAlready');
51
- const supportsBrotli = is_1.default.string(process.versions.brotli);
52
- exports.withoutBody = new Set(['GET', 'HEAD']);
53
- exports.knownHookEvents = [
54
- 'init',
55
- 'beforeRequest',
56
- 'beforeRedirect',
57
- 'beforeError',
58
- 'beforeRetry',
59
- // Promise-Only
60
- 'afterResponse'
61
- ];
62
- function validateSearchParameters(searchParameters) {
63
- // eslint-disable-next-line guard-for-in
64
- for (const key in searchParameters) {
65
- const value = searchParameters[key];
66
- if (!is_1.default.string(value) && !is_1.default.number(value) && !is_1.default.boolean(value) && !is_1.default.null_(value) && !is_1.default.undefined(value)) {
67
- throw new TypeError(`The \`searchParams\` value '${String(value)}' must be a string, number, boolean or null`);
68
- }
69
- }
70
- }
71
- function isClientRequest(clientRequest) {
72
- return is_1.default.object(clientRequest) && !('statusCode' in clientRequest);
73
- }
74
- const cacheableStore = new weakable_map_1.default();
75
- const waitForOpenFile = async (file) => new Promise((resolve, reject) => {
76
- const onError = (error) => {
77
- reject(error);
78
- };
79
- // Node.js 12 has incomplete types
80
- if (!file.pending) {
81
- resolve();
82
- }
83
- file.once('error', onError);
84
- file.once('ready', () => {
85
- file.off('error', onError);
86
- resolve();
87
- });
88
- });
89
- const redirectCodes = new Set([300, 301, 302, 303, 304, 307, 308]);
90
- const nonEnumerableProperties = [
91
- 'context',
92
- 'body',
93
- 'json',
94
- 'form'
95
- ];
96
- exports.setNonEnumerableProperties = (sources, to) => {
97
- // Non enumerable properties shall not be merged
98
- const properties = {};
99
- for (const source of sources) {
100
- if (!source) {
101
- continue;
102
- }
103
- for (const name of nonEnumerableProperties) {
104
- if (!(name in source)) {
105
- continue;
106
- }
107
- properties[name] = {
108
- writable: true,
109
- configurable: true,
110
- enumerable: false,
111
- // @ts-expect-error TS doesn't see the check above
112
- value: source[name]
113
- };
114
- }
115
- }
116
- Object.defineProperties(to, properties);
117
- };
118
- /**
119
- An error to be thrown when a request fails.
120
- Contains a `code` property with error class code, like `ECONNREFUSED`.
121
- */
122
- class RequestError extends Error {
123
- constructor(message, error, self) {
124
- var _a, _b;
125
- super(message);
126
- Error.captureStackTrace(this, this.constructor);
127
- this.name = 'RequestError';
128
- this.code = (_a = error.code) !== null && _a !== void 0 ? _a : 'ERR_GOT_REQUEST_ERROR';
129
- if (self instanceof Request) {
130
- Object.defineProperty(this, 'request', {
131
- enumerable: false,
132
- value: self
133
- });
134
- Object.defineProperty(this, 'response', {
135
- enumerable: false,
136
- value: self[kResponse]
137
- });
138
- Object.defineProperty(this, 'options', {
139
- // This fails because of TS 3.7.2 useDefineForClassFields
140
- // Ref: https://github.com/microsoft/TypeScript/issues/34972
141
- enumerable: false,
142
- value: self.options
143
- });
144
- }
145
- else {
146
- Object.defineProperty(this, 'options', {
147
- // This fails because of TS 3.7.2 useDefineForClassFields
148
- // Ref: https://github.com/microsoft/TypeScript/issues/34972
149
- enumerable: false,
150
- value: self
151
- });
152
- }
153
- this.timings = (_b = this.request) === null || _b === void 0 ? void 0 : _b.timings;
154
- // Recover the original stacktrace
155
- if (is_1.default.string(error.stack) && is_1.default.string(this.stack)) {
156
- const indexOfMessage = this.stack.indexOf(this.message) + this.message.length;
157
- const thisStackTrace = this.stack.slice(indexOfMessage).split('\n').reverse();
158
- const errorStackTrace = error.stack.slice(error.stack.indexOf(error.message) + error.message.length).split('\n').reverse();
159
- // Remove duplicated traces
160
- while (errorStackTrace.length !== 0 && errorStackTrace[0] === thisStackTrace[0]) {
161
- thisStackTrace.shift();
162
- }
163
- this.stack = `${this.stack.slice(0, indexOfMessage)}${thisStackTrace.reverse().join('\n')}${errorStackTrace.reverse().join('\n')}`;
164
- }
165
- }
166
- }
167
- exports.RequestError = RequestError;
168
- /**
169
- An error to be thrown when the server redirects you more than ten times.
170
- Includes a `response` property.
171
- */
172
- class MaxRedirectsError extends RequestError {
173
- constructor(request) {
174
- super(`Redirected ${request.options.maxRedirects} times. Aborting.`, {}, request);
175
- this.name = 'MaxRedirectsError';
176
- this.code = 'ERR_TOO_MANY_REDIRECTS';
177
- }
178
- }
179
- exports.MaxRedirectsError = MaxRedirectsError;
180
- /**
181
- An error to be thrown when the server response code is not 2xx nor 3xx if `options.followRedirect` is `true`, but always except for 304.
182
- Includes a `response` property.
183
- */
184
- class HTTPError extends RequestError {
185
- constructor(response) {
186
- super(`Response code ${response.statusCode} (${response.statusMessage})`, {}, response.request);
187
- this.name = 'HTTPError';
188
- this.code = 'ERR_NON_2XX_3XX_RESPONSE';
189
- }
190
- }
191
- exports.HTTPError = HTTPError;
192
- /**
193
- An error to be thrown when a cache method fails.
194
- For example, if the database goes down or there's a filesystem error.
195
- */
196
- class CacheError extends RequestError {
197
- constructor(error, request) {
198
- super(error.message, error, request);
199
- this.name = 'CacheError';
200
- this.code = this.code === 'ERR_GOT_REQUEST_ERROR' ? 'ERR_CACHE_ACCESS' : this.code;
201
- }
202
- }
203
- exports.CacheError = CacheError;
204
- /**
205
- An error to be thrown when the request body is a stream and an error occurs while reading from that stream.
206
- */
207
- class UploadError extends RequestError {
208
- constructor(error, request) {
209
- super(error.message, error, request);
210
- this.name = 'UploadError';
211
- this.code = this.code === 'ERR_GOT_REQUEST_ERROR' ? 'ERR_UPLOAD' : this.code;
212
- }
213
- }
214
- exports.UploadError = UploadError;
215
- /**
216
- An error to be thrown when the request is aborted due to a timeout.
217
- Includes an `event` and `timings` property.
218
- */
219
- class TimeoutError extends RequestError {
220
- constructor(error, timings, request) {
221
- super(error.message, error, request);
222
- this.name = 'TimeoutError';
223
- this.event = error.event;
224
- this.timings = timings;
225
- }
226
- }
227
- exports.TimeoutError = TimeoutError;
228
- /**
229
- An error to be thrown when reading from response stream fails.
230
- */
231
- class ReadError extends RequestError {
232
- constructor(error, request) {
233
- super(error.message, error, request);
234
- this.name = 'ReadError';
235
- this.code = this.code === 'ERR_GOT_REQUEST_ERROR' ? 'ERR_READING_RESPONSE_STREAM' : this.code;
236
- }
237
- }
238
- exports.ReadError = ReadError;
239
- /**
240
- An error to be thrown when given an unsupported protocol.
241
- */
242
- class UnsupportedProtocolError extends RequestError {
243
- constructor(options) {
244
- super(`Unsupported protocol "${options.url.protocol}"`, {}, options);
245
- this.name = 'UnsupportedProtocolError';
246
- this.code = 'ERR_UNSUPPORTED_PROTOCOL';
247
- }
248
- }
249
- exports.UnsupportedProtocolError = UnsupportedProtocolError;
250
- const proxiedRequestEvents = [
251
- 'socket',
252
- 'connect',
253
- 'continue',
254
- 'information',
255
- 'upgrade',
256
- 'timeout'
257
- ];
258
- class Request extends stream_1.Duplex {
259
- constructor(url, options = {}, defaults) {
260
- super({
261
- // This must be false, to enable throwing after destroy
262
- // It is used for retry logic in Promise API
263
- autoDestroy: false,
264
- // It needs to be zero because we're just proxying the data to another stream
265
- highWaterMark: 0
266
- });
267
- this[kDownloadedSize] = 0;
268
- this[kUploadedSize] = 0;
269
- this.requestInitialized = false;
270
- this[kServerResponsesPiped] = new Set();
271
- this.redirects = [];
272
- this[kStopReading] = false;
273
- this[kTriggerRead] = false;
274
- this[kJobs] = [];
275
- this.retryCount = 0;
276
- // TODO: Remove this when targeting Node.js >= 12
277
- this._progressCallbacks = [];
278
- const unlockWrite = () => this._unlockWrite();
279
- const lockWrite = () => this._lockWrite();
280
- this.on('pipe', (source) => {
281
- source.prependListener('data', unlockWrite);
282
- source.on('data', lockWrite);
283
- source.prependListener('end', unlockWrite);
284
- source.on('end', lockWrite);
285
- });
286
- this.on('unpipe', (source) => {
287
- source.off('data', unlockWrite);
288
- source.off('data', lockWrite);
289
- source.off('end', unlockWrite);
290
- source.off('end', lockWrite);
291
- });
292
- this.on('pipe', source => {
293
- if (source instanceof http_1.IncomingMessage) {
294
- this.options.headers = {
295
- ...source.headers,
296
- ...this.options.headers
297
- };
298
- }
299
- });
300
- const { json, body, form } = options;
301
- if (json || body || form) {
302
- this._lockWrite();
303
- }
304
- if (exports.kIsNormalizedAlready in options) {
305
- this.options = options;
306
- }
307
- else {
308
- try {
309
- // @ts-expect-error Common TypeScript bug saying that `this.constructor` is not accessible
310
- this.options = this.constructor.normalizeArguments(url, options, defaults);
311
- }
312
- catch (error) {
313
- // TODO: Move this to `_destroy()`
314
- if (is_1.default.nodeStream(options.body)) {
315
- options.body.destroy();
316
- }
317
- this.destroy(error);
318
- return;
319
- }
320
- }
321
- (async () => {
322
- var _a;
323
- try {
324
- if (this.options.body instanceof fs_1.ReadStream) {
325
- await waitForOpenFile(this.options.body);
326
- }
327
- const { url: normalizedURL } = this.options;
328
- if (!normalizedURL) {
329
- throw new TypeError('Missing `url` property');
330
- }
331
- this.requestUrl = normalizedURL.toString();
332
- decodeURI(this.requestUrl);
333
- await this._finalizeBody();
334
- await this._makeRequest();
335
- if (this.destroyed) {
336
- (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.destroy();
337
- return;
338
- }
339
- // Queued writes etc.
340
- for (const job of this[kJobs]) {
341
- job();
342
- }
343
- // Prevent memory leak
344
- this[kJobs].length = 0;
345
- this.requestInitialized = true;
346
- }
347
- catch (error) {
348
- if (error instanceof RequestError) {
349
- this._beforeError(error);
350
- return;
351
- }
352
- // This is a workaround for https://github.com/nodejs/node/issues/33335
353
- if (!this.destroyed) {
354
- this.destroy(error);
355
- }
356
- }
357
- })();
358
- }
359
- static normalizeArguments(url, options, defaults) {
360
- var _a, _b, _c, _d, _e;
361
- const rawOptions = options;
362
- if (is_1.default.object(url) && !is_1.default.urlInstance(url)) {
363
- options = { ...defaults, ...url, ...options };
364
- }
365
- else {
366
- if (url && options && options.url !== undefined) {
367
- throw new TypeError('The `url` option is mutually exclusive with the `input` argument');
368
- }
369
- options = { ...defaults, ...options };
370
- if (url !== undefined) {
371
- options.url = url;
372
- }
373
- if (is_1.default.urlInstance(options.url)) {
374
- options.url = new url_1.URL(options.url.toString());
375
- }
376
- }
377
- // TODO: Deprecate URL options in Got 12.
378
- // Support extend-specific options
379
- if (options.cache === false) {
380
- options.cache = undefined;
381
- }
382
- if (options.dnsCache === false) {
383
- options.dnsCache = undefined;
384
- }
385
- // Nice type assertions
386
- is_1.assert.any([is_1.default.string, is_1.default.undefined], options.method);
387
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.headers);
388
- is_1.assert.any([is_1.default.string, is_1.default.urlInstance, is_1.default.undefined], options.prefixUrl);
389
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.cookieJar);
390
- is_1.assert.any([is_1.default.object, is_1.default.string, is_1.default.undefined], options.searchParams);
391
- is_1.assert.any([is_1.default.object, is_1.default.string, is_1.default.undefined], options.cache);
392
- is_1.assert.any([is_1.default.object, is_1.default.number, is_1.default.undefined], options.timeout);
393
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.context);
394
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.hooks);
395
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.decompress);
396
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.ignoreInvalidCookies);
397
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.followRedirect);
398
- is_1.assert.any([is_1.default.number, is_1.default.undefined], options.maxRedirects);
399
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.throwHttpErrors);
400
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.http2);
401
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.allowGetBody);
402
- is_1.assert.any([is_1.default.string, is_1.default.undefined], options.localAddress);
403
- is_1.assert.any([dns_ip_version_1.isDnsLookupIpVersion, is_1.default.undefined], options.dnsLookupIpVersion);
404
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.https);
405
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.rejectUnauthorized);
406
- if (options.https) {
407
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.https.rejectUnauthorized);
408
- is_1.assert.any([is_1.default.function_, is_1.default.undefined], options.https.checkServerIdentity);
409
- is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.certificateAuthority);
410
- is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.key);
411
- is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.certificate);
412
- is_1.assert.any([is_1.default.string, is_1.default.undefined], options.https.passphrase);
413
- is_1.assert.any([is_1.default.string, is_1.default.buffer, is_1.default.array, is_1.default.undefined], options.https.pfx);
414
- }
415
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.cacheOptions);
416
- // `options.method`
417
- if (is_1.default.string(options.method)) {
418
- options.method = options.method.toUpperCase();
419
- }
420
- else {
421
- options.method = 'GET';
422
- }
423
- // `options.headers`
424
- if (options.headers === (defaults === null || defaults === void 0 ? void 0 : defaults.headers)) {
425
- options.headers = { ...options.headers };
426
- }
427
- else {
428
- options.headers = lowercaseKeys({ ...(defaults === null || defaults === void 0 ? void 0 : defaults.headers), ...options.headers });
429
- }
430
- // Disallow legacy `url.Url`
431
- if ('slashes' in options) {
432
- throw new TypeError('The legacy `url.Url` has been deprecated. Use `URL` instead.');
433
- }
434
- // `options.auth`
435
- if ('auth' in options) {
436
- throw new TypeError('Parameter `auth` is deprecated. Use `username` / `password` instead.');
437
- }
438
- // `options.searchParams`
439
- if ('searchParams' in options) {
440
- if (options.searchParams && options.searchParams !== (defaults === null || defaults === void 0 ? void 0 : defaults.searchParams)) {
441
- let searchParameters;
442
- if (is_1.default.string(options.searchParams) || (options.searchParams instanceof url_1.URLSearchParams)) {
443
- searchParameters = new url_1.URLSearchParams(options.searchParams);
444
- }
445
- else {
446
- validateSearchParameters(options.searchParams);
447
- searchParameters = new url_1.URLSearchParams();
448
- // eslint-disable-next-line guard-for-in
449
- for (const key in options.searchParams) {
450
- const value = options.searchParams[key];
451
- if (value === null) {
452
- searchParameters.append(key, '');
453
- }
454
- else if (value !== undefined) {
455
- searchParameters.append(key, value);
456
- }
457
- }
458
- }
459
- // `normalizeArguments()` is also used to merge options
460
- (_a = defaults === null || defaults === void 0 ? void 0 : defaults.searchParams) === null || _a === void 0 ? void 0 : _a.forEach((value, key) => {
461
- // Only use default if one isn't already defined
462
- if (!searchParameters.has(key)) {
463
- searchParameters.append(key, value);
464
- }
465
- });
466
- options.searchParams = searchParameters;
467
- }
468
- }
469
- // `options.username` & `options.password`
470
- options.username = (_b = options.username) !== null && _b !== void 0 ? _b : '';
471
- options.password = (_c = options.password) !== null && _c !== void 0 ? _c : '';
472
- // `options.prefixUrl` & `options.url`
473
- if (is_1.default.undefined(options.prefixUrl)) {
474
- options.prefixUrl = (_d = defaults === null || defaults === void 0 ? void 0 : defaults.prefixUrl) !== null && _d !== void 0 ? _d : '';
475
- }
476
- else {
477
- options.prefixUrl = options.prefixUrl.toString();
478
- if (options.prefixUrl !== '' && !options.prefixUrl.endsWith('/')) {
479
- options.prefixUrl += '/';
480
- }
481
- }
482
- if (is_1.default.string(options.url)) {
483
- if (options.url.startsWith('/')) {
484
- throw new Error('`input` must not start with a slash when using `prefixUrl`');
485
- }
486
- options.url = options_to_url_1.default(options.prefixUrl + options.url, options);
487
- }
488
- else if ((is_1.default.undefined(options.url) && options.prefixUrl !== '') || options.protocol) {
489
- options.url = options_to_url_1.default(options.prefixUrl, options);
490
- }
491
- if (options.url) {
492
- if ('port' in options) {
493
- delete options.port;
494
- }
495
- // Make it possible to change `options.prefixUrl`
496
- let { prefixUrl } = options;
497
- Object.defineProperty(options, 'prefixUrl', {
498
- set: (value) => {
499
- const url = options.url;
500
- if (!url.href.startsWith(value)) {
501
- throw new Error(`Cannot change \`prefixUrl\` from ${prefixUrl} to ${value}: ${url.href}`);
502
- }
503
- options.url = new url_1.URL(value + url.href.slice(prefixUrl.length));
504
- prefixUrl = value;
505
- },
506
- get: () => prefixUrl
507
- });
508
- // Support UNIX sockets
509
- let { protocol } = options.url;
510
- if (protocol === 'unix:') {
511
- protocol = 'http:';
512
- options.url = new url_1.URL(`http://unix${options.url.pathname}${options.url.search}`);
513
- }
514
- // Set search params
515
- if (options.searchParams) {
516
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
517
- options.url.search = options.searchParams.toString();
518
- }
519
- // Protocol check
520
- if (protocol !== 'http:' && protocol !== 'https:') {
521
- throw new UnsupportedProtocolError(options);
522
- }
523
- // Update `username`
524
- if (options.username === '') {
525
- options.username = options.url.username;
526
- }
527
- else {
528
- options.url.username = options.username;
529
- }
530
- // Update `password`
531
- if (options.password === '') {
532
- options.password = options.url.password;
533
- }
534
- else {
535
- options.url.password = options.password;
536
- }
537
- }
538
- // `options.cookieJar`
539
- const { cookieJar } = options;
540
- if (cookieJar) {
541
- let { setCookie, getCookieString } = cookieJar;
542
- is_1.assert.function_(setCookie);
543
- is_1.assert.function_(getCookieString);
544
- /* istanbul ignore next: Horrible `tough-cookie` v3 check */
545
- if (setCookie.length === 4 && getCookieString.length === 0) {
546
- setCookie = util_1.promisify(setCookie.bind(options.cookieJar));
547
- getCookieString = util_1.promisify(getCookieString.bind(options.cookieJar));
548
- options.cookieJar = {
549
- setCookie,
550
- getCookieString: getCookieString
551
- };
552
- }
553
- }
554
- // `options.cache`
555
- const { cache } = options;
556
- if (cache) {
557
- if (!cacheableStore.has(cache)) {
558
- cacheableStore.set(cache, new CacheableRequest(((requestOptions, handler) => {
559
- const result = requestOptions[kRequest](requestOptions, handler);
560
- // TODO: remove this when `cacheable-request` supports async request functions.
561
- if (is_1.default.promise(result)) {
562
- // @ts-expect-error
563
- // We only need to implement the error handler in order to support HTTP2 caching.
564
- // The result will be a promise anyway.
565
- result.once = (event, handler) => {
566
- if (event === 'error') {
567
- result.catch(handler);
568
- }
569
- else if (event === 'abort') {
570
- // The empty catch is needed here in case when
571
- // it rejects before it's `await`ed in `_makeRequest`.
572
- (async () => {
573
- try {
574
- const request = (await result);
575
- request.once('abort', handler);
576
- }
577
- catch (_a) { }
578
- })();
579
- }
580
- else {
581
- /* istanbul ignore next: safety check */
582
- throw new Error(`Unknown HTTP2 promise event: ${event}`);
583
- }
584
- return result;
585
- };
586
- }
587
- return result;
588
- }), cache));
589
- }
590
- }
591
- // `options.cacheOptions`
592
- options.cacheOptions = { ...options.cacheOptions };
593
- // `options.dnsCache`
594
- if (options.dnsCache === true) {
595
- if (!globalDnsCache) {
596
- globalDnsCache = new cacheable_lookup_1.default();
597
- }
598
- options.dnsCache = globalDnsCache;
599
- }
600
- else if (!is_1.default.undefined(options.dnsCache) && !options.dnsCache.lookup) {
601
- throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${is_1.default(options.dnsCache)}`);
602
- }
603
- // `options.timeout`
604
- if (is_1.default.number(options.timeout)) {
605
- options.timeout = { request: options.timeout };
606
- }
607
- else if (defaults && options.timeout !== defaults.timeout) {
608
- options.timeout = {
609
- ...defaults.timeout,
610
- ...options.timeout
611
- };
612
- }
613
- else {
614
- options.timeout = { ...options.timeout };
615
- }
616
- // `options.context`
617
- if (!options.context) {
618
- options.context = {};
619
- }
620
- // `options.hooks`
621
- const areHooksDefault = options.hooks === (defaults === null || defaults === void 0 ? void 0 : defaults.hooks);
622
- options.hooks = { ...options.hooks };
623
- for (const event of exports.knownHookEvents) {
624
- if (event in options.hooks) {
625
- if (is_1.default.array(options.hooks[event])) {
626
- // See https://github.com/microsoft/TypeScript/issues/31445#issuecomment-576929044
627
- options.hooks[event] = [...options.hooks[event]];
628
- }
629
- else {
630
- throw new TypeError(`Parameter \`${event}\` must be an Array, got ${is_1.default(options.hooks[event])}`);
631
- }
632
- }
633
- else {
634
- options.hooks[event] = [];
635
- }
636
- }
637
- if (defaults && !areHooksDefault) {
638
- for (const event of exports.knownHookEvents) {
639
- const defaultHooks = defaults.hooks[event];
640
- if (defaultHooks.length > 0) {
641
- // See https://github.com/microsoft/TypeScript/issues/31445#issuecomment-576929044
642
- options.hooks[event] = [
643
- ...defaults.hooks[event],
644
- ...options.hooks[event]
645
- ];
646
- }
647
- }
648
- }
649
- // DNS options
650
- if ('family' in options) {
651
- deprecation_warning_1.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"');
652
- }
653
- // HTTPS options
654
- if (defaults === null || defaults === void 0 ? void 0 : defaults.https) {
655
- options.https = { ...defaults.https, ...options.https };
656
- }
657
- if ('rejectUnauthorized' in options) {
658
- deprecation_warning_1.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"');
659
- }
660
- if ('checkServerIdentity' in options) {
661
- deprecation_warning_1.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"');
662
- }
663
- if ('ca' in options) {
664
- deprecation_warning_1.default('"options.ca" was never documented, please use "options.https.certificateAuthority"');
665
- }
666
- if ('key' in options) {
667
- deprecation_warning_1.default('"options.key" was never documented, please use "options.https.key"');
668
- }
669
- if ('cert' in options) {
670
- deprecation_warning_1.default('"options.cert" was never documented, please use "options.https.certificate"');
671
- }
672
- if ('passphrase' in options) {
673
- deprecation_warning_1.default('"options.passphrase" was never documented, please use "options.https.passphrase"');
674
- }
675
- if ('pfx' in options) {
676
- deprecation_warning_1.default('"options.pfx" was never documented, please use "options.https.pfx"');
677
- }
678
- // Other options
679
- if ('followRedirects' in options) {
680
- throw new TypeError('The `followRedirects` option does not exist. Use `followRedirect` instead.');
681
- }
682
- if (options.agent) {
683
- for (const key in options.agent) {
684
- if (key !== 'http' && key !== 'https' && key !== 'http2') {
685
- throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${key}\``);
686
- }
687
- }
688
- }
689
- options.maxRedirects = (_e = options.maxRedirects) !== null && _e !== void 0 ? _e : 0;
690
- // Set non-enumerable properties
691
- exports.setNonEnumerableProperties([defaults, rawOptions], options);
692
- return normalize_arguments_1.default(options, defaults);
693
- }
694
- _lockWrite() {
695
- const onLockedWrite = () => {
696
- throw new TypeError('The payload has been already provided');
697
- };
698
- this.write = onLockedWrite;
699
- this.end = onLockedWrite;
700
- }
701
- _unlockWrite() {
702
- this.write = super.write;
703
- this.end = super.end;
704
- }
705
- async _finalizeBody() {
706
- const { options } = this;
707
- const { headers } = options;
708
- const isForm = !is_1.default.undefined(options.form);
709
- const isJSON = !is_1.default.undefined(options.json);
710
- const isBody = !is_1.default.undefined(options.body);
711
- const hasPayload = isForm || isJSON || isBody;
712
- const cannotHaveBody = exports.withoutBody.has(options.method) && !(options.method === 'GET' && options.allowGetBody);
713
- this._cannotHaveBody = cannotHaveBody;
714
- if (hasPayload) {
715
- if (cannotHaveBody) {
716
- throw new TypeError(`The \`${options.method}\` method cannot be used with a body`);
717
- }
718
- if ([isBody, isForm, isJSON].filter(isTrue => isTrue).length > 1) {
719
- throw new TypeError('The `body`, `json` and `form` options are mutually exclusive');
720
- }
721
- if (isBody &&
722
- !(options.body instanceof stream_1.Readable) &&
723
- !is_1.default.string(options.body) &&
724
- !is_1.default.buffer(options.body) &&
725
- !is_form_data_1.default(options.body)) {
726
- throw new TypeError('The `body` option must be a stream.Readable, string or Buffer');
727
- }
728
- if (isForm && !is_1.default.object(options.form)) {
729
- throw new TypeError('The `form` option must be an Object');
730
- }
731
- {
732
- // Serialize body
733
- const noContentType = !is_1.default.string(headers['content-type']);
734
- if (isBody) {
735
- // Special case for https://github.com/form-data/form-data
736
- if (is_form_data_1.default(options.body) && noContentType) {
737
- headers['content-type'] = `multipart/form-data; boundary=${options.body.getBoundary()}`;
738
- }
739
- this[kBody] = options.body;
740
- }
741
- else if (isForm) {
742
- if (noContentType) {
743
- headers['content-type'] = 'application/x-www-form-urlencoded';
744
- }
745
- this[kBody] = (new url_1.URLSearchParams(options.form)).toString();
746
- }
747
- else {
748
- if (noContentType) {
749
- headers['content-type'] = 'application/json';
750
- }
751
- this[kBody] = options.stringifyJson(options.json);
752
- }
753
- const uploadBodySize = await get_body_size_1.default(this[kBody], options.headers);
754
- // See https://tools.ietf.org/html/rfc7230#section-3.3.2
755
- // A user agent SHOULD send a Content-Length in a request message when
756
- // no Transfer-Encoding is sent and the request method defines a meaning
757
- // for an enclosed payload body. For example, a Content-Length header
758
- // field is normally sent in a POST request even when the value is 0
759
- // (indicating an empty payload body). A user agent SHOULD NOT send a
760
- // Content-Length header field when the request message does not contain
761
- // a payload body and the method semantics do not anticipate such a
762
- // body.
763
- if (is_1.default.undefined(headers['content-length']) && is_1.default.undefined(headers['transfer-encoding'])) {
764
- if (!cannotHaveBody && !is_1.default.undefined(uploadBodySize)) {
765
- headers['content-length'] = String(uploadBodySize);
766
- }
767
- }
768
- }
769
- }
770
- else if (cannotHaveBody) {
771
- this._lockWrite();
772
- }
773
- else {
774
- this._unlockWrite();
775
- }
776
- this[kBodySize] = Number(headers['content-length']) || undefined;
777
- }
778
- async _onResponseBase(response) {
779
- const { options } = this;
780
- const { url } = options;
781
- this[kOriginalResponse] = response;
782
- if (options.decompress) {
783
- response = decompressResponse(response);
784
- }
785
- const statusCode = response.statusCode;
786
- const typedResponse = response;
787
- typedResponse.statusMessage = typedResponse.statusMessage ? typedResponse.statusMessage : http.STATUS_CODES[statusCode];
788
- typedResponse.url = options.url.toString();
789
- typedResponse.requestUrl = this.requestUrl;
790
- typedResponse.redirectUrls = this.redirects;
791
- typedResponse.request = this;
792
- typedResponse.isFromCache = response.fromCache || false;
793
- typedResponse.ip = this.ip;
794
- typedResponse.retryCount = this.retryCount;
795
- this[kIsFromCache] = typedResponse.isFromCache;
796
- this[kResponseSize] = Number(response.headers['content-length']) || undefined;
797
- this[kResponse] = response;
798
- response.once('end', () => {
799
- this[kResponseSize] = this[kDownloadedSize];
800
- this.emit('downloadProgress', this.downloadProgress);
801
- });
802
- response.once('error', (error) => {
803
- // Force clean-up, because some packages don't do this.
804
- // TODO: Fix decompress-response
805
- response.destroy();
806
- this._beforeError(new ReadError(error, this));
807
- });
808
- response.once('aborted', () => {
809
- this._beforeError(new ReadError({
810
- name: 'Error',
811
- message: 'The server aborted pending request',
812
- code: 'ECONNRESET'
813
- }, this));
814
- });
815
- this.emit('downloadProgress', this.downloadProgress);
816
- const rawCookies = response.headers['set-cookie'];
817
- if (is_1.default.object(options.cookieJar) && rawCookies) {
818
- let promises = rawCookies.map(async (rawCookie) => options.cookieJar.setCookie(rawCookie, url.toString()));
819
- if (options.ignoreInvalidCookies) {
820
- promises = promises.map(async (p) => p.catch(() => { }));
821
- }
822
- try {
823
- await Promise.all(promises);
824
- }
825
- catch (error) {
826
- this._beforeError(error);
827
- return;
828
- }
829
- }
830
- if (options.followRedirect && response.headers.location && redirectCodes.has(statusCode)) {
831
- // We're being redirected, we don't care about the response.
832
- // It'd be best to abort the request, but we can't because
833
- // we would have to sacrifice the TCP connection. We don't want that.
834
- response.resume();
835
- if (this[kRequest]) {
836
- this[kCancelTimeouts]();
837
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
838
- delete this[kRequest];
839
- this[kUnproxyEvents]();
840
- }
841
- const shouldBeGet = statusCode === 303 && options.method !== 'GET' && options.method !== 'HEAD';
842
- if (shouldBeGet || !options.methodRewriting) {
843
- // Server responded with "see other", indicating that the resource exists at another location,
844
- // and the client should request it from that location via GET or HEAD.
845
- options.method = 'GET';
846
- if ('body' in options) {
847
- delete options.body;
848
- }
849
- if ('json' in options) {
850
- delete options.json;
851
- }
852
- if ('form' in options) {
853
- delete options.form;
854
- }
855
- this[kBody] = undefined;
856
- delete options.headers['content-length'];
857
- }
858
- if (this.redirects.length >= options.maxRedirects) {
859
- this._beforeError(new MaxRedirectsError(this));
860
- return;
861
- }
862
- try {
863
- // Do not remove. See https://github.com/sindresorhus/got/pull/214
864
- const redirectBuffer = Buffer.from(response.headers.location, 'binary').toString();
865
- // Handles invalid URLs. See https://github.com/sindresorhus/got/issues/604
866
- const redirectUrl = new url_1.URL(redirectBuffer, url);
867
- const redirectString = redirectUrl.toString();
868
- decodeURI(redirectString);
869
- // eslint-disable-next-line no-inner-declarations
870
- function isUnixSocketURL(url) {
871
- return url.protocol === 'unix:' || url.hostname === 'unix';
872
- }
873
- if (!isUnixSocketURL(url) && isUnixSocketURL(redirectUrl)) {
874
- this._beforeError(new RequestError('Cannot redirect to UNIX socket', {}, this));
875
- return;
876
- }
877
- // Redirecting to a different site, clear sensitive data.
878
- if (redirectUrl.hostname !== url.hostname || redirectUrl.port !== url.port) {
879
- if ('host' in options.headers) {
880
- delete options.headers.host;
881
- }
882
- if ('cookie' in options.headers) {
883
- delete options.headers.cookie;
884
- }
885
- if ('authorization' in options.headers) {
886
- delete options.headers.authorization;
887
- }
888
- if (options.username || options.password) {
889
- options.username = '';
890
- options.password = '';
891
- }
892
- }
893
- else {
894
- redirectUrl.username = options.username;
895
- redirectUrl.password = options.password;
896
- }
897
- this.redirects.push(redirectString);
898
- options.url = redirectUrl;
899
- for (const hook of options.hooks.beforeRedirect) {
900
- // eslint-disable-next-line no-await-in-loop
901
- await hook(options, typedResponse);
902
- }
903
- this.emit('redirect', typedResponse, options);
904
- await this._makeRequest();
905
- }
906
- catch (error) {
907
- this._beforeError(error);
908
- return;
909
- }
910
- return;
911
- }
912
- if (options.isStream && options.throwHttpErrors && !is_response_ok_1.isResponseOk(typedResponse)) {
913
- this._beforeError(new HTTPError(typedResponse));
914
- return;
915
- }
916
- response.on('readable', () => {
917
- if (this[kTriggerRead]) {
918
- this._read();
919
- }
920
- });
921
- this.on('resume', () => {
922
- response.resume();
923
- });
924
- this.on('pause', () => {
925
- response.pause();
926
- });
927
- response.once('end', () => {
928
- this.push(null);
929
- });
930
- this.emit('response', response);
931
- for (const destination of this[kServerResponsesPiped]) {
932
- if (destination.headersSent) {
933
- continue;
934
- }
935
- // eslint-disable-next-line guard-for-in
936
- for (const key in response.headers) {
937
- const isAllowed = options.decompress ? key !== 'content-encoding' : true;
938
- const value = response.headers[key];
939
- if (isAllowed) {
940
- destination.setHeader(key, value);
941
- }
942
- }
943
- destination.statusCode = statusCode;
944
- }
945
- }
946
- async _onResponse(response) {
947
- try {
948
- await this._onResponseBase(response);
949
- }
950
- catch (error) {
951
- /* istanbul ignore next: better safe than sorry */
952
- this._beforeError(error);
953
- }
954
- }
955
- _onRequest(request) {
956
- const { options } = this;
957
- const { timeout, url } = options;
958
- http_timer_1.default(request);
959
- this[kCancelTimeouts] = timed_out_1.default(request, timeout, url);
960
- const responseEventName = options.cache ? 'cacheableResponse' : 'response';
961
- request.once(responseEventName, (response) => {
962
- void this._onResponse(response);
963
- });
964
- request.once('error', (error) => {
965
- var _a;
966
- // Force clean-up, because some packages (e.g. nock) don't do this.
967
- request.destroy();
968
- // Node.js <= 12.18.2 mistakenly emits the response `end` first.
969
- (_a = request.res) === null || _a === void 0 ? void 0 : _a.removeAllListeners('end');
970
- error = error instanceof timed_out_1.TimeoutError ? new TimeoutError(error, this.timings, this) : new RequestError(error.message, error, this);
971
- this._beforeError(error);
972
- });
973
- this[kUnproxyEvents] = proxy_events_1.default(request, this, proxiedRequestEvents);
974
- this[kRequest] = request;
975
- this.emit('uploadProgress', this.uploadProgress);
976
- // Send body
977
- const body = this[kBody];
978
- const currentRequest = this.redirects.length === 0 ? this : request;
979
- if (is_1.default.nodeStream(body)) {
980
- body.pipe(currentRequest);
981
- body.once('error', (error) => {
982
- this._beforeError(new UploadError(error, this));
983
- });
984
- }
985
- else {
986
- this._unlockWrite();
987
- if (!is_1.default.undefined(body)) {
988
- this._writeRequest(body, undefined, () => { });
989
- currentRequest.end();
990
- this._lockWrite();
991
- }
992
- else if (this._cannotHaveBody || this._noPipe) {
993
- currentRequest.end();
994
- this._lockWrite();
995
- }
996
- }
997
- this.emit('request', request);
998
- }
999
- async _createCacheableRequest(url, options) {
1000
- return new Promise((resolve, reject) => {
1001
- // TODO: Remove `utils/url-to-options.ts` when `cacheable-request` is fixed
1002
- Object.assign(options, url_to_options_1.default(url));
1003
- // `http-cache-semantics` checks this
1004
- // TODO: Fix this ignore.
1005
- // @ts-expect-error
1006
- delete options.url;
1007
- let request;
1008
- // This is ugly
1009
- const cacheRequest = cacheableStore.get(options.cache)(options, async (response) => {
1010
- // TODO: Fix `cacheable-response`
1011
- response._readableState.autoDestroy = false;
1012
- if (request) {
1013
- (await request).emit('cacheableResponse', response);
1014
- }
1015
- resolve(response);
1016
- });
1017
- // Restore options
1018
- options.url = url;
1019
- cacheRequest.once('error', reject);
1020
- cacheRequest.once('request', async (requestOrPromise) => {
1021
- request = requestOrPromise;
1022
- resolve(request);
1023
- });
1024
- });
1025
- }
1026
- async _makeRequest() {
1027
- var _a, _b, _c, _d, _e;
1028
- const { options } = this;
1029
- const { headers } = options;
1030
- for (const key in headers) {
1031
- if (is_1.default.undefined(headers[key])) {
1032
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
1033
- delete headers[key];
1034
- }
1035
- else if (is_1.default.null_(headers[key])) {
1036
- throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${key}\` header`);
1037
- }
1038
- }
1039
- if (options.decompress && is_1.default.undefined(headers['accept-encoding'])) {
1040
- headers['accept-encoding'] = supportsBrotli ? 'gzip, deflate, br' : 'gzip, deflate';
1041
- }
1042
- // Set cookies
1043
- if (options.cookieJar) {
1044
- const cookieString = await options.cookieJar.getCookieString(options.url.toString());
1045
- if (is_1.default.nonEmptyString(cookieString)) {
1046
- options.headers.cookie = cookieString;
1047
- }
1048
- }
1049
- for (const hook of options.hooks.beforeRequest) {
1050
- // eslint-disable-next-line no-await-in-loop
1051
- const result = await hook(options);
1052
- if (!is_1.default.undefined(result)) {
1053
- // @ts-expect-error Skip the type mismatch to support abstract responses
1054
- options.request = () => result;
1055
- break;
1056
- }
1057
- }
1058
- if (options.body && this[kBody] !== options.body) {
1059
- this[kBody] = options.body;
1060
- }
1061
- const { agent, request, timeout, url } = options;
1062
- if (options.dnsCache && !('lookup' in options)) {
1063
- options.lookup = options.dnsCache.lookup;
1064
- }
1065
- // UNIX sockets
1066
- if (url.hostname === 'unix') {
1067
- const matches = /(?<socketPath>.+?):(?<path>.+)/.exec(`${url.pathname}${url.search}`);
1068
- if (matches === null || matches === void 0 ? void 0 : matches.groups) {
1069
- const { socketPath, path } = matches.groups;
1070
- Object.assign(options, {
1071
- socketPath,
1072
- path,
1073
- host: ''
1074
- });
1075
- }
1076
- }
1077
- const isHttps = url.protocol === 'https:';
1078
- // Fallback function
1079
- let fallbackFn;
1080
- if (options.http2) {
1081
- fallbackFn = http2wrapper.auto;
1082
- }
1083
- else {
1084
- fallbackFn = isHttps ? https.request : http.request;
1085
- }
1086
- const realFn = (_a = options.request) !== null && _a !== void 0 ? _a : fallbackFn;
1087
- // Cache support
1088
- const fn = options.cache ? this._createCacheableRequest : realFn;
1089
- // Pass an agent directly when HTTP2 is disabled
1090
- if (agent && !options.http2) {
1091
- options.agent = agent[isHttps ? 'https' : 'http'];
1092
- }
1093
- // Prepare plain HTTP request options
1094
- options[kRequest] = realFn;
1095
- delete options.request;
1096
- // TODO: Fix this ignore.
1097
- // @ts-expect-error
1098
- delete options.timeout;
1099
- const requestOptions = options;
1100
- requestOptions.shared = (_b = options.cacheOptions) === null || _b === void 0 ? void 0 : _b.shared;
1101
- requestOptions.cacheHeuristic = (_c = options.cacheOptions) === null || _c === void 0 ? void 0 : _c.cacheHeuristic;
1102
- requestOptions.immutableMinTimeToLive = (_d = options.cacheOptions) === null || _d === void 0 ? void 0 : _d.immutableMinTimeToLive;
1103
- requestOptions.ignoreCargoCult = (_e = options.cacheOptions) === null || _e === void 0 ? void 0 : _e.ignoreCargoCult;
1104
- // If `dnsLookupIpVersion` is not present do not override `family`
1105
- if (options.dnsLookupIpVersion !== undefined) {
1106
- try {
1107
- requestOptions.family = dns_ip_version_1.dnsLookupIpVersionToFamily(options.dnsLookupIpVersion);
1108
- }
1109
- catch (_f) {
1110
- throw new Error('Invalid `dnsLookupIpVersion` option value');
1111
- }
1112
- }
1113
- // HTTPS options remapping
1114
- if (options.https) {
1115
- if ('rejectUnauthorized' in options.https) {
1116
- requestOptions.rejectUnauthorized = options.https.rejectUnauthorized;
1117
- }
1118
- if (options.https.checkServerIdentity) {
1119
- requestOptions.checkServerIdentity = options.https.checkServerIdentity;
1120
- }
1121
- if (options.https.certificateAuthority) {
1122
- requestOptions.ca = options.https.certificateAuthority;
1123
- }
1124
- if (options.https.certificate) {
1125
- requestOptions.cert = options.https.certificate;
1126
- }
1127
- if (options.https.key) {
1128
- requestOptions.key = options.https.key;
1129
- }
1130
- if (options.https.passphrase) {
1131
- requestOptions.passphrase = options.https.passphrase;
1132
- }
1133
- if (options.https.pfx) {
1134
- requestOptions.pfx = options.https.pfx;
1135
- }
1136
- }
1137
- try {
1138
- let requestOrResponse = await fn(url, requestOptions);
1139
- if (is_1.default.undefined(requestOrResponse)) {
1140
- requestOrResponse = fallbackFn(url, requestOptions);
1141
- }
1142
- // Restore options
1143
- options.request = request;
1144
- options.timeout = timeout;
1145
- options.agent = agent;
1146
- // HTTPS options restore
1147
- if (options.https) {
1148
- if ('rejectUnauthorized' in options.https) {
1149
- delete requestOptions.rejectUnauthorized;
1150
- }
1151
- if (options.https.checkServerIdentity) {
1152
- // @ts-expect-error - This one will be removed when we remove the alias.
1153
- delete requestOptions.checkServerIdentity;
1154
- }
1155
- if (options.https.certificateAuthority) {
1156
- delete requestOptions.ca;
1157
- }
1158
- if (options.https.certificate) {
1159
- delete requestOptions.cert;
1160
- }
1161
- if (options.https.key) {
1162
- delete requestOptions.key;
1163
- }
1164
- if (options.https.passphrase) {
1165
- delete requestOptions.passphrase;
1166
- }
1167
- if (options.https.pfx) {
1168
- delete requestOptions.pfx;
1169
- }
1170
- }
1171
- if (isClientRequest(requestOrResponse)) {
1172
- this._onRequest(requestOrResponse);
1173
- // Emit the response after the stream has been ended
1174
- }
1175
- else if (this.writable) {
1176
- this.once('finish', () => {
1177
- void this._onResponse(requestOrResponse);
1178
- });
1179
- this._unlockWrite();
1180
- this.end();
1181
- this._lockWrite();
1182
- }
1183
- else {
1184
- void this._onResponse(requestOrResponse);
1185
- }
1186
- }
1187
- catch (error) {
1188
- if (error instanceof CacheableRequest.CacheError) {
1189
- throw new CacheError(error, this);
1190
- }
1191
- throw new RequestError(error.message, error, this);
1192
- }
1193
- }
1194
- async _error(error) {
1195
- try {
1196
- for (const hook of this.options.hooks.beforeError) {
1197
- // eslint-disable-next-line no-await-in-loop
1198
- error = await hook(error);
1199
- }
1200
- }
1201
- catch (error_) {
1202
- error = new RequestError(error_.message, error_, this);
1203
- }
1204
- this.destroy(error);
1205
- }
1206
- _beforeError(error) {
1207
- if (this[kStopReading]) {
1208
- return;
1209
- }
1210
- const { options } = this;
1211
- const retryCount = this.retryCount + 1;
1212
- this[kStopReading] = true;
1213
- if (!(error instanceof RequestError)) {
1214
- error = new RequestError(error.message, error, this);
1215
- }
1216
- const typedError = error;
1217
- const { response } = typedError;
1218
- void (async () => {
1219
- if (response && !response.body) {
1220
- response.setEncoding(this._readableState.encoding);
1221
- try {
1222
- response.rawBody = await get_buffer_1.default(response);
1223
- response.body = response.rawBody.toString();
1224
- }
1225
- catch (_a) { }
1226
- }
1227
- if (this.listenerCount('retry') !== 0) {
1228
- let backoff;
1229
- try {
1230
- let retryAfter;
1231
- if (response && 'retry-after' in response.headers) {
1232
- retryAfter = Number(response.headers['retry-after']);
1233
- if (Number.isNaN(retryAfter)) {
1234
- retryAfter = Date.parse(response.headers['retry-after']) - Date.now();
1235
- if (retryAfter <= 0) {
1236
- retryAfter = 1;
1237
- }
1238
- }
1239
- else {
1240
- retryAfter *= 1000;
1241
- }
1242
- }
1243
- backoff = await options.retry.calculateDelay({
1244
- attemptCount: retryCount,
1245
- retryOptions: options.retry,
1246
- error: typedError,
1247
- retryAfter,
1248
- computedValue: calculate_retry_delay_1.default({
1249
- attemptCount: retryCount,
1250
- retryOptions: options.retry,
1251
- error: typedError,
1252
- retryAfter,
1253
- computedValue: 0
1254
- })
1255
- });
1256
- }
1257
- catch (error_) {
1258
- void this._error(new RequestError(error_.message, error_, this));
1259
- return;
1260
- }
1261
- if (backoff) {
1262
- const retry = async () => {
1263
- try {
1264
- for (const hook of this.options.hooks.beforeRetry) {
1265
- // eslint-disable-next-line no-await-in-loop
1266
- await hook(this.options, typedError, retryCount);
1267
- }
1268
- }
1269
- catch (error_) {
1270
- void this._error(new RequestError(error_.message, error, this));
1271
- return;
1272
- }
1273
- // Something forced us to abort the retry
1274
- if (this.destroyed) {
1275
- return;
1276
- }
1277
- this.destroy();
1278
- this.emit('retry', retryCount, error);
1279
- };
1280
- this[kRetryTimeout] = setTimeout(retry, backoff);
1281
- return;
1282
- }
1283
- }
1284
- void this._error(typedError);
1285
- })();
1286
- }
1287
- _read() {
1288
- this[kTriggerRead] = true;
1289
- const response = this[kResponse];
1290
- if (response && !this[kStopReading]) {
1291
- // We cannot put this in the `if` above
1292
- // because `.read()` also triggers the `end` event
1293
- if (response.readableLength) {
1294
- this[kTriggerRead] = false;
1295
- }
1296
- let data;
1297
- while ((data = response.read()) !== null) {
1298
- this[kDownloadedSize] += data.length;
1299
- this[kStartedReading] = true;
1300
- const progress = this.downloadProgress;
1301
- if (progress.percent < 1) {
1302
- this.emit('downloadProgress', progress);
1303
- }
1304
- this.push(data);
1305
- }
1306
- }
1307
- }
1308
- // Node.js 12 has incorrect types, so the encoding must be a string
1309
- _write(chunk, encoding, callback) {
1310
- const write = () => {
1311
- this._writeRequest(chunk, encoding, callback);
1312
- };
1313
- if (this.requestInitialized) {
1314
- write();
1315
- }
1316
- else {
1317
- this[kJobs].push(write);
1318
- }
1319
- }
1320
- _writeRequest(chunk, encoding, callback) {
1321
- if (this[kRequest].destroyed) {
1322
- // Probably the `ClientRequest` instance will throw
1323
- return;
1324
- }
1325
- this._progressCallbacks.push(() => {
1326
- this[kUploadedSize] += Buffer.byteLength(chunk, encoding);
1327
- const progress = this.uploadProgress;
1328
- if (progress.percent < 1) {
1329
- this.emit('uploadProgress', progress);
1330
- }
1331
- });
1332
- // TODO: What happens if it's from cache? Then this[kRequest] won't be defined.
1333
- this[kRequest].write(chunk, encoding, (error) => {
1334
- if (!error && this._progressCallbacks.length > 0) {
1335
- this._progressCallbacks.shift()();
1336
- }
1337
- callback(error);
1338
- });
1339
- }
1340
- _final(callback) {
1341
- const endRequest = () => {
1342
- // FIX: Node.js 10 calls the write callback AFTER the end callback!
1343
- while (this._progressCallbacks.length !== 0) {
1344
- this._progressCallbacks.shift()();
1345
- }
1346
- // We need to check if `this[kRequest]` is present,
1347
- // because it isn't when we use cache.
1348
- if (!(kRequest in this)) {
1349
- callback();
1350
- return;
1351
- }
1352
- if (this[kRequest].destroyed) {
1353
- callback();
1354
- return;
1355
- }
1356
- this[kRequest].end((error) => {
1357
- if (!error) {
1358
- this[kBodySize] = this[kUploadedSize];
1359
- this.emit('uploadProgress', this.uploadProgress);
1360
- this[kRequest].emit('upload-complete');
1361
- }
1362
- callback(error);
1363
- });
1364
- };
1365
- if (this.requestInitialized) {
1366
- endRequest();
1367
- }
1368
- else {
1369
- this[kJobs].push(endRequest);
1370
- }
1371
- }
1372
- _destroy(error, callback) {
1373
- var _a;
1374
- this[kStopReading] = true;
1375
- // Prevent further retries
1376
- clearTimeout(this[kRetryTimeout]);
1377
- if (kRequest in this) {
1378
- this[kCancelTimeouts]();
1379
- // TODO: Remove the next `if` when these get fixed:
1380
- // - https://github.com/nodejs/node/issues/32851
1381
- if (!((_a = this[kResponse]) === null || _a === void 0 ? void 0 : _a.complete)) {
1382
- this[kRequest].destroy();
1383
- }
1384
- }
1385
- if (error !== null && !is_1.default.undefined(error) && !(error instanceof RequestError)) {
1386
- error = new RequestError(error.message, error, this);
1387
- }
1388
- callback(error);
1389
- }
1390
- get _isAboutToError() {
1391
- return this[kStopReading];
1392
- }
1393
- /**
1394
- The remote IP address.
1395
- */
1396
- get ip() {
1397
- var _a;
1398
- return (_a = this.socket) === null || _a === void 0 ? void 0 : _a.remoteAddress;
1399
- }
1400
- /**
1401
- Indicates whether the request has been aborted or not.
1402
- */
1403
- get aborted() {
1404
- var _a, _b, _c;
1405
- return ((_b = (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.destroyed) !== null && _b !== void 0 ? _b : this.destroyed) && !((_c = this[kOriginalResponse]) === null || _c === void 0 ? void 0 : _c.complete);
1406
- }
1407
- get socket() {
1408
- var _a, _b;
1409
- return (_b = (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.socket) !== null && _b !== void 0 ? _b : undefined;
1410
- }
1411
- /**
1412
- Progress event for downloading (receiving a response).
1413
- */
1414
- get downloadProgress() {
1415
- let percent;
1416
- if (this[kResponseSize]) {
1417
- percent = this[kDownloadedSize] / this[kResponseSize];
1418
- }
1419
- else if (this[kResponseSize] === this[kDownloadedSize]) {
1420
- percent = 1;
1421
- }
1422
- else {
1423
- percent = 0;
1424
- }
1425
- return {
1426
- percent,
1427
- transferred: this[kDownloadedSize],
1428
- total: this[kResponseSize]
1429
- };
1430
- }
1431
- /**
1432
- Progress event for uploading (sending a request).
1433
- */
1434
- get uploadProgress() {
1435
- let percent;
1436
- if (this[kBodySize]) {
1437
- percent = this[kUploadedSize] / this[kBodySize];
1438
- }
1439
- else if (this[kBodySize] === this[kUploadedSize]) {
1440
- percent = 1;
1441
- }
1442
- else {
1443
- percent = 0;
1444
- }
1445
- return {
1446
- percent,
1447
- transferred: this[kUploadedSize],
1448
- total: this[kBodySize]
1449
- };
1450
- }
1451
- /**
1452
- The object contains the following properties:
1453
-
1454
- - `start` - Time when the request started.
1455
- - `socket` - Time when a socket was assigned to the request.
1456
- - `lookup` - Time when the DNS lookup finished.
1457
- - `connect` - Time when the socket successfully connected.
1458
- - `secureConnect` - Time when the socket securely connected.
1459
- - `upload` - Time when the request finished uploading.
1460
- - `response` - Time when the request fired `response` event.
1461
- - `end` - Time when the response fired `end` event.
1462
- - `error` - Time when the request fired `error` event.
1463
- - `abort` - Time when the request fired `abort` event.
1464
- - `phases`
1465
- - `wait` - `timings.socket - timings.start`
1466
- - `dns` - `timings.lookup - timings.socket`
1467
- - `tcp` - `timings.connect - timings.lookup`
1468
- - `tls` - `timings.secureConnect - timings.connect`
1469
- - `request` - `timings.upload - (timings.secureConnect || timings.connect)`
1470
- - `firstByte` - `timings.response - timings.upload`
1471
- - `download` - `timings.end - timings.response`
1472
- - `total` - `(timings.end || timings.error || timings.abort) - timings.start`
1473
-
1474
- If something has not been measured yet, it will be `undefined`.
1475
-
1476
- __Note__: The time is a `number` representing the milliseconds elapsed since the UNIX epoch.
1477
- */
1478
- get timings() {
1479
- var _a;
1480
- return (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.timings;
1481
- }
1482
- /**
1483
- Whether the response was retrieved from the cache.
1484
- */
1485
- get isFromCache() {
1486
- return this[kIsFromCache];
1487
- }
1488
- pipe(destination, options) {
1489
- if (this[kStartedReading]) {
1490
- throw new Error('Failed to pipe. The response has been emitted already.');
1491
- }
1492
- if (destination instanceof http_1.ServerResponse) {
1493
- this[kServerResponsesPiped].add(destination);
1494
- }
1495
- return super.pipe(destination, options);
1496
- }
1497
- unpipe(destination) {
1498
- if (destination instanceof http_1.ServerResponse) {
1499
- this[kServerResponsesPiped].delete(destination);
1500
- }
1501
- super.unpipe(destination);
1502
- return this;
1503
- }
1504
- }
1505
- exports.default = Request;