@corellium/corellium-cli 1.4.0 → 1.5.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 (640) hide show
  1. package/.eslintrc.js +12 -16
  2. package/.gitlab-ci.yml +13 -13
  3. package/.nvmrc +1 -1
  4. package/.nycrc +14 -14
  5. package/.prettierrc.js +8 -7
  6. package/README.md +13 -6
  7. package/docs/OVERVIEW.md +57 -27
  8. package/index.js +8 -8
  9. package/lint-staged.config.js +3 -6
  10. package/node_modules/@babel/cli/README.md +1 -1
  11. package/node_modules/@babel/cli/bin/babel-external-helpers.mjs +3 -0
  12. package/node_modules/@babel/cli/bin/babel.mjs +3 -0
  13. package/node_modules/@babel/cli/lib/babel/dir.js +23 -73
  14. package/node_modules/@babel/cli/lib/babel/dir.js.map +1 -0
  15. package/node_modules/@babel/cli/lib/babel/file.js +27 -72
  16. package/node_modules/@babel/cli/lib/babel/file.js.map +1 -0
  17. package/node_modules/@babel/cli/lib/babel/index.js +6 -8
  18. package/node_modules/@babel/cli/lib/babel/index.js.map +1 -0
  19. package/node_modules/@babel/cli/lib/babel/options.js +70 -143
  20. package/node_modules/@babel/cli/lib/babel/options.js.map +1 -0
  21. package/node_modules/@babel/cli/lib/babel/util.js +39 -59
  22. package/node_modules/@babel/cli/lib/babel/util.js.map +1 -0
  23. package/node_modules/@babel/cli/lib/babel/watcher.js +19 -52
  24. package/node_modules/@babel/cli/lib/babel/watcher.js.map +1 -0
  25. package/node_modules/@babel/cli/lib/babel-external-helpers.js +14 -21
  26. package/node_modules/@babel/cli/lib/babel-external-helpers.js.map +1 -0
  27. package/node_modules/@babel/cli/package.json +11 -9
  28. package/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs +19 -29
  29. package/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.mjs.map +1 -1
  30. package/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js +19 -29
  31. package/node_modules/@jridgewell/resolve-uri/dist/resolve-uri.umd.js.map +1 -1
  32. package/node_modules/@jridgewell/resolve-uri/package.json +2 -2
  33. package/node_modules/@jridgewell/sourcemap-codec/README.md +147 -83
  34. package/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs +351 -91
  35. package/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs.map +1 -1
  36. package/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js +354 -90
  37. package/node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.umd.js.map +1 -1
  38. package/node_modules/@jridgewell/sourcemap-codec/dist/types/scopes.d.ts +49 -0
  39. package/node_modules/@jridgewell/sourcemap-codec/dist/types/sourcemap-codec.d.ts +2 -0
  40. package/node_modules/@jridgewell/sourcemap-codec/dist/types/strings.d.ts +15 -0
  41. package/node_modules/@jridgewell/sourcemap-codec/dist/types/vlq.d.ts +6 -0
  42. package/node_modules/@jridgewell/sourcemap-codec/package.json +7 -7
  43. package/node_modules/@jridgewell/trace-mapping/README.md +5 -0
  44. package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs +202 -174
  45. package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.mjs.map +1 -1
  46. package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js +216 -182
  47. package/node_modules/@jridgewell/trace-mapping/dist/trace-mapping.umd.js.map +1 -1
  48. package/node_modules/@jridgewell/trace-mapping/dist/types/any-map.d.ts +1 -1
  49. package/node_modules/@jridgewell/trace-mapping/dist/types/binary-search.d.ts +1 -1
  50. package/node_modules/@jridgewell/trace-mapping/dist/types/by-source.d.ts +1 -1
  51. package/node_modules/@jridgewell/trace-mapping/dist/types/sourcemap-segment.d.ts +8 -8
  52. package/node_modules/@jridgewell/trace-mapping/dist/types/trace-mapping.d.ts +33 -28
  53. package/node_modules/@jridgewell/trace-mapping/dist/types/types.d.ts +23 -16
  54. package/node_modules/@jridgewell/trace-mapping/package.json +20 -18
  55. package/node_modules/anymatch/index.d.ts +1 -0
  56. package/node_modules/anymatch/index.js +1 -1
  57. package/node_modules/anymatch/package.json +1 -1
  58. package/node_modules/{form-data/README.md.bak → axios/node_modules/form-data/Readme.md} +4 -4
  59. package/node_modules/{superagent → axios}/node_modules/form-data/lib/form_data.js +31 -26
  60. package/node_modules/{superagent → axios}/node_modules/form-data/package.json +25 -19
  61. package/node_modules/binary-extensions/binary-extensions.json +3 -0
  62. package/node_modules/binary-extensions/license +2 -1
  63. package/node_modules/binary-extensions/package.json +4 -2
  64. package/node_modules/binary-extensions/readme.md +2 -18
  65. package/node_modules/braces/LICENSE +1 -1
  66. package/node_modules/braces/README.md +91 -98
  67. package/node_modules/braces/index.js +3 -3
  68. package/node_modules/braces/lib/compile.js +14 -11
  69. package/node_modules/braces/lib/constants.js +1 -1
  70. package/node_modules/braces/lib/expand.js +9 -9
  71. package/node_modules/braces/lib/parse.js +14 -16
  72. package/node_modules/braces/lib/stringify.js +4 -4
  73. package/node_modules/braces/lib/utils.js +13 -3
  74. package/node_modules/braces/package.json +2 -2
  75. package/node_modules/{call-bind → call-bind-apply-helpers}/.eslintrc +1 -1
  76. package/node_modules/call-bind-apply-helpers/.github/FUNDING.yml +12 -0
  77. package/node_modules/call-bind-apply-helpers/.nycrc +9 -0
  78. package/node_modules/call-bind-apply-helpers/CHANGELOG.md +30 -0
  79. package/node_modules/{call-bind → call-bind-apply-helpers}/LICENSE +1 -1
  80. package/node_modules/call-bind-apply-helpers/README.md +62 -0
  81. package/node_modules/call-bind-apply-helpers/actualApply.d.ts +1 -0
  82. package/node_modules/call-bind-apply-helpers/actualApply.js +10 -0
  83. package/node_modules/call-bind-apply-helpers/applyBind.d.ts +19 -0
  84. package/node_modules/call-bind-apply-helpers/applyBind.js +10 -0
  85. package/node_modules/call-bind-apply-helpers/functionApply.d.ts +1 -0
  86. package/node_modules/call-bind-apply-helpers/functionApply.js +4 -0
  87. package/node_modules/call-bind-apply-helpers/functionCall.d.ts +1 -0
  88. package/node_modules/call-bind-apply-helpers/functionCall.js +4 -0
  89. package/node_modules/call-bind-apply-helpers/index.d.ts +64 -0
  90. package/node_modules/call-bind-apply-helpers/index.js +15 -0
  91. package/node_modules/call-bind-apply-helpers/package.json +85 -0
  92. package/node_modules/call-bind-apply-helpers/reflectApply.d.ts +3 -0
  93. package/node_modules/call-bind-apply-helpers/reflectApply.js +4 -0
  94. package/node_modules/call-bind-apply-helpers/test/index.js +63 -0
  95. package/node_modules/call-bind-apply-helpers/tsconfig.json +9 -0
  96. package/node_modules/call-bound/.eslintrc +13 -0
  97. package/node_modules/call-bound/.github/FUNDING.yml +12 -0
  98. package/node_modules/call-bound/.nycrc +9 -0
  99. package/node_modules/call-bound/CHANGELOG.md +34 -0
  100. package/node_modules/call-bound/LICENSE +21 -0
  101. package/node_modules/call-bound/README.md +53 -0
  102. package/node_modules/call-bound/index.d.ts +13 -0
  103. package/node_modules/call-bound/index.js +18 -0
  104. package/node_modules/call-bound/package.json +99 -0
  105. package/node_modules/{call-bind/test/callBound.js → call-bound/test/index.js} +1 -2
  106. package/node_modules/call-bound/tsconfig.json +9 -0
  107. package/node_modules/chokidar/README.md +1 -1
  108. package/node_modules/chokidar/index.js +1 -1
  109. package/node_modules/chokidar/lib/constants.js +1 -0
  110. package/node_modules/chokidar/lib/fsevents-handler.js +2 -0
  111. package/node_modules/chokidar/package.json +5 -20
  112. package/node_modules/chokidar/types/index.d.ts +4 -0
  113. package/node_modules/cliui/CHANGELOG.md +18 -0
  114. package/node_modules/cliui/build/index.d.cts +43 -0
  115. package/node_modules/cliui/package.json +6 -6
  116. package/node_modules/commander/CHANGELOG.md +361 -0
  117. package/node_modules/{@babel/cli/node_modules/commander → commander}/Readme.md +243 -165
  118. package/node_modules/commander/index.js +1881 -0
  119. package/node_modules/{@babel/cli/node_modules/commander → commander}/package.json +19 -9
  120. package/node_modules/commander/typings/index.d.ts +410 -0
  121. package/node_modules/component-emitter/LICENSE +24 -24
  122. package/node_modules/component-emitter/Readme.md +74 -74
  123. package/node_modules/component-emitter/index.js +175 -175
  124. package/node_modules/component-emitter/package.json +3 -2
  125. package/node_modules/convert-source-map/README.md +97 -11
  126. package/node_modules/convert-source-map/index.js +127 -30
  127. package/node_modules/convert-source-map/package.json +3 -9
  128. package/node_modules/cookiejar/cookiejar.js +5 -0
  129. package/node_modules/cookiejar/package.json +1 -1
  130. package/node_modules/debug/README.md +1 -1
  131. package/node_modules/debug/package.json +10 -4
  132. package/node_modules/debug/src/browser.js +4 -1
  133. package/node_modules/debug/src/common.js +57 -39
  134. package/node_modules/debug/src/node.js +2 -2
  135. package/node_modules/dotenv/CHANGELOG.md +133 -1
  136. package/node_modules/dotenv/README-es.md +448 -0
  137. package/node_modules/dotenv/README.md +309 -66
  138. package/node_modules/dotenv/lib/cli-options.js +1 -1
  139. package/node_modules/dotenv/lib/env-options.js +4 -0
  140. package/node_modules/dotenv/lib/main.d.ts +85 -5
  141. package/node_modules/dotenv/lib/main.js +287 -35
  142. package/node_modules/dotenv/package.json +19 -14
  143. package/node_modules/dunder-proto/.eslintrc +5 -0
  144. package/node_modules/dunder-proto/.github/FUNDING.yml +12 -0
  145. package/node_modules/dunder-proto/CHANGELOG.md +24 -0
  146. package/node_modules/dunder-proto/LICENSE +21 -0
  147. package/node_modules/dunder-proto/README.md +54 -0
  148. package/node_modules/dunder-proto/get.d.ts +5 -0
  149. package/node_modules/dunder-proto/get.js +30 -0
  150. package/node_modules/dunder-proto/package.json +76 -0
  151. package/node_modules/dunder-proto/set.d.ts +5 -0
  152. package/node_modules/dunder-proto/set.js +35 -0
  153. package/node_modules/dunder-proto/test/get.js +34 -0
  154. package/node_modules/dunder-proto/test/index.js +4 -0
  155. package/node_modules/dunder-proto/test/set.js +50 -0
  156. package/node_modules/dunder-proto/tsconfig.json +9 -0
  157. package/node_modules/es-define-property/.eslintrc +13 -0
  158. package/node_modules/es-define-property/.github/FUNDING.yml +12 -0
  159. package/node_modules/es-define-property/.nycrc +9 -0
  160. package/node_modules/es-define-property/CHANGELOG.md +29 -0
  161. package/node_modules/es-define-property/LICENSE +21 -0
  162. package/node_modules/es-define-property/README.md +49 -0
  163. package/node_modules/es-define-property/index.d.ts +3 -0
  164. package/node_modules/es-define-property/index.js +14 -0
  165. package/node_modules/es-define-property/package.json +81 -0
  166. package/node_modules/es-define-property/test/index.js +56 -0
  167. package/node_modules/es-define-property/tsconfig.json +10 -0
  168. package/node_modules/es-errors/.eslintrc +5 -0
  169. package/node_modules/es-errors/.github/FUNDING.yml +12 -0
  170. package/node_modules/es-errors/CHANGELOG.md +40 -0
  171. package/node_modules/es-errors/LICENSE +21 -0
  172. package/node_modules/es-errors/README.md +55 -0
  173. package/node_modules/es-errors/eval.d.ts +3 -0
  174. package/node_modules/es-errors/eval.js +4 -0
  175. package/node_modules/es-errors/index.d.ts +3 -0
  176. package/node_modules/es-errors/index.js +4 -0
  177. package/node_modules/es-errors/package.json +80 -0
  178. package/node_modules/es-errors/range.d.ts +3 -0
  179. package/node_modules/es-errors/range.js +4 -0
  180. package/node_modules/es-errors/ref.d.ts +3 -0
  181. package/node_modules/es-errors/ref.js +4 -0
  182. package/node_modules/es-errors/syntax.d.ts +3 -0
  183. package/node_modules/es-errors/syntax.js +4 -0
  184. package/node_modules/es-errors/test/index.js +19 -0
  185. package/node_modules/es-errors/tsconfig.json +49 -0
  186. package/node_modules/es-errors/type.d.ts +3 -0
  187. package/node_modules/es-errors/type.js +4 -0
  188. package/node_modules/es-errors/uri.d.ts +3 -0
  189. package/node_modules/es-errors/uri.js +4 -0
  190. package/node_modules/es-object-atoms/.eslintrc +16 -0
  191. package/node_modules/es-object-atoms/.github/FUNDING.yml +12 -0
  192. package/node_modules/es-object-atoms/CHANGELOG.md +37 -0
  193. package/node_modules/es-object-atoms/LICENSE +21 -0
  194. package/node_modules/es-object-atoms/README.md +63 -0
  195. package/node_modules/es-object-atoms/RequireObjectCoercible.d.ts +3 -0
  196. package/node_modules/es-object-atoms/RequireObjectCoercible.js +11 -0
  197. package/node_modules/es-object-atoms/ToObject.d.ts +7 -0
  198. package/node_modules/es-object-atoms/ToObject.js +10 -0
  199. package/node_modules/es-object-atoms/index.d.ts +3 -0
  200. package/node_modules/es-object-atoms/index.js +4 -0
  201. package/node_modules/es-object-atoms/isObject.d.ts +3 -0
  202. package/node_modules/es-object-atoms/isObject.js +6 -0
  203. package/node_modules/es-object-atoms/package.json +80 -0
  204. package/node_modules/es-object-atoms/test/index.js +38 -0
  205. package/node_modules/es-object-atoms/tsconfig.json +6 -0
  206. package/node_modules/es-set-tostringtag/.eslintrc +13 -0
  207. package/node_modules/es-set-tostringtag/.nycrc +9 -0
  208. package/node_modules/es-set-tostringtag/CHANGELOG.md +67 -0
  209. package/node_modules/es-set-tostringtag/LICENSE +21 -0
  210. package/node_modules/es-set-tostringtag/README.md +53 -0
  211. package/node_modules/es-set-tostringtag/index.d.ts +10 -0
  212. package/node_modules/es-set-tostringtag/index.js +35 -0
  213. package/node_modules/es-set-tostringtag/package.json +78 -0
  214. package/node_modules/es-set-tostringtag/test/index.js +85 -0
  215. package/node_modules/es-set-tostringtag/tsconfig.json +9 -0
  216. package/node_modules/escalade/index.d.mts +11 -0
  217. package/node_modules/escalade/index.d.ts +14 -2
  218. package/node_modules/escalade/package.json +18 -5
  219. package/node_modules/escalade/readme.md +1 -1
  220. package/node_modules/escalade/sync/index.d.mts +9 -0
  221. package/node_modules/escalade/sync/index.d.ts +13 -2
  222. package/node_modules/fill-range/index.js +4 -5
  223. package/node_modules/fill-range/package.json +8 -3
  224. package/node_modules/follow-redirects/index.js +186 -98
  225. package/node_modules/follow-redirects/package.json +3 -4
  226. package/node_modules/form-data/Readme.md +5 -7
  227. package/node_modules/form-data/lib/form_data.js +27 -28
  228. package/node_modules/form-data/package.json +24 -20
  229. package/node_modules/function-bind/.eslintrc +11 -5
  230. package/node_modules/function-bind/.github/FUNDING.yml +12 -0
  231. package/node_modules/function-bind/.github/SECURITY.md +3 -0
  232. package/node_modules/function-bind/.nycrc +13 -0
  233. package/node_modules/function-bind/CHANGELOG.md +136 -0
  234. package/node_modules/function-bind/README.md +25 -27
  235. package/node_modules/function-bind/implementation.js +44 -12
  236. package/node_modules/function-bind/package.json +38 -14
  237. package/node_modules/get-intrinsic/.eslintrc +1 -0
  238. package/node_modules/get-intrinsic/CHANGELOG.md +87 -0
  239. package/node_modules/get-intrinsic/index.js +75 -32
  240. package/node_modules/get-intrinsic/package.json +31 -22
  241. package/node_modules/get-intrinsic/test/GetIntrinsic.js +3 -3
  242. package/node_modules/get-proto/.eslintrc +10 -0
  243. package/node_modules/{call-bind → get-proto}/.github/FUNDING.yml +1 -1
  244. package/node_modules/get-proto/.nycrc +9 -0
  245. package/node_modules/get-proto/CHANGELOG.md +21 -0
  246. package/node_modules/get-proto/LICENSE +21 -0
  247. package/node_modules/get-proto/Object.getPrototypeOf.d.ts +5 -0
  248. package/node_modules/get-proto/Object.getPrototypeOf.js +6 -0
  249. package/node_modules/get-proto/README.md +50 -0
  250. package/node_modules/get-proto/Reflect.getPrototypeOf.d.ts +3 -0
  251. package/node_modules/get-proto/Reflect.getPrototypeOf.js +4 -0
  252. package/node_modules/get-proto/index.d.ts +5 -0
  253. package/node_modules/get-proto/index.js +27 -0
  254. package/node_modules/get-proto/package.json +81 -0
  255. package/node_modules/get-proto/test/index.js +68 -0
  256. package/node_modules/get-proto/tsconfig.json +9 -0
  257. package/node_modules/gopd/.eslintrc +16 -0
  258. package/node_modules/gopd/.github/FUNDING.yml +12 -0
  259. package/node_modules/gopd/CHANGELOG.md +45 -0
  260. package/node_modules/gopd/LICENSE +21 -0
  261. package/node_modules/gopd/README.md +40 -0
  262. package/node_modules/gopd/gOPD.d.ts +1 -0
  263. package/node_modules/gopd/gOPD.js +4 -0
  264. package/node_modules/gopd/index.d.ts +5 -0
  265. package/node_modules/gopd/index.js +15 -0
  266. package/node_modules/gopd/package.json +77 -0
  267. package/node_modules/gopd/test/index.js +36 -0
  268. package/node_modules/gopd/tsconfig.json +9 -0
  269. package/node_modules/has-symbols/CHANGELOG.md +16 -0
  270. package/node_modules/has-symbols/index.d.ts +3 -0
  271. package/node_modules/has-symbols/index.js +1 -0
  272. package/node_modules/has-symbols/package.json +19 -9
  273. package/node_modules/has-symbols/shams.d.ts +3 -0
  274. package/node_modules/has-symbols/shams.js +5 -2
  275. package/node_modules/has-symbols/test/shams/core-js.js +1 -0
  276. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +1 -0
  277. package/node_modules/has-symbols/test/tests.js +4 -2
  278. package/node_modules/has-symbols/tsconfig.json +10 -0
  279. package/node_modules/has-tostringtag/.eslintrc +5 -0
  280. package/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
  281. package/node_modules/has-tostringtag/.nycrc +13 -0
  282. package/node_modules/has-tostringtag/CHANGELOG.md +42 -0
  283. package/node_modules/has-tostringtag/LICENSE +21 -0
  284. package/node_modules/has-tostringtag/README.md +46 -0
  285. package/node_modules/has-tostringtag/index.d.ts +3 -0
  286. package/node_modules/has-tostringtag/index.js +8 -0
  287. package/node_modules/has-tostringtag/package.json +108 -0
  288. package/node_modules/has-tostringtag/shams.d.ts +3 -0
  289. package/node_modules/has-tostringtag/shams.js +8 -0
  290. package/node_modules/has-tostringtag/test/index.js +21 -0
  291. package/node_modules/has-tostringtag/test/shams/core-js.js +31 -0
  292. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +30 -0
  293. package/node_modules/has-tostringtag/test/tests.js +15 -0
  294. package/node_modules/has-tostringtag/tsconfig.json +49 -0
  295. package/node_modules/hasown/.eslintrc +5 -0
  296. package/node_modules/hasown/.github/FUNDING.yml +12 -0
  297. package/node_modules/hasown/.nycrc +13 -0
  298. package/node_modules/hasown/CHANGELOG.md +40 -0
  299. package/node_modules/hasown/LICENSE +21 -0
  300. package/node_modules/hasown/README.md +40 -0
  301. package/node_modules/hasown/index.d.ts +3 -0
  302. package/node_modules/hasown/index.js +8 -0
  303. package/node_modules/hasown/package.json +92 -0
  304. package/node_modules/hasown/tsconfig.json +6 -0
  305. package/node_modules/make-dir/node_modules/semver/package.json +38 -0
  306. package/node_modules/{@babel/cli → make-dir}/node_modules/semver/semver.js +68 -26
  307. package/node_modules/math-intrinsics/.eslintrc +16 -0
  308. package/node_modules/math-intrinsics/.github/FUNDING.yml +12 -0
  309. package/node_modules/math-intrinsics/CHANGELOG.md +24 -0
  310. package/node_modules/math-intrinsics/LICENSE +21 -0
  311. package/node_modules/math-intrinsics/README.md +50 -0
  312. package/node_modules/math-intrinsics/abs.d.ts +1 -0
  313. package/node_modules/math-intrinsics/abs.js +4 -0
  314. package/node_modules/math-intrinsics/constants/maxArrayLength.d.ts +3 -0
  315. package/node_modules/math-intrinsics/constants/maxArrayLength.js +4 -0
  316. package/node_modules/math-intrinsics/constants/maxSafeInteger.d.ts +3 -0
  317. package/node_modules/math-intrinsics/constants/maxSafeInteger.js +5 -0
  318. package/node_modules/math-intrinsics/constants/maxValue.d.ts +3 -0
  319. package/node_modules/math-intrinsics/constants/maxValue.js +5 -0
  320. package/node_modules/math-intrinsics/floor.d.ts +1 -0
  321. package/node_modules/math-intrinsics/floor.js +4 -0
  322. package/node_modules/math-intrinsics/isFinite.d.ts +3 -0
  323. package/node_modules/math-intrinsics/isFinite.js +12 -0
  324. package/node_modules/math-intrinsics/isInteger.d.ts +3 -0
  325. package/node_modules/math-intrinsics/isInteger.js +16 -0
  326. package/node_modules/math-intrinsics/isNaN.d.ts +1 -0
  327. package/node_modules/math-intrinsics/isNaN.js +6 -0
  328. package/node_modules/math-intrinsics/isNegativeZero.d.ts +3 -0
  329. package/node_modules/math-intrinsics/isNegativeZero.js +6 -0
  330. package/node_modules/math-intrinsics/max.d.ts +1 -0
  331. package/node_modules/math-intrinsics/max.js +4 -0
  332. package/node_modules/math-intrinsics/min.d.ts +1 -0
  333. package/node_modules/math-intrinsics/min.js +4 -0
  334. package/node_modules/math-intrinsics/mod.d.ts +3 -0
  335. package/node_modules/math-intrinsics/mod.js +9 -0
  336. package/node_modules/math-intrinsics/package.json +86 -0
  337. package/node_modules/math-intrinsics/pow.d.ts +1 -0
  338. package/node_modules/math-intrinsics/pow.js +4 -0
  339. package/node_modules/math-intrinsics/round.d.ts +1 -0
  340. package/node_modules/math-intrinsics/round.js +4 -0
  341. package/node_modules/math-intrinsics/sign.d.ts +3 -0
  342. package/node_modules/math-intrinsics/sign.js +11 -0
  343. package/node_modules/math-intrinsics/test/index.js +192 -0
  344. package/node_modules/math-intrinsics/tsconfig.json +3 -0
  345. package/node_modules/ms/index.js +1 -1
  346. package/node_modules/ms/license.md +1 -1
  347. package/node_modules/ms/package.json +5 -4
  348. package/node_modules/ms/readme.md +1 -2
  349. package/node_modules/object-inspect/CHANGELOG.md +64 -0
  350. package/node_modules/object-inspect/index.js +48 -16
  351. package/node_modules/object-inspect/package.json +25 -14
  352. package/node_modules/object-inspect/readme.markdown +9 -11
  353. package/node_modules/object-inspect/test/global.js +17 -0
  354. package/node_modules/object-inspect/test/quoteStyle.js +9 -0
  355. package/node_modules/object-inspect/test/values.js +50 -0
  356. package/node_modules/qs/.editorconfig +3 -0
  357. package/node_modules/qs/.eslintrc +3 -2
  358. package/node_modules/qs/CHANGELOG.md +81 -5
  359. package/node_modules/qs/README.md +158 -50
  360. package/node_modules/qs/dist/qs.js +90 -2003
  361. package/node_modules/qs/lib/parse.js +89 -24
  362. package/node_modules/qs/lib/stringify.js +61 -31
  363. package/node_modules/qs/lib/utils.js +54 -38
  364. package/node_modules/qs/package.json +29 -13
  365. package/node_modules/qs/test/empty-keys-cases.js +267 -0
  366. package/node_modules/qs/test/parse.js +468 -47
  367. package/node_modules/qs/test/stringify.js +454 -57
  368. package/node_modules/qs/test/utils.js +126 -0
  369. package/node_modules/side-channel/.editorconfig +9 -0
  370. package/node_modules/side-channel/.eslintrc +2 -1
  371. package/node_modules/side-channel/CHANGELOG.md +45 -0
  372. package/node_modules/side-channel/README.md +60 -1
  373. package/node_modules/side-channel/index.d.ts +14 -0
  374. package/node_modules/side-channel/index.js +21 -102
  375. package/node_modules/side-channel/package.json +40 -22
  376. package/node_modules/side-channel/test/index.js +78 -52
  377. package/node_modules/side-channel/tsconfig.json +9 -0
  378. package/node_modules/{function-bind → side-channel-list}/.editorconfig +3 -14
  379. package/node_modules/side-channel-list/.eslintrc +11 -0
  380. package/node_modules/side-channel-list/.github/FUNDING.yml +12 -0
  381. package/node_modules/side-channel-list/.nycrc +13 -0
  382. package/node_modules/side-channel-list/CHANGELOG.md +15 -0
  383. package/node_modules/side-channel-list/LICENSE +21 -0
  384. package/node_modules/side-channel-list/README.md +62 -0
  385. package/node_modules/side-channel-list/index.d.ts +13 -0
  386. package/node_modules/side-channel-list/index.js +113 -0
  387. package/node_modules/side-channel-list/list.d.ts +14 -0
  388. package/node_modules/side-channel-list/package.json +77 -0
  389. package/node_modules/side-channel-list/test/index.js +104 -0
  390. package/node_modules/side-channel-list/tsconfig.json +9 -0
  391. package/node_modules/side-channel-map/.editorconfig +9 -0
  392. package/node_modules/side-channel-map/.eslintrc +11 -0
  393. package/node_modules/side-channel-map/.github/FUNDING.yml +12 -0
  394. package/node_modules/side-channel-map/.nycrc +13 -0
  395. package/node_modules/side-channel-map/CHANGELOG.md +22 -0
  396. package/node_modules/side-channel-map/LICENSE +21 -0
  397. package/node_modules/side-channel-map/README.md +62 -0
  398. package/node_modules/side-channel-map/index.d.ts +15 -0
  399. package/node_modules/side-channel-map/index.js +68 -0
  400. package/node_modules/side-channel-map/package.json +80 -0
  401. package/node_modules/side-channel-map/test/index.js +114 -0
  402. package/node_modules/side-channel-map/tsconfig.json +9 -0
  403. package/node_modules/side-channel-weakmap/.editorconfig +9 -0
  404. package/node_modules/side-channel-weakmap/.eslintrc +12 -0
  405. package/node_modules/side-channel-weakmap/.github/FUNDING.yml +12 -0
  406. package/node_modules/side-channel-weakmap/.nycrc +13 -0
  407. package/node_modules/side-channel-weakmap/CHANGELOG.md +28 -0
  408. package/node_modules/side-channel-weakmap/LICENSE +21 -0
  409. package/node_modules/side-channel-weakmap/README.md +62 -0
  410. package/node_modules/side-channel-weakmap/index.d.ts +15 -0
  411. package/node_modules/side-channel-weakmap/index.js +84 -0
  412. package/node_modules/side-channel-weakmap/package.json +87 -0
  413. package/node_modules/side-channel-weakmap/test/index.js +114 -0
  414. package/node_modules/side-channel-weakmap/tsconfig.json +9 -0
  415. package/node_modules/superagent/node_modules/readable-stream/README.md +1 -1
  416. package/node_modules/superagent/node_modules/readable-stream/lib/_stream_duplex.js +12 -25
  417. package/node_modules/superagent/node_modules/readable-stream/lib/_stream_passthrough.js +2 -4
  418. package/node_modules/superagent/node_modules/readable-stream/lib/_stream_readable.js +176 -273
  419. package/node_modules/superagent/node_modules/readable-stream/lib/_stream_transform.js +26 -37
  420. package/node_modules/superagent/node_modules/readable-stream/lib/_stream_writable.js +118 -174
  421. package/node_modules/superagent/node_modules/readable-stream/lib/internal/streams/async_iterator.js +10 -37
  422. package/node_modules/superagent/node_modules/readable-stream/lib/internal/streams/buffer_list.js +20 -47
  423. package/node_modules/superagent/node_modules/readable-stream/lib/internal/streams/destroy.js +8 -17
  424. package/node_modules/superagent/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +1 -19
  425. package/node_modules/superagent/node_modules/readable-stream/lib/internal/streams/from.js +12 -24
  426. package/node_modules/superagent/node_modules/readable-stream/lib/internal/streams/pipeline.js +5 -16
  427. package/node_modules/superagent/node_modules/readable-stream/lib/internal/streams/state.js +2 -7
  428. package/node_modules/superagent/node_modules/readable-stream/package.json +1 -1
  429. package/node_modules/{semver → superagent/node_modules/semver}/README.md +132 -36
  430. package/node_modules/{semver → superagent/node_modules/semver}/bin/semver.js +22 -16
  431. package/node_modules/{semver → superagent/node_modules/semver}/classes/comparator.js +39 -34
  432. package/node_modules/{semver → superagent/node_modules/semver}/classes/range.js +72 -37
  433. package/node_modules/{semver → superagent/node_modules/semver}/classes/semver.js +50 -19
  434. package/node_modules/{semver → superagent/node_modules/semver}/functions/coerce.js +14 -6
  435. package/node_modules/superagent/node_modules/semver/functions/diff.js +58 -0
  436. package/node_modules/{semver → superagent/node_modules/semver}/functions/inc.js +3 -2
  437. package/node_modules/superagent/node_modules/semver/functions/parse.js +16 -0
  438. package/node_modules/superagent/node_modules/semver/index.js +89 -0
  439. package/node_modules/{semver → superagent/node_modules/semver}/internal/constants.js +20 -2
  440. package/node_modules/superagent/node_modules/semver/internal/lrucache.js +40 -0
  441. package/node_modules/superagent/node_modules/semver/internal/parse-options.js +15 -0
  442. package/node_modules/{semver → superagent/node_modules/semver}/internal/re.js +43 -6
  443. package/node_modules/{semver → superagent/node_modules/semver}/package.json +29 -26
  444. package/node_modules/{semver → superagent/node_modules/semver}/ranges/intersects.js +1 -1
  445. package/node_modules/{semver → superagent/node_modules/semver}/ranges/subset.js +6 -3
  446. package/node_modules/yargs/browser.d.ts +5 -0
  447. package/node_modules/yargs/build/index.cjs +1 -1
  448. package/node_modules/yargs/build/lib/command.js +2 -0
  449. package/node_modules/yargs/build/lib/completion.js +19 -12
  450. package/node_modules/yargs/build/lib/usage.js +9 -4
  451. package/node_modules/yargs/build/lib/yargs-factory.js +18 -3
  452. package/node_modules/yargs/locales/cs.json +51 -0
  453. package/node_modules/yargs/locales/en.json +4 -0
  454. package/node_modules/yargs/locales/fi.json +1 -1
  455. package/node_modules/yargs/package.json +4 -4
  456. package/node_modules/yargs-parser/CHANGELOG.md +21 -0
  457. package/node_modules/yargs-parser/build/index.cjs +6 -4
  458. package/node_modules/yargs-parser/build/lib/index.js +4 -2
  459. package/node_modules/yargs-parser/build/lib/yargs-parser.js +2 -2
  460. package/node_modules/yargs-parser/package.json +10 -6
  461. package/package.json +1 -1
  462. package/renovate.json +11 -58
  463. package/src/clients/Agent.js +40 -37
  464. package/src/clients/Client.js +42 -40
  465. package/src/clients/Instance.js +24 -24
  466. package/src/clients/Webplayer.js +23 -24
  467. package/src/commands/extensions/delete.js +26 -26
  468. package/src/commands/extensions/index.js +6 -11
  469. package/src/commands/extensions/list.js +25 -25
  470. package/src/commands/extensions/load.js +51 -50
  471. package/src/commands/extensions/validate.js +33 -38
  472. package/src/commands/firmware/index.js +6 -9
  473. package/src/commands/firmware/list.js +49 -38
  474. package/src/commands/firmware/load.js +45 -42
  475. package/src/commands/images/create.js +30 -29
  476. package/src/commands/images/delete.js +21 -21
  477. package/src/commands/images/index.js +6 -10
  478. package/src/commands/images/list.js +21 -20
  479. package/src/commands/index.js +2 -2
  480. package/src/commands/instances/apps/index.js +26 -23
  481. package/src/commands/instances/apps/install.js +14 -14
  482. package/src/commands/instances/apps/open.js +17 -17
  483. package/src/commands/instances/create.js +35 -38
  484. package/src/commands/instances/delete.js +24 -25
  485. package/src/commands/instances/file.js +36 -32
  486. package/src/commands/instances/get.js +23 -16
  487. package/src/commands/instances/index.js +8 -8
  488. package/src/commands/instances/input.js +16 -17
  489. package/src/commands/instances/list.js +38 -28
  490. package/src/commands/instances/netmon/disable.js +17 -15
  491. package/src/commands/instances/netmon/download.js +18 -16
  492. package/src/commands/instances/netmon/enable.js +30 -23
  493. package/src/commands/instances/netmon/index.js +6 -11
  494. package/src/commands/instances/netmon/stream.js +18 -16
  495. package/src/commands/instances/ready.js +30 -27
  496. package/src/commands/instances/restoreBackup.js +39 -36
  497. package/src/commands/instances/rotate.js +20 -21
  498. package/src/commands/instances/start.js +23 -24
  499. package/src/commands/instances/stop.js +20 -21
  500. package/src/commands/instances/unlock.js +17 -19
  501. package/src/commands/instances/upgrade.js +38 -34
  502. package/src/commands/login.js +67 -67
  503. package/src/commands/logout.js +10 -12
  504. package/src/commands/mast/constants.js +2 -2
  505. package/src/commands/mast/create-assessment.js +16 -16
  506. package/src/commands/mast/delete-assessment.js +15 -15
  507. package/src/commands/mast/download-report.js +18 -15
  508. package/src/commands/mast/get-assessment.js +14 -14
  509. package/src/commands/mast/get-assessments.js +13 -13
  510. package/src/commands/mast/index.js +7 -7
  511. package/src/commands/mast/start-monitor.js +15 -15
  512. package/src/commands/mast/stop-monitor.js +15 -15
  513. package/src/commands/mast/test.js +19 -16
  514. package/src/commands/projects/create.js +33 -32
  515. package/src/commands/projects/delete.js +26 -26
  516. package/src/commands/projects/index.js +6 -11
  517. package/src/commands/projects/list.js +21 -19
  518. package/src/commands/projects/vpnConfig.js +29 -26
  519. package/src/commands/webplayer/create.js +57 -50
  520. package/src/commands/webplayer/destroy.js +31 -28
  521. package/src/commands/webplayer/index.js +6 -11
  522. package/src/commands/webplayer/list.js +41 -42
  523. package/src/commands/webplayer/login.js +31 -28
  524. package/src/corellium-api.js +11 -11
  525. package/src/error.js +20 -18
  526. package/src/logging.js +15 -15
  527. package/src/profile.js +22 -22
  528. package/src/progress.js +6 -6
  529. package/src/resumable.js +606 -664
  530. package/src/table.js +20 -22
  531. package/src/upload.js +38 -38
  532. package/src/utils.js +63 -64
  533. package/test/test.js +47 -48
  534. package/coverage/cobertura-coverage.xml +0 -9
  535. package/coverage/lcov-report/base.css +0 -224
  536. package/coverage/lcov-report/block-navigation.js +0 -87
  537. package/coverage/lcov-report/favicon.png +0 -0
  538. package/coverage/lcov-report/index.html +0 -101
  539. package/coverage/lcov-report/prettify.css +0 -1
  540. package/coverage/lcov-report/prettify.js +0 -2
  541. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  542. package/coverage/lcov-report/sorter.js +0 -196
  543. package/coverage/lcov.info +0 -0
  544. package/node_modules/@babel/cli/node_modules/commander/CHANGELOG.md +0 -436
  545. package/node_modules/@babel/cli/node_modules/commander/index.js +0 -1649
  546. package/node_modules/@babel/cli/node_modules/commander/typings/index.d.ts +0 -311
  547. package/node_modules/@babel/cli/node_modules/semver/CHANGELOG.md +0 -39
  548. package/node_modules/@babel/cli/node_modules/semver/package.json +0 -28
  549. package/node_modules/@jridgewell/sourcemap-codec/src/sourcemap-codec.ts +0 -198
  550. package/node_modules/braces/CHANGELOG.md +0 -184
  551. package/node_modules/call-bind/.eslintignore +0 -1
  552. package/node_modules/call-bind/CHANGELOG.md +0 -42
  553. package/node_modules/call-bind/README.md +0 -2
  554. package/node_modules/call-bind/callBound.js +0 -15
  555. package/node_modules/call-bind/index.js +0 -47
  556. package/node_modules/call-bind/package.json +0 -80
  557. package/node_modules/call-bind/test/index.js +0 -66
  558. package/node_modules/component-emitter/History.md +0 -75
  559. package/node_modules/function-bind/.jscs.json +0 -176
  560. package/node_modules/function-bind/.npmignore +0 -22
  561. package/node_modules/function-bind/.travis.yml +0 -168
  562. package/node_modules/has/LICENSE-MIT +0 -22
  563. package/node_modules/has/README.md +0 -18
  564. package/node_modules/has/package.json +0 -48
  565. package/node_modules/has/src/index.js +0 -5
  566. package/node_modules/has/test/index.js +0 -10
  567. package/node_modules/lru-cache/README.md +0 -166
  568. package/node_modules/lru-cache/index.js +0 -334
  569. package/node_modules/lru-cache/package.json +0 -34
  570. package/node_modules/semver/LICENSE +0 -15
  571. package/node_modules/semver/functions/diff.js +0 -23
  572. package/node_modules/semver/functions/parse.js +0 -33
  573. package/node_modules/semver/index.js +0 -48
  574. package/node_modules/semver/internal/parse-options.js +0 -11
  575. package/node_modules/side-channel/.eslintignore +0 -1
  576. package/node_modules/superagent/node_modules/form-data/README.md.bak +0 -356
  577. package/node_modules/superagent/node_modules/form-data/Readme.md +0 -356
  578. package/node_modules/yallist/LICENSE +0 -15
  579. package/node_modules/yallist/README.md +0 -204
  580. package/node_modules/yallist/iterator.js +0 -8
  581. package/node_modules/yallist/package.json +0 -29
  582. package/node_modules/yallist/yallist.js +0 -426
  583. /package/node_modules/{superagent → axios}/node_modules/form-data/License +0 -0
  584. /package/node_modules/{superagent → axios}/node_modules/form-data/index.d.ts +0 -0
  585. /package/node_modules/{superagent → axios}/node_modules/form-data/lib/browser.js +0 -0
  586. /package/node_modules/{superagent → axios}/node_modules/form-data/lib/populate.js +0 -0
  587. /package/node_modules/{@babel/cli/node_modules/commander → commander}/LICENSE +0 -0
  588. /package/node_modules/{call-bind → dunder-proto}/.nycrc +0 -0
  589. /package/node_modules/{@babel/cli/node_modules/make-dir → make-dir}/index.d.ts +0 -0
  590. /package/node_modules/{@babel/cli/node_modules/make-dir → make-dir}/index.js +0 -0
  591. /package/node_modules/{@babel/cli/node_modules/make-dir → make-dir}/license +0 -0
  592. /package/node_modules/{@babel/cli → make-dir}/node_modules/semver/LICENSE +0 -0
  593. /package/node_modules/{@babel/cli → make-dir}/node_modules/semver/README.md +0 -0
  594. /package/node_modules/{@babel/cli → make-dir}/node_modules/semver/bin/semver +0 -0
  595. /package/node_modules/{@babel/cli → make-dir}/node_modules/semver/range.bnf +0 -0
  596. /package/node_modules/{@babel/cli/node_modules/make-dir → make-dir}/package.json +0 -0
  597. /package/node_modules/{@babel/cli/node_modules/make-dir → make-dir}/readme.md +0 -0
  598. /package/node_modules/{@babel/cli/node_modules/pify → pify}/index.js +0 -0
  599. /package/node_modules/{@babel/cli/node_modules/pify → pify}/license +0 -0
  600. /package/node_modules/{@babel/cli/node_modules/pify → pify}/package.json +0 -0
  601. /package/node_modules/{@babel/cli/node_modules/pify → pify}/readme.md +0 -0
  602. /package/node_modules/{@babel/cli/node_modules/slash → slash}/index.js +0 -0
  603. /package/node_modules/{@babel/cli/node_modules/slash → slash}/license +0 -0
  604. /package/node_modules/{@babel/cli/node_modules/slash → slash}/package.json +0 -0
  605. /package/node_modules/{@babel/cli/node_modules/slash → slash}/readme.md +0 -0
  606. /package/node_modules/{lru-cache → superagent/node_modules/semver}/LICENSE +0 -0
  607. /package/node_modules/{semver → superagent/node_modules/semver}/classes/index.js +0 -0
  608. /package/node_modules/{semver → superagent/node_modules/semver}/functions/clean.js +0 -0
  609. /package/node_modules/{semver → superagent/node_modules/semver}/functions/cmp.js +0 -0
  610. /package/node_modules/{semver → superagent/node_modules/semver}/functions/compare-build.js +0 -0
  611. /package/node_modules/{semver → superagent/node_modules/semver}/functions/compare-loose.js +0 -0
  612. /package/node_modules/{semver → superagent/node_modules/semver}/functions/compare.js +0 -0
  613. /package/node_modules/{semver → superagent/node_modules/semver}/functions/eq.js +0 -0
  614. /package/node_modules/{semver → superagent/node_modules/semver}/functions/gt.js +0 -0
  615. /package/node_modules/{semver → superagent/node_modules/semver}/functions/gte.js +0 -0
  616. /package/node_modules/{semver → superagent/node_modules/semver}/functions/lt.js +0 -0
  617. /package/node_modules/{semver → superagent/node_modules/semver}/functions/lte.js +0 -0
  618. /package/node_modules/{semver → superagent/node_modules/semver}/functions/major.js +0 -0
  619. /package/node_modules/{semver → superagent/node_modules/semver}/functions/minor.js +0 -0
  620. /package/node_modules/{semver → superagent/node_modules/semver}/functions/neq.js +0 -0
  621. /package/node_modules/{semver → superagent/node_modules/semver}/functions/patch.js +0 -0
  622. /package/node_modules/{semver → superagent/node_modules/semver}/functions/prerelease.js +0 -0
  623. /package/node_modules/{semver → superagent/node_modules/semver}/functions/rcompare.js +0 -0
  624. /package/node_modules/{semver → superagent/node_modules/semver}/functions/rsort.js +0 -0
  625. /package/node_modules/{semver → superagent/node_modules/semver}/functions/satisfies.js +0 -0
  626. /package/node_modules/{semver → superagent/node_modules/semver}/functions/sort.js +0 -0
  627. /package/node_modules/{semver → superagent/node_modules/semver}/functions/valid.js +0 -0
  628. /package/node_modules/{semver → superagent/node_modules/semver}/internal/debug.js +0 -0
  629. /package/node_modules/{semver → superagent/node_modules/semver}/internal/identifiers.js +0 -0
  630. /package/node_modules/{semver → superagent/node_modules/semver}/preload.js +0 -0
  631. /package/node_modules/{semver → superagent/node_modules/semver}/range.bnf +0 -0
  632. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/gtr.js +0 -0
  633. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/ltr.js +0 -0
  634. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/max-satisfying.js +0 -0
  635. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/min-satisfying.js +0 -0
  636. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/min-version.js +0 -0
  637. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/outside.js +0 -0
  638. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/simplify.js +0 -0
  639. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/to-comparators.js +0 -0
  640. /package/node_modules/{semver → superagent/node_modules/semver}/ranges/valid.js +0 -0
@@ -6,6 +6,41 @@ var Writable = require("stream").Writable;
6
6
  var assert = require("assert");
7
7
  var debug = require("./debug");
8
8
 
9
+ // Preventive platform detection
10
+ // istanbul ignore next
11
+ (function detectUnsupportedEnvironment() {
12
+ var looksLikeNode = typeof process !== "undefined";
13
+ var looksLikeBrowser = typeof window !== "undefined" && typeof document !== "undefined";
14
+ var looksLikeV8 = isFunction(Error.captureStackTrace);
15
+ if (!looksLikeNode && (looksLikeBrowser || !looksLikeV8)) {
16
+ console.warn("The follow-redirects package should be excluded from browser builds.");
17
+ }
18
+ }());
19
+
20
+ // Whether to use the native URL object or the legacy url module
21
+ var useNativeURL = false;
22
+ try {
23
+ assert(new URL(""));
24
+ }
25
+ catch (error) {
26
+ useNativeURL = error.code === "ERR_INVALID_URL";
27
+ }
28
+
29
+ // URL fields to preserve in copy operations
30
+ var preservedUrlFields = [
31
+ "auth",
32
+ "host",
33
+ "hostname",
34
+ "href",
35
+ "path",
36
+ "pathname",
37
+ "port",
38
+ "protocol",
39
+ "query",
40
+ "search",
41
+ "hash",
42
+ ];
43
+
9
44
  // Create handlers that pass events from native requests
10
45
  var events = ["abort", "aborted", "connect", "error", "socket", "timeout"];
11
46
  var eventHandlers = Object.create(null);
@@ -16,13 +51,19 @@ events.forEach(function (event) {
16
51
  });
17
52
 
18
53
  // Error types with codes
54
+ var InvalidUrlError = createErrorType(
55
+ "ERR_INVALID_URL",
56
+ "Invalid URL",
57
+ TypeError
58
+ );
19
59
  var RedirectionError = createErrorType(
20
60
  "ERR_FR_REDIRECTION_FAILURE",
21
61
  "Redirected request failed"
22
62
  );
23
63
  var TooManyRedirectsError = createErrorType(
24
64
  "ERR_FR_TOO_MANY_REDIRECTS",
25
- "Maximum number of redirects exceeded"
65
+ "Maximum number of redirects exceeded",
66
+ RedirectionError
26
67
  );
27
68
  var MaxBodyLengthExceededError = createErrorType(
28
69
  "ERR_FR_MAX_BODY_LENGTH_EXCEEDED",
@@ -33,6 +74,9 @@ var WriteAfterEndError = createErrorType(
33
74
  "write after end"
34
75
  );
35
76
 
77
+ // istanbul ignore next
78
+ var destroy = Writable.prototype.destroy || noop;
79
+
36
80
  // An HTTP(S) request that can be redirected
37
81
  function RedirectableRequest(options, responseCallback) {
38
82
  // Initialize the request
@@ -54,7 +98,13 @@ function RedirectableRequest(options, responseCallback) {
54
98
  // React to responses of native requests
55
99
  var self = this;
56
100
  this._onNativeResponse = function (response) {
57
- self._processResponse(response);
101
+ try {
102
+ self._processResponse(response);
103
+ }
104
+ catch (cause) {
105
+ self.emit("error", cause instanceof RedirectionError ?
106
+ cause : new RedirectionError({ cause: cause }));
107
+ }
58
108
  };
59
109
 
60
110
  // Perform the first request
@@ -63,10 +113,17 @@ function RedirectableRequest(options, responseCallback) {
63
113
  RedirectableRequest.prototype = Object.create(Writable.prototype);
64
114
 
65
115
  RedirectableRequest.prototype.abort = function () {
66
- abortRequest(this._currentRequest);
116
+ destroyRequest(this._currentRequest);
117
+ this._currentRequest.abort();
67
118
  this.emit("abort");
68
119
  };
69
120
 
121
+ RedirectableRequest.prototype.destroy = function (error) {
122
+ destroyRequest(this._currentRequest, error);
123
+ destroy.call(this, error);
124
+ return this;
125
+ };
126
+
70
127
  // Writes buffered data to the current native request
71
128
  RedirectableRequest.prototype.write = function (data, encoding, callback) {
72
129
  // Writing is not allowed if end has been called
@@ -75,10 +132,10 @@ RedirectableRequest.prototype.write = function (data, encoding, callback) {
75
132
  }
76
133
 
77
134
  // Validate input and shift parameters if necessary
78
- if (!(typeof data === "string" || typeof data === "object" && ("length" in data))) {
135
+ if (!isString(data) && !isBuffer(data)) {
79
136
  throw new TypeError("data should be a string, Buffer or Uint8Array");
80
137
  }
81
- if (typeof encoding === "function") {
138
+ if (isFunction(encoding)) {
82
139
  callback = encoding;
83
140
  encoding = null;
84
141
  }
@@ -107,11 +164,11 @@ RedirectableRequest.prototype.write = function (data, encoding, callback) {
107
164
  // Ends the current native request
108
165
  RedirectableRequest.prototype.end = function (data, encoding, callback) {
109
166
  // Shift parameters if necessary
110
- if (typeof data === "function") {
167
+ if (isFunction(data)) {
111
168
  callback = data;
112
169
  data = encoding = null;
113
170
  }
114
- else if (typeof encoding === "function") {
171
+ else if (isFunction(encoding)) {
115
172
  callback = encoding;
116
173
  encoding = null;
117
174
  }
@@ -179,6 +236,7 @@ RedirectableRequest.prototype.setTimeout = function (msecs, callback) {
179
236
  self.removeListener("abort", clearTimer);
180
237
  self.removeListener("error", clearTimer);
181
238
  self.removeListener("response", clearTimer);
239
+ self.removeListener("close", clearTimer);
182
240
  if (callback) {
183
241
  self.removeListener("timeout", callback);
184
242
  }
@@ -205,6 +263,7 @@ RedirectableRequest.prototype.setTimeout = function (msecs, callback) {
205
263
  this.on("abort", clearTimer);
206
264
  this.on("error", clearTimer);
207
265
  this.on("response", clearTimer);
266
+ this.on("close", clearTimer);
208
267
 
209
268
  return this;
210
269
  };
@@ -263,8 +322,7 @@ RedirectableRequest.prototype._performRequest = function () {
263
322
  var protocol = this._options.protocol;
264
323
  var nativeProtocol = this._options.nativeProtocols[protocol];
265
324
  if (!nativeProtocol) {
266
- this.emit("error", new TypeError("Unsupported protocol " + protocol));
267
- return;
325
+ throw new TypeError("Unsupported protocol " + protocol);
268
326
  }
269
327
 
270
328
  // If specified, use the agent corresponding to the protocol
@@ -288,7 +346,7 @@ RedirectableRequest.prototype._performRequest = function () {
288
346
  url.format(this._options) :
289
347
  // When making a request to a proxy, […]
290
348
  // a client MUST send the target URI in absolute-form […].
291
- this._currentUrl = this._options.path;
349
+ this._options.path;
292
350
 
293
351
  // End a redirected request
294
352
  // (The first request must be ended explicitly with RedirectableRequest#end)
@@ -299,17 +357,17 @@ RedirectableRequest.prototype._performRequest = function () {
299
357
  var buffers = this._requestBodyBuffers;
300
358
  (function writeNext(error) {
301
359
  // Only write if this request has not been redirected yet
302
- /* istanbul ignore else */
360
+ // istanbul ignore else
303
361
  if (request === self._currentRequest) {
304
362
  // Report any write errors
305
- /* istanbul ignore if */
363
+ // istanbul ignore if
306
364
  if (error) {
307
365
  self.emit("error", error);
308
366
  }
309
367
  // Write the next buffer if there are still left
310
368
  else if (i < buffers.length) {
311
369
  var buffer = buffers[i++];
312
- /* istanbul ignore else */
370
+ // istanbul ignore else
313
371
  if (!request.finished) {
314
372
  request.write(buffer.data, buffer.encoding, writeNext);
315
373
  }
@@ -356,15 +414,14 @@ RedirectableRequest.prototype._processResponse = function (response) {
356
414
  }
357
415
 
358
416
  // The response is a redirect, so abort the current request
359
- abortRequest(this._currentRequest);
417
+ destroyRequest(this._currentRequest);
360
418
  // Discard the remainder of the response to avoid waiting for data
361
419
  response.destroy();
362
420
 
363
421
  // RFC7231§6.4: A client SHOULD detect and intervene
364
422
  // in cyclical redirections (i.e., "infinite" redirection loops).
365
423
  if (++this._redirectCount > this._options.maxRedirects) {
366
- this.emit("error", new TooManyRedirectsError());
367
- return;
424
+ throw new TooManyRedirectsError();
368
425
  }
369
426
 
370
427
  // Store the request headers if applicable
@@ -398,38 +455,28 @@ RedirectableRequest.prototype._processResponse = function (response) {
398
455
  var currentHostHeader = removeMatchingHeaders(/^host$/i, this._options.headers);
399
456
 
400
457
  // If the redirect is relative, carry over the host of the last request
401
- var currentUrlParts = url.parse(this._currentUrl);
458
+ var currentUrlParts = parseUrl(this._currentUrl);
402
459
  var currentHost = currentHostHeader || currentUrlParts.host;
403
460
  var currentUrl = /^\w+:/.test(location) ? this._currentUrl :
404
461
  url.format(Object.assign(currentUrlParts, { host: currentHost }));
405
462
 
406
- // Determine the URL of the redirection
407
- var redirectUrl;
408
- try {
409
- redirectUrl = url.resolve(currentUrl, location);
410
- }
411
- catch (cause) {
412
- this.emit("error", new RedirectionError(cause));
413
- return;
414
- }
415
-
416
463
  // Create the redirected request
417
- debug("redirecting to", redirectUrl);
464
+ var redirectUrl = resolveUrl(location, currentUrl);
465
+ debug("redirecting to", redirectUrl.href);
418
466
  this._isRedirect = true;
419
- var redirectUrlParts = url.parse(redirectUrl);
420
- Object.assign(this._options, redirectUrlParts);
467
+ spreadUrlObject(redirectUrl, this._options);
421
468
 
422
469
  // Drop confidential headers when redirecting to a less secure protocol
423
470
  // or to a different domain that is not a superdomain
424
- if (redirectUrlParts.protocol !== currentUrlParts.protocol &&
425
- redirectUrlParts.protocol !== "https:" ||
426
- redirectUrlParts.host !== currentHost &&
427
- !isSubdomain(redirectUrlParts.host, currentHost)) {
428
- removeMatchingHeaders(/^(?:authorization|cookie)$/i, this._options.headers);
471
+ if (redirectUrl.protocol !== currentUrlParts.protocol &&
472
+ redirectUrl.protocol !== "https:" ||
473
+ redirectUrl.host !== currentHost &&
474
+ !isSubdomain(redirectUrl.host, currentHost)) {
475
+ removeMatchingHeaders(/^(?:(?:proxy-)?authorization|cookie)$/i, this._options.headers);
429
476
  }
430
477
 
431
478
  // Evaluate the beforeRedirect callback
432
- if (typeof beforeRedirect === "function") {
479
+ if (isFunction(beforeRedirect)) {
433
480
  var responseDetails = {
434
481
  headers: response.headers,
435
482
  statusCode: statusCode,
@@ -439,23 +486,12 @@ RedirectableRequest.prototype._processResponse = function (response) {
439
486
  method: method,
440
487
  headers: requestHeaders,
441
488
  };
442
- try {
443
- beforeRedirect(this._options, responseDetails, requestDetails);
444
- }
445
- catch (err) {
446
- this.emit("error", err);
447
- return;
448
- }
489
+ beforeRedirect(this._options, responseDetails, requestDetails);
449
490
  this._sanitizeOptions(this._options);
450
491
  }
451
492
 
452
493
  // Perform the redirected request
453
- try {
454
- this._performRequest();
455
- }
456
- catch (cause) {
457
- this.emit("error", new RedirectionError(cause));
458
- }
494
+ this._performRequest();
459
495
  };
460
496
 
461
497
  // Wraps the key/value object of protocols with redirect functionality
@@ -475,26 +511,19 @@ function wrap(protocols) {
475
511
 
476
512
  // Executes a request, following redirects
477
513
  function request(input, options, callback) {
478
- // Parse parameters
479
- if (typeof input === "string") {
480
- var urlStr = input;
481
- try {
482
- input = urlToOptions(new URL(urlStr));
483
- }
484
- catch (err) {
485
- /* istanbul ignore next */
486
- input = url.parse(urlStr);
487
- }
514
+ // Parse parameters, ensuring that input is an object
515
+ if (isURL(input)) {
516
+ input = spreadUrlObject(input);
488
517
  }
489
- else if (URL && (input instanceof URL)) {
490
- input = urlToOptions(input);
518
+ else if (isString(input)) {
519
+ input = spreadUrlObject(parseUrl(input));
491
520
  }
492
521
  else {
493
522
  callback = options;
494
- options = input;
523
+ options = validateUrl(input);
495
524
  input = { protocol: protocol };
496
525
  }
497
- if (typeof options === "function") {
526
+ if (isFunction(options)) {
498
527
  callback = options;
499
528
  options = null;
500
529
  }
@@ -505,6 +534,9 @@ function wrap(protocols) {
505
534
  maxBodyLength: exports.maxBodyLength,
506
535
  }, input, options);
507
536
  options.nativeProtocols = nativeProtocols;
537
+ if (!isString(options.host) && !isString(options.hostname)) {
538
+ options.hostname = "::1";
539
+ }
508
540
 
509
541
  assert.equal(options.protocol, protocol, "protocol mismatch");
510
542
  debug("options", options);
@@ -527,27 +559,57 @@ function wrap(protocols) {
527
559
  return exports;
528
560
  }
529
561
 
530
- /* istanbul ignore next */
531
562
  function noop() { /* empty */ }
532
563
 
533
- // from https://github.com/nodejs/node/blob/master/lib/internal/url.js
534
- function urlToOptions(urlObject) {
535
- var options = {
536
- protocol: urlObject.protocol,
537
- hostname: urlObject.hostname.startsWith("[") ?
538
- /* istanbul ignore next */
539
- urlObject.hostname.slice(1, -1) :
540
- urlObject.hostname,
541
- hash: urlObject.hash,
542
- search: urlObject.search,
543
- pathname: urlObject.pathname,
544
- path: urlObject.pathname + urlObject.search,
545
- href: urlObject.href,
546
- };
547
- if (urlObject.port !== "") {
548
- options.port = Number(urlObject.port);
564
+ function parseUrl(input) {
565
+ var parsed;
566
+ // istanbul ignore else
567
+ if (useNativeURL) {
568
+ parsed = new URL(input);
549
569
  }
550
- return options;
570
+ else {
571
+ // Ensure the URL is valid and absolute
572
+ parsed = validateUrl(url.parse(input));
573
+ if (!isString(parsed.protocol)) {
574
+ throw new InvalidUrlError({ input });
575
+ }
576
+ }
577
+ return parsed;
578
+ }
579
+
580
+ function resolveUrl(relative, base) {
581
+ // istanbul ignore next
582
+ return useNativeURL ? new URL(relative, base) : parseUrl(url.resolve(base, relative));
583
+ }
584
+
585
+ function validateUrl(input) {
586
+ if (/^\[/.test(input.hostname) && !/^\[[:0-9a-f]+\]$/i.test(input.hostname)) {
587
+ throw new InvalidUrlError({ input: input.href || input });
588
+ }
589
+ if (/^\[/.test(input.host) && !/^\[[:0-9a-f]+\](:\d+)?$/i.test(input.host)) {
590
+ throw new InvalidUrlError({ input: input.href || input });
591
+ }
592
+ return input;
593
+ }
594
+
595
+ function spreadUrlObject(urlObject, target) {
596
+ var spread = target || {};
597
+ for (var key of preservedUrlFields) {
598
+ spread[key] = urlObject[key];
599
+ }
600
+
601
+ // Fix IPv6 hostname
602
+ if (spread.hostname.startsWith("[")) {
603
+ spread.hostname = spread.hostname.slice(1, -1);
604
+ }
605
+ // Ensure port is a number
606
+ if (spread.port !== "") {
607
+ spread.port = Number(spread.port);
608
+ }
609
+ // Concatenate path
610
+ spread.path = spread.search ? spread.pathname + spread.search : spread.pathname;
611
+
612
+ return spread;
551
613
  }
552
614
 
553
615
  function removeMatchingHeaders(regex, headers) {
@@ -562,37 +624,63 @@ function removeMatchingHeaders(regex, headers) {
562
624
  undefined : String(lastValue).trim();
563
625
  }
564
626
 
565
- function createErrorType(code, defaultMessage) {
566
- function CustomError(cause) {
567
- Error.captureStackTrace(this, this.constructor);
568
- if (!cause) {
569
- this.message = defaultMessage;
570
- }
571
- else {
572
- this.message = defaultMessage + ": " + cause.message;
573
- this.cause = cause;
627
+ function createErrorType(code, message, baseClass) {
628
+ // Create constructor
629
+ function CustomError(properties) {
630
+ // istanbul ignore else
631
+ if (isFunction(Error.captureStackTrace)) {
632
+ Error.captureStackTrace(this, this.constructor);
574
633
  }
575
- }
576
- CustomError.prototype = new Error();
577
- CustomError.prototype.constructor = CustomError;
578
- CustomError.prototype.name = "Error [" + code + "]";
579
- CustomError.prototype.code = code;
634
+ Object.assign(this, properties || {});
635
+ this.code = code;
636
+ this.message = this.cause ? message + ": " + this.cause.message : message;
637
+ }
638
+
639
+ // Attach constructor and set default properties
640
+ CustomError.prototype = new (baseClass || Error)();
641
+ Object.defineProperties(CustomError.prototype, {
642
+ constructor: {
643
+ value: CustomError,
644
+ enumerable: false,
645
+ },
646
+ name: {
647
+ value: "Error [" + code + "]",
648
+ enumerable: false,
649
+ },
650
+ });
580
651
  return CustomError;
581
652
  }
582
653
 
583
- function abortRequest(request) {
654
+ function destroyRequest(request, error) {
584
655
  for (var event of events) {
585
656
  request.removeListener(event, eventHandlers[event]);
586
657
  }
587
658
  request.on("error", noop);
588
- request.abort();
659
+ request.destroy(error);
589
660
  }
590
661
 
591
662
  function isSubdomain(subdomain, domain) {
592
- const dot = subdomain.length - domain.length - 1;
663
+ assert(isString(subdomain) && isString(domain));
664
+ var dot = subdomain.length - domain.length - 1;
593
665
  return dot > 0 && subdomain[dot] === "." && subdomain.endsWith(domain);
594
666
  }
595
667
 
668
+ function isString(value) {
669
+ return typeof value === "string" || value instanceof String;
670
+ }
671
+
672
+ function isFunction(value) {
673
+ return typeof value === "function";
674
+ }
675
+
676
+ function isBuffer(value) {
677
+ return typeof value === "object" && ("length" in value);
678
+ }
679
+
680
+ function isURL(value) {
681
+ return URL && value instanceof URL;
682
+ }
683
+
596
684
  // Exports
597
685
  module.exports = wrap({ http: http, https: https });
598
686
  module.exports.wrap = wrap;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "follow-redirects",
3
- "version": "1.15.1",
3
+ "version": "1.15.9",
4
4
  "description": "HTTP and HTTPS modules that follow redirects.",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
@@ -11,13 +11,12 @@
11
11
  "node": ">=4.0"
12
12
  },
13
13
  "scripts": {
14
- "test": "npm run lint && npm run mocha",
15
14
  "lint": "eslint *.js test",
16
- "mocha": "nyc mocha"
15
+ "test": "nyc mocha"
17
16
  },
18
17
  "repository": {
19
18
  "type": "git",
20
- "url": "git@github.com:follow-redirects/follow-redirects.git"
19
+ "url": "git+ssh://git@github.com/follow-redirects/follow-redirects.git"
21
20
  },
22
21
  "homepage": "https://github.com/follow-redirects/follow-redirects",
23
22
  "bugs": {
@@ -6,11 +6,11 @@ The API of this library is inspired by the [XMLHttpRequest-2 FormData Interface]
6
6
 
7
7
  [xhr2-fd]: http://dev.w3.org/2006/webapi/XMLHttpRequest-2/Overview.html#the-formdata-interface
8
8
 
9
- [![Linux Build](https://img.shields.io/travis/form-data/form-data/v4.0.0.svg?label=linux:6.x-12.x)](https://travis-ci.org/form-data/form-data)
10
- [![MacOS Build](https://img.shields.io/travis/form-data/form-data/v4.0.0.svg?label=macos:6.x-12.x)](https://travis-ci.org/form-data/form-data)
11
- [![Windows Build](https://img.shields.io/travis/form-data/form-data/v4.0.0.svg?label=windows:6.x-12.x)](https://travis-ci.org/form-data/form-data)
9
+ [![Linux Build](https://img.shields.io/travis/form-data/form-data/master.svg?label=linux:6.x-12.x)](https://travis-ci.org/form-data/form-data)
10
+ [![MacOS Build](https://img.shields.io/travis/form-data/form-data/master.svg?label=macos:6.x-12.x)](https://travis-ci.org/form-data/form-data)
11
+ [![Windows Build](https://img.shields.io/travis/form-data/form-data/master.svg?label=windows:6.x-12.x)](https://travis-ci.org/form-data/form-data)
12
12
 
13
- [![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/v4.0.0.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master)
13
+ [![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/master.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master)
14
14
  [![Dependency Status](https://img.shields.io/david/form-data/form-data.svg)](https://david-dm.org/form-data/form-data)
15
15
 
16
16
  ## Install
@@ -218,7 +218,7 @@ form.append( 'my_file', fs.createReadStream('/foo/bar.jpg'), {filename: 'bar.jpg
218
218
  ```
219
219
 
220
220
  #### _Headers_ getHeaders( [**Headers** _userHeaders_] )
221
- This method adds the correct `content-type` header to the provided array of `userHeaders`.
221
+ This method adds the correct `content-type` header to the provided array of `userHeaders`.
222
222
 
223
223
  #### _String_ getBoundary()
224
224
  Return the boundary of the formData. By default, the boundary consists of 26 `-` followed by 24 numbers
@@ -348,8 +348,6 @@ axios.post('http://example.com', form, {
348
348
  ## Notes
349
349
 
350
350
  - ```getLengthSync()``` method DOESN'T calculate length for streams, use ```knownLength``` options as workaround.
351
- - ```getLength(cb)``` will send an error as first parameter of callback if stream length cannot be calculated (e.g. send in custom streams w/o using ```knownLength```).
352
- - ```submit``` will not add `content-length` if form length is unknown or not calculable.
353
351
  - Starting version `2.x` FormData has dropped support for `node@0.10.x`.
354
352
  - Starting version `3.x` FormData has dropped support for `node@4.x`.
355
353
 
@@ -5,9 +5,9 @@ var http = require('http');
5
5
  var https = require('https');
6
6
  var parseUrl = require('url').parse;
7
7
  var fs = require('fs');
8
- var Stream = require('stream').Stream;
9
8
  var mime = require('mime-types');
10
9
  var asynckit = require('asynckit');
10
+ var setToStringTag = require('es-set-tostringtag');
11
11
  var populate = require('./populate.js');
12
12
 
13
13
  // Public API
@@ -61,7 +61,7 @@ FormData.prototype.append = function(field, value, options) {
61
61
  }
62
62
 
63
63
  // https://github.com/felixge/node-form-data/issues/38
64
- if (util.isArray(value)) {
64
+ if (Array.isArray(value)) {
65
65
  // Please convert your array into string
66
66
  // the way web server expects it
67
67
  this._error(new Error('Arrays are not supported.'));
@@ -101,8 +101,8 @@ FormData.prototype._trackLength = function(header, value, options) {
101
101
  Buffer.byteLength(header) +
102
102
  FormData.LINE_BREAK.length;
103
103
 
104
- // empty or either doesn't have path or not an http response or not a stream
105
- if (!value || ( !value.path && !(value.readable && value.hasOwnProperty('httpVersion')) && !(value instanceof Stream))) {
104
+ // empty or either doesn't have path or not an http response
105
+ if (!value || ( !value.path && !(value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) )) {
106
106
  return;
107
107
  }
108
108
 
@@ -113,8 +113,7 @@ FormData.prototype._trackLength = function(header, value, options) {
113
113
  };
114
114
 
115
115
  FormData.prototype._lengthRetriever = function(value, callback) {
116
-
117
- if (value.hasOwnProperty('fd')) {
116
+ if (Object.prototype.hasOwnProperty.call(value, 'fd')) {
118
117
 
119
118
  // take read range into a account
120
119
  // `end` = Infinity –> read file till the end
@@ -149,11 +148,11 @@ FormData.prototype._lengthRetriever = function(value, callback) {
149
148
  }
150
149
 
151
150
  // or http response
152
- } else if (value.hasOwnProperty('httpVersion')) {
151
+ } else if (Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {
153
152
  callback(null, +value.headers['content-length']);
154
153
 
155
154
  // or request stream http://github.com/mikeal/request
156
- } else if (value.hasOwnProperty('httpModule')) {
155
+ } else if (Object.prototype.hasOwnProperty.call(value, 'httpModule')) {
157
156
  // wait till response come back
158
157
  value.on('response', function(response) {
159
158
  value.pause();
@@ -193,22 +192,23 @@ FormData.prototype._multiPartHeader = function(field, value, options) {
193
192
 
194
193
  var header;
195
194
  for (var prop in headers) {
196
- if (!headers.hasOwnProperty(prop)) continue;
197
- header = headers[prop];
195
+ if (Object.prototype.hasOwnProperty.call(headers, prop)) {
196
+ header = headers[prop];
198
197
 
199
- // skip nullish headers.
200
- if (header == null) {
201
- continue;
202
- }
198
+ // skip nullish headers.
199
+ if (header == null) {
200
+ continue;
201
+ }
203
202
 
204
- // convert all headers to arrays.
205
- if (!Array.isArray(header)) {
206
- header = [header];
207
- }
203
+ // convert all headers to arrays.
204
+ if (!Array.isArray(header)) {
205
+ header = [header];
206
+ }
208
207
 
209
- // add non-empty headers.
210
- if (header.length) {
211
- contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;
208
+ // add non-empty headers.
209
+ if (header.length) {
210
+ contents += prop + ': ' + header.join('; ') + FormData.LINE_BREAK;
211
+ }
212
212
  }
213
213
  }
214
214
 
@@ -229,7 +229,7 @@ FormData.prototype._getContentDisposition = function(value, options) {
229
229
  // formidable and the browser add a name property
230
230
  // fs- and request- streams have path property
231
231
  filename = path.basename(options.filename || value.name || value.path);
232
- } else if (value.readable && value.hasOwnProperty('httpVersion')) {
232
+ } else if (value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {
233
233
  // or try http response
234
234
  filename = path.basename(value.client._httpMessage.path || '');
235
235
  }
@@ -257,7 +257,7 @@ FormData.prototype._getContentType = function(value, options) {
257
257
  }
258
258
 
259
259
  // or if it's http-reponse
260
- if (!contentType && value.readable && value.hasOwnProperty('httpVersion')) {
260
+ if (!contentType && value.readable && Object.prototype.hasOwnProperty.call(value, 'httpVersion')) {
261
261
  contentType = value.headers['content-type'];
262
262
  }
263
263
 
@@ -298,7 +298,7 @@ FormData.prototype.getHeaders = function(userHeaders) {
298
298
  };
299
299
 
300
300
  for (header in userHeaders) {
301
- if (userHeaders.hasOwnProperty(header)) {
301
+ if (Object.prototype.hasOwnProperty.call(userHeaders, header)) {
302
302
  formHeaders[header.toLowerCase()] = userHeaders[header];
303
303
  }
304
304
  }
@@ -457,15 +457,13 @@ FormData.prototype.submit = function(params, cb) {
457
457
 
458
458
  // get content length and fire away
459
459
  this.getLength(function(err, length) {
460
- if (err && err !== 'Unknown stream') {
460
+ if (err) {
461
461
  this._error(err);
462
462
  return;
463
463
  }
464
464
 
465
465
  // add content length
466
- if (length) {
467
- request.setHeader('Content-Length', length);
468
- }
466
+ request.setHeader('Content-Length', length);
469
467
 
470
468
  this.pipe(request);
471
469
  if (cb) {
@@ -499,3 +497,4 @@ FormData.prototype._error = function(err) {
499
497
  FormData.prototype.toString = function () {
500
498
  return '[object FormData]';
501
499
  };
500
+ setToStringTag(FormData, 'FormData');