@corellium/corellium-cli 1.0.3 → 1.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (490) hide show
  1. package/README.md +5 -17
  2. package/docs/OVERVIEW.md +1 -1
  3. package/jenkinsbuild/build.sh +1 -1
  4. package/package.json +3 -3
  5. package/src/TrialAccount.js +76 -0
  6. package/src/commands/Client.js +2 -2
  7. package/src/commands/agent/Agent.js +10 -19
  8. package/src/commands/agent/apps.js +2 -1
  9. package/src/commands/agent/file.js +2 -1
  10. package/src/commands/agent/index.js +1 -0
  11. package/src/commands/agent/ready.js +43 -0
  12. package/src/commands/extensions/delete.js +2 -1
  13. package/src/commands/extensions/list.js +2 -1
  14. package/src/commands/extensions/load.js +2 -1
  15. package/src/commands/extensions/validate.js +2 -1
  16. package/src/commands/firmware/list.js +2 -1
  17. package/src/commands/firmware/load.js +2 -1
  18. package/src/commands/images/create.js +2 -1
  19. package/src/commands/images/delete.js +2 -1
  20. package/src/commands/images/list.js +2 -1
  21. package/src/commands/instances/Instance.js +27 -0
  22. package/src/commands/instances/create.js +11 -4
  23. package/src/commands/instances/delete.js +20 -5
  24. package/src/commands/instances/index.js +2 -1
  25. package/src/commands/instances/list.js +11 -5
  26. package/src/commands/instances/start.js +2 -1
  27. package/src/commands/instances/stop.js +2 -1
  28. package/src/commands/instances/upgrade.js +90 -0
  29. package/src/commands/login.js +14 -2
  30. package/src/commands/logout.js +2 -1
  31. package/src/commands/projects/create.js +2 -1
  32. package/src/commands/projects/delete.js +2 -1
  33. package/src/commands/projects/list.js +2 -1
  34. package/src/commands/signup.js +14 -5
  35. package/src/commands/webplayer/WebPlayer.js +2 -1
  36. package/src/commands/webplayer/create.js +8 -1
  37. package/src/commands/webplayer/destroy.js +2 -1
  38. package/src/commands/webplayer/list.js +19 -17
  39. package/src/commands/webplayer/login.js +2 -1
  40. package/src/error.js +14 -1
  41. package/src/logging.js +1 -1
  42. package/src/profile.js +12 -9
  43. package/src/resumable.js +1314 -0
  44. package/src/table.js +7 -2
  45. package/src/upload.js +64 -2
  46. package/src/utils.js +11 -4
  47. package/test/test.js +89 -0
  48. package/example/WebPlayerSample.js +0 -263
  49. package/node_modules/@corellium/corellium-api/README.md +0 -1210
  50. package/node_modules/@corellium/corellium-api/node_modules/form-data/License +0 -19
  51. package/node_modules/@corellium/corellium-api/node_modules/form-data/README.md.bak +0 -356
  52. package/node_modules/@corellium/corellium-api/node_modules/form-data/Readme.md +0 -356
  53. package/node_modules/@corellium/corellium-api/node_modules/form-data/index.d.ts +0 -62
  54. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/browser.js +0 -2
  55. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/form_data.js +0 -498
  56. package/node_modules/@corellium/corellium-api/node_modules/form-data/lib/populate.js +0 -10
  57. package/node_modules/@corellium/corellium-api/node_modules/form-data/package.json +0 -104
  58. package/node_modules/@corellium/corellium-api/node_modules/uuid/AUTHORS +0 -5
  59. package/node_modules/@corellium/corellium-api/node_modules/uuid/CHANGELOG.md +0 -119
  60. package/node_modules/@corellium/corellium-api/node_modules/uuid/LICENSE.md +0 -21
  61. package/node_modules/@corellium/corellium-api/node_modules/uuid/README.md +0 -276
  62. package/node_modules/@corellium/corellium-api/node_modules/uuid/bin/uuid +0 -65
  63. package/node_modules/@corellium/corellium-api/node_modules/uuid/index.js +0 -8
  64. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/bytesToUuid.js +0 -26
  65. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5-browser.js +0 -216
  66. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/md5.js +0 -25
  67. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng-browser.js +0 -34
  68. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/rng.js +0 -8
  69. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1-browser.js +0 -89
  70. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/sha1.js +0 -25
  71. package/node_modules/@corellium/corellium-api/node_modules/uuid/lib/v35.js +0 -57
  72. package/node_modules/@corellium/corellium-api/node_modules/uuid/package.json +0 -103
  73. package/node_modules/@corellium/corellium-api/node_modules/uuid/v1.js +0 -109
  74. package/node_modules/@corellium/corellium-api/node_modules/uuid/v3.js +0 -4
  75. package/node_modules/@corellium/corellium-api/node_modules/uuid/v4.js +0 -29
  76. package/node_modules/@corellium/corellium-api/node_modules/uuid/v5.js +0 -3
  77. package/node_modules/@corellium/corellium-api/package.json +0 -106
  78. package/node_modules/@corellium/corellium-api/resumable.js +0 -1312
  79. package/node_modules/@corellium/corellium-api/src/agent.js +0 -962
  80. package/node_modules/@corellium/corellium-api/src/corellium.js +0 -444
  81. package/node_modules/@corellium/corellium-api/src/images.js +0 -131
  82. package/node_modules/@corellium/corellium-api/src/input.js +0 -178
  83. package/node_modules/@corellium/corellium-api/src/instance-updater.js +0 -56
  84. package/node_modules/@corellium/corellium-api/src/instance.js +0 -1031
  85. package/node_modules/@corellium/corellium-api/src/netmon.js +0 -308
  86. package/node_modules/@corellium/corellium-api/src/project.js +0 -393
  87. package/node_modules/@corellium/corellium-api/src/role.js +0 -65
  88. package/node_modules/@corellium/corellium-api/src/snapshot.js +0 -77
  89. package/node_modules/@corellium/corellium-api/src/team.js +0 -29
  90. package/node_modules/@corellium/corellium-api/src/user.js +0 -51
  91. package/node_modules/@corellium/corellium-api/src/util/fetch.js +0 -62
  92. package/node_modules/@corellium/corellium-api/src/util/sleep.js +0 -7
  93. package/node_modules/@corellium/corellium-api/test/integration-tests.js +0 -1292
  94. package/node_modules/@corellium/corellium-api/test/root-hook-set-flag-if-test-failed.js +0 -7
  95. package/node_modules/async-limiter/.eslintignore +0 -2
  96. package/node_modules/async-limiter/.nycrc +0 -10
  97. package/node_modules/async-limiter/.travis.yml +0 -9
  98. package/node_modules/async-limiter/LICENSE +0 -8
  99. package/node_modules/async-limiter/index.js +0 -67
  100. package/node_modules/async-limiter/package.json +0 -72
  101. package/node_modules/async-limiter/readme.md +0 -132
  102. package/node_modules/buffer-crc32/LICENSE +0 -19
  103. package/node_modules/buffer-crc32/README.md +0 -47
  104. package/node_modules/buffer-crc32/index.js +0 -111
  105. package/node_modules/buffer-crc32/package.json +0 -72
  106. package/node_modules/cross-fetch/LICENSE +0 -21
  107. package/node_modules/cross-fetch/README.md +0 -169
  108. package/node_modules/cross-fetch/dist/browser-polyfill.js +0 -532
  109. package/node_modules/cross-fetch/dist/browser-ponyfill.js +0 -554
  110. package/node_modules/cross-fetch/dist/cross-fetch.js +0 -2
  111. package/node_modules/cross-fetch/dist/cross-fetch.js.map +0 -1
  112. package/node_modules/cross-fetch/dist/node-polyfill.js +0 -11
  113. package/node_modules/cross-fetch/dist/node-ponyfill.js +0 -22
  114. package/node_modules/cross-fetch/dist/react-native-polyfill.js +0 -12
  115. package/node_modules/cross-fetch/dist/react-native-ponyfill.js +0 -6
  116. package/node_modules/cross-fetch/index.d.ts +0 -14
  117. package/node_modules/cross-fetch/package.json +0 -160
  118. package/node_modules/cross-fetch/polyfill/package.json +0 -8
  119. package/node_modules/duplexify/.travis.yml +0 -6
  120. package/node_modules/duplexify/LICENSE +0 -21
  121. package/node_modules/duplexify/README.md +0 -97
  122. package/node_modules/duplexify/example.js +0 -21
  123. package/node_modules/duplexify/index.js +0 -234
  124. package/node_modules/duplexify/package.json +0 -69
  125. package/node_modules/duplexify/test.js +0 -295
  126. package/node_modules/end-of-stream/LICENSE +0 -21
  127. package/node_modules/end-of-stream/README.md +0 -54
  128. package/node_modules/end-of-stream/index.js +0 -94
  129. package/node_modules/end-of-stream/package.json +0 -69
  130. package/node_modules/fast-stable-stringify/.npmignore +0 -4
  131. package/node_modules/fast-stable-stringify/.travis.yml +0 -10
  132. package/node_modules/fast-stable-stringify/LICENSE +0 -21
  133. package/node_modules/fast-stable-stringify/README.md +0 -81
  134. package/node_modules/fast-stable-stringify/cli/files-to-comparison-results.js +0 -67
  135. package/node_modules/fast-stable-stringify/cli/format-table.js +0 -70
  136. package/node_modules/fast-stable-stringify/cli/index.js +0 -19
  137. package/node_modules/fast-stable-stringify/fixtures/index.js +0 -5
  138. package/node_modules/fast-stable-stringify/fixtures/input-data-types.js +0 -191
  139. package/node_modules/fast-stable-stringify/fixtures/log-result.json +0 -22
  140. package/node_modules/fast-stable-stringify/fixtures/log.txt +0 -24
  141. package/node_modules/fast-stable-stringify/index.js +0 -73
  142. package/node_modules/fast-stable-stringify/karma.conf.js +0 -124
  143. package/node_modules/fast-stable-stringify/karma.conf.travis.js +0 -95
  144. package/node_modules/fast-stable-stringify/package.json +0 -77
  145. package/node_modules/fast-stable-stringify/results/escape-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  146. package/node_modules/fast-stable-stringify/results/escape-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  147. package/node_modules/fast-stable-stringify/results/escape-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  148. package/node_modules/fast-stable-stringify/results/escape-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  149. package/node_modules/fast-stable-stringify/results/escape-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  150. package/node_modules/fast-stable-stringify/results/escape-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  151. package/node_modules/fast-stable-stringify/results/escape-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  152. package/node_modules/fast-stable-stringify/results/escape-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  153. package/node_modules/fast-stable-stringify/results/escape-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  154. package/node_modules/fast-stable-stringify/results/escape-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -57
  155. package/node_modules/fast-stable-stringify/results/escape-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -57
  156. package/node_modules/fast-stable-stringify/results/escape-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -57
  157. package/node_modules/fast-stable-stringify/results/escape-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -57
  158. package/node_modules/fast-stable-stringify/results/escape-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -57
  159. package/node_modules/fast-stable-stringify/results/escape-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -57
  160. package/node_modules/fast-stable-stringify/results/escape-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -57
  161. package/node_modules/fast-stable-stringify/results/escape-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -57
  162. package/node_modules/fast-stable-stringify/results/escape-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -57
  163. package/node_modules/fast-stable-stringify/results/escape.md +0 -20
  164. package/node_modules/fast-stable-stringify/results/itar-long/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  165. package/node_modules/fast-stable-stringify/results/itar-long/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  166. package/node_modules/fast-stable-stringify/results/itar-long/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  167. package/node_modules/fast-stable-stringify/results/itar-long/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  168. package/node_modules/fast-stable-stringify/results/itar-long/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  169. package/node_modules/fast-stable-stringify/results/itar-long/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  170. package/node_modules/fast-stable-stringify/results/itar-long/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  171. package/node_modules/fast-stable-stringify/results/itar-long/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  172. package/node_modules/fast-stable-stringify/results/itar-long/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  173. package/node_modules/fast-stable-stringify/results/itar-short/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  174. package/node_modules/fast-stable-stringify/results/itar-short/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  175. package/node_modules/fast-stable-stringify/results/itar-short/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  176. package/node_modules/fast-stable-stringify/results/itar-short/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  177. package/node_modules/fast-stable-stringify/results/itar-short/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  178. package/node_modules/fast-stable-stringify/results/itar-short/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  179. package/node_modules/fast-stable-stringify/results/itar-short/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  180. package/node_modules/fast-stable-stringify/results/itar-short/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  181. package/node_modules/fast-stable-stringify/results/itar-short/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  182. package/node_modules/fast-stable-stringify/results/itar.md +0 -20
  183. package/node_modules/fast-stable-stringify/results/iter/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -35
  184. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 39.0.0 (Android 5.1.1).json +0 -35
  185. package/node_modules/fast-stable-stringify/results/iter/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -35
  186. package/node_modules/fast-stable-stringify/results/iter/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -35
  187. package/node_modules/fast-stable-stringify/results/iter/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -35
  188. package/node_modules/fast-stable-stringify/results/iter/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  189. package/node_modules/fast-stable-stringify/results/iter/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  190. package/node_modules/fast-stable-stringify/results/iter/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  191. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -35
  192. package/node_modules/fast-stable-stringify/results/iter/Mobile Safari 9.0.0 (iOS 9.2.0).json +0 -35
  193. package/node_modules/fast-stable-stringify/results/iter/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -35
  194. package/node_modules/fast-stable-stringify/results/iter/Safari 9.1.2 (Mac OS X 10.11.6).json +0 -35
  195. package/node_modules/fast-stable-stringify/results/iter.md +0 -14
  196. package/node_modules/fast-stable-stringify/results/libs/Chrome 60.0.3112 (Windows 7 0.0.0).json +0 -46
  197. package/node_modules/fast-stable-stringify/results/libs/Chrome Mobile 55.0.2883 (Android 6.0.0).json +0 -46
  198. package/node_modules/fast-stable-stringify/results/libs/Edge 14.14393.0 (Windows 10 0.0.0).json +0 -46
  199. package/node_modules/fast-stable-stringify/results/libs/Firefox 54.0.0 (Windows 7 0.0.0).json +0 -46
  200. package/node_modules/fast-stable-stringify/results/libs/IE 10.0.0 (Windows 7 0.0.0).json +0 -35
  201. package/node_modules/fast-stable-stringify/results/libs/IE 11.0.0 (Windows 7 0.0.0).json +0 -35
  202. package/node_modules/fast-stable-stringify/results/libs/IE 9.0.0 (Windows 7 0.0.0).json +0 -35
  203. package/node_modules/fast-stable-stringify/results/libs/Mobile Safari 10.0.0 (iOS 10.3.0).json +0 -46
  204. package/node_modules/fast-stable-stringify/results/libs/Safari 10.0.1 (Mac OS X 10.12.1).json +0 -46
  205. package/node_modules/fast-stable-stringify/results/libs.md +0 -15
  206. package/node_modules/fast-stable-stringify/test/escape-long.js +0 -147
  207. package/node_modules/fast-stable-stringify/test/escape-short.js +0 -147
  208. package/node_modules/fast-stable-stringify/test/index.js +0 -6
  209. package/node_modules/fast-stable-stringify/test/itar-long.js +0 -52
  210. package/node_modules/fast-stable-stringify/test/itar-short.js +0 -52
  211. package/node_modules/fast-stable-stringify/test/iter.js +0 -84
  212. package/node_modules/fast-stable-stringify/test/libs.js +0 -57
  213. package/node_modules/fast-stable-stringify/test/travis.js +0 -43
  214. package/node_modules/fast-stable-stringify/test/validate.js +0 -24
  215. package/node_modules/fast-stable-stringify/util/eachRecursive.js +0 -9
  216. package/node_modules/fast-stable-stringify/util/get-git-hash-sync.js +0 -21
  217. package/node_modules/fast-stable-stringify/util/get-lib-info.js +0 -22
  218. package/node_modules/fast-stable-stringify/util/object-path.js +0 -47
  219. package/node_modules/fast-stable-stringify/v8-profile/bench.js +0 -8
  220. package/node_modules/fast-stable-stringify/v8-profile/run.sh +0 -2
  221. package/node_modules/fast-stable-stringify/zuul-local.sh +0 -2
  222. package/node_modules/hkdf/.npmignore +0 -2
  223. package/node_modules/hkdf/README.md +0 -23
  224. package/node_modules/hkdf/hkdf.py +0 -171
  225. package/node_modules/hkdf/hkdf.pyc +0 -0
  226. package/node_modules/hkdf/index.js +0 -1
  227. package/node_modules/hkdf/lib/hkdf.js +0 -55
  228. package/node_modules/hkdf/package.json +0 -55
  229. package/node_modules/hkdf/scripts/run_all_tests.sh +0 -19
  230. package/node_modules/hkdf/test/all-test.js +0 -79
  231. package/node_modules/hkdf/test.py +0 -11
  232. package/node_modules/immediate/LICENSE.txt +0 -20
  233. package/node_modules/immediate/README.md +0 -93
  234. package/node_modules/immediate/dist/immediate.js +0 -75
  235. package/node_modules/immediate/dist/immediate.min.js +0 -1
  236. package/node_modules/immediate/lib/browser.js +0 -69
  237. package/node_modules/immediate/lib/index.js +0 -73
  238. package/node_modules/immediate/package.json +0 -86
  239. package/node_modules/isarray/.npmignore +0 -1
  240. package/node_modules/isarray/.travis.yml +0 -4
  241. package/node_modules/isarray/Makefile +0 -6
  242. package/node_modules/isarray/README.md +0 -60
  243. package/node_modules/isarray/component.json +0 -19
  244. package/node_modules/isarray/index.js +0 -5
  245. package/node_modules/isarray/package.json +0 -77
  246. package/node_modules/isarray/test.js +0 -20
  247. package/node_modules/jszip/.codeclimate.yml +0 -16
  248. package/node_modules/jszip/.editorconfig +0 -8
  249. package/node_modules/jszip/.github/workflows/pr.yaml +0 -41
  250. package/node_modules/jszip/.jshintignore +0 -1
  251. package/node_modules/jszip/.jshintrc +0 -21
  252. package/node_modules/jszip/.travis.yml +0 -17
  253. package/node_modules/jszip/CHANGES.md +0 -192
  254. package/node_modules/jszip/LICENSE.markdown +0 -651
  255. package/node_modules/jszip/README.markdown +0 -33
  256. package/node_modules/jszip/dist/jszip.js +0 -11583
  257. package/node_modules/jszip/dist/jszip.min.js +0 -13
  258. package/node_modules/jszip/index.d.ts +0 -335
  259. package/node_modules/jszip/lib/base64.js +0 -106
  260. package/node_modules/jszip/lib/compressedObject.js +0 -74
  261. package/node_modules/jszip/lib/compressions.js +0 -14
  262. package/node_modules/jszip/lib/crc32.js +0 -77
  263. package/node_modules/jszip/lib/defaults.js +0 -11
  264. package/node_modules/jszip/lib/external.js +0 -19
  265. package/node_modules/jszip/lib/flate.js +0 -85
  266. package/node_modules/jszip/lib/generate/ZipFileWorker.js +0 -540
  267. package/node_modules/jszip/lib/generate/index.js +0 -57
  268. package/node_modules/jszip/lib/index.js +0 -55
  269. package/node_modules/jszip/lib/license_header.js +0 -11
  270. package/node_modules/jszip/lib/load.js +0 -88
  271. package/node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js +0 -74
  272. package/node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js +0 -42
  273. package/node_modules/jszip/lib/nodejsUtils.js +0 -57
  274. package/node_modules/jszip/lib/object.js +0 -389
  275. package/node_modules/jszip/lib/readable-stream-browser.js +0 -9
  276. package/node_modules/jszip/lib/reader/ArrayReader.js +0 -57
  277. package/node_modules/jszip/lib/reader/DataReader.js +0 -116
  278. package/node_modules/jszip/lib/reader/NodeBufferReader.js +0 -19
  279. package/node_modules/jszip/lib/reader/StringReader.js +0 -38
  280. package/node_modules/jszip/lib/reader/Uint8ArrayReader.js +0 -22
  281. package/node_modules/jszip/lib/reader/readerFor.js +0 -28
  282. package/node_modules/jszip/lib/signature.js +0 -7
  283. package/node_modules/jszip/lib/stream/ConvertWorker.js +0 -26
  284. package/node_modules/jszip/lib/stream/Crc32Probe.js +0 -24
  285. package/node_modules/jszip/lib/stream/DataLengthProbe.js +0 -29
  286. package/node_modules/jszip/lib/stream/DataWorker.js +0 -116
  287. package/node_modules/jszip/lib/stream/GenericWorker.js +0 -263
  288. package/node_modules/jszip/lib/stream/StreamHelper.js +0 -212
  289. package/node_modules/jszip/lib/support.js +0 -38
  290. package/node_modules/jszip/lib/utf8.js +0 -275
  291. package/node_modules/jszip/lib/utils.js +0 -501
  292. package/node_modules/jszip/lib/zipEntries.js +0 -262
  293. package/node_modules/jszip/lib/zipEntry.js +0 -294
  294. package/node_modules/jszip/lib/zipObject.js +0 -133
  295. package/node_modules/jszip/package.json +0 -99
  296. package/node_modules/jszip/tsconfig.json +0 -101
  297. package/node_modules/jszip/vendor/FileSaver.js +0 -247
  298. package/node_modules/lie/README.md +0 -62
  299. package/node_modules/lie/dist/lie.js +0 -350
  300. package/node_modules/lie/dist/lie.min.js +0 -1
  301. package/node_modules/lie/dist/lie.polyfill.js +0 -358
  302. package/node_modules/lie/dist/lie.polyfill.min.js +0 -1
  303. package/node_modules/lie/lib/browser.js +0 -273
  304. package/node_modules/lie/lib/index.js +0 -298
  305. package/node_modules/lie/license.md +0 -7
  306. package/node_modules/lie/lie.d.ts +0 -244
  307. package/node_modules/lie/package.json +0 -98
  308. package/node_modules/lie/polyfill.js +0 -4
  309. package/node_modules/p-finally/index.js +0 -15
  310. package/node_modules/p-finally/license +0 -21
  311. package/node_modules/p-finally/package.json +0 -77
  312. package/node_modules/p-finally/readme.md +0 -47
  313. package/node_modules/p-retry/index.js +0 -52
  314. package/node_modules/p-retry/license +0 -9
  315. package/node_modules/p-retry/package.json +0 -83
  316. package/node_modules/p-retry/readme.md +0 -109
  317. package/node_modules/p-timeout/index.d.ts +0 -72
  318. package/node_modules/p-timeout/index.js +0 -57
  319. package/node_modules/p-timeout/license +0 -9
  320. package/node_modules/p-timeout/package.json +0 -80
  321. package/node_modules/p-timeout/readme.md +0 -87
  322. package/node_modules/pako/CHANGELOG.md +0 -164
  323. package/node_modules/pako/LICENSE +0 -21
  324. package/node_modules/pako/README.md +0 -191
  325. package/node_modules/pako/dist/pako.js +0 -6818
  326. package/node_modules/pako/dist/pako.min.js +0 -1
  327. package/node_modules/pako/dist/pako_deflate.js +0 -3997
  328. package/node_modules/pako/dist/pako_deflate.min.js +0 -1
  329. package/node_modules/pako/dist/pako_inflate.js +0 -3300
  330. package/node_modules/pako/dist/pako_inflate.min.js +0 -1
  331. package/node_modules/pako/index.js +0 -14
  332. package/node_modules/pako/lib/deflate.js +0 -400
  333. package/node_modules/pako/lib/inflate.js +0 -423
  334. package/node_modules/pako/lib/utils/common.js +0 -105
  335. package/node_modules/pako/lib/utils/strings.js +0 -187
  336. package/node_modules/pako/lib/zlib/README +0 -59
  337. package/node_modules/pako/lib/zlib/adler32.js +0 -51
  338. package/node_modules/pako/lib/zlib/constants.js +0 -68
  339. package/node_modules/pako/lib/zlib/crc32.js +0 -59
  340. package/node_modules/pako/lib/zlib/deflate.js +0 -1874
  341. package/node_modules/pako/lib/zlib/gzheader.js +0 -58
  342. package/node_modules/pako/lib/zlib/inffast.js +0 -345
  343. package/node_modules/pako/lib/zlib/inflate.js +0 -1556
  344. package/node_modules/pako/lib/zlib/inftrees.js +0 -343
  345. package/node_modules/pako/lib/zlib/messages.js +0 -32
  346. package/node_modules/pako/lib/zlib/trees.js +0 -1222
  347. package/node_modules/pako/lib/zlib/zstream.js +0 -47
  348. package/node_modules/pako/package.json +0 -94
  349. package/node_modules/process-nextick-args/index.js +0 -45
  350. package/node_modules/process-nextick-args/license.md +0 -19
  351. package/node_modules/process-nextick-args/package.json +0 -53
  352. package/node_modules/process-nextick-args/readme.md +0 -18
  353. package/node_modules/readable-stream/.travis.yml +0 -34
  354. package/node_modules/readable-stream/CONTRIBUTING.md +0 -38
  355. package/node_modules/readable-stream/GOVERNANCE.md +0 -136
  356. package/node_modules/readable-stream/LICENSE +0 -47
  357. package/node_modules/readable-stream/README.md +0 -58
  358. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  359. package/node_modules/readable-stream/duplex-browser.js +0 -1
  360. package/node_modules/readable-stream/duplex.js +0 -1
  361. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -131
  362. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -47
  363. package/node_modules/readable-stream/lib/_stream_readable.js +0 -1019
  364. package/node_modules/readable-stream/lib/_stream_transform.js +0 -214
  365. package/node_modules/readable-stream/lib/_stream_writable.js +0 -687
  366. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -79
  367. package/node_modules/readable-stream/lib/internal/streams/destroy.js +0 -74
  368. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +0 -1
  369. package/node_modules/readable-stream/lib/internal/streams/stream.js +0 -1
  370. package/node_modules/readable-stream/package.json +0 -86
  371. package/node_modules/readable-stream/passthrough.js +0 -1
  372. package/node_modules/readable-stream/readable-browser.js +0 -7
  373. package/node_modules/readable-stream/readable.js +0 -19
  374. package/node_modules/readable-stream/transform.js +0 -1
  375. package/node_modules/readable-stream/writable-browser.js +0 -1
  376. package/node_modules/readable-stream/writable.js +0 -8
  377. package/node_modules/retry/.npmignore +0 -3
  378. package/node_modules/retry/.travis.yml +0 -15
  379. package/node_modules/retry/License +0 -21
  380. package/node_modules/retry/Makefile +0 -18
  381. package/node_modules/retry/README.md +0 -227
  382. package/node_modules/retry/equation.gif +0 -0
  383. package/node_modules/retry/example/dns.js +0 -31
  384. package/node_modules/retry/example/stop.js +0 -40
  385. package/node_modules/retry/index.js +0 -1
  386. package/node_modules/retry/lib/retry.js +0 -100
  387. package/node_modules/retry/lib/retry_operation.js +0 -158
  388. package/node_modules/retry/package.json +0 -67
  389. package/node_modules/retry/test/common.js +0 -10
  390. package/node_modules/retry/test/integration/test-forever.js +0 -24
  391. package/node_modules/retry/test/integration/test-retry-operation.js +0 -258
  392. package/node_modules/retry/test/integration/test-retry-wrap.js +0 -101
  393. package/node_modules/retry/test/integration/test-timeouts.js +0 -69
  394. package/node_modules/setimmediate/LICENSE.txt +0 -20
  395. package/node_modules/setimmediate/package.json +0 -77
  396. package/node_modules/setimmediate/setImmediate.js +0 -186
  397. package/node_modules/split/.npmignore +0 -3
  398. package/node_modules/split/.travis.yml +0 -3
  399. package/node_modules/split/LICENCE +0 -22
  400. package/node_modules/split/examples/pretty.js +0 -26
  401. package/node_modules/split/index.js +0 -63
  402. package/node_modules/split/package.json +0 -65
  403. package/node_modules/split/readme.markdown +0 -72
  404. package/node_modules/split/test/options.asynct.js +0 -46
  405. package/node_modules/split/test/partitioned_unicode.js +0 -34
  406. package/node_modules/split/test/split.asynct.js +0 -137
  407. package/node_modules/split/test/try_catch.asynct.js +0 -51
  408. package/node_modules/stream-shift/.travis.yml +0 -6
  409. package/node_modules/stream-shift/LICENSE +0 -21
  410. package/node_modules/stream-shift/README.md +0 -25
  411. package/node_modules/stream-shift/index.js +0 -20
  412. package/node_modules/stream-shift/package.json +0 -56
  413. package/node_modules/stream-shift/test.js +0 -48
  414. package/node_modules/ultron/LICENSE +0 -22
  415. package/node_modules/ultron/README.md +0 -113
  416. package/node_modules/ultron/index.js +0 -136
  417. package/node_modules/ultron/package.json +0 -71
  418. package/node_modules/websocket-stream/LICENSE +0 -8
  419. package/node_modules/websocket-stream/collaborators.md +0 -11
  420. package/node_modules/websocket-stream/echo-server.js +0 -51
  421. package/node_modules/websocket-stream/index.d.ts +0 -27
  422. package/node_modules/websocket-stream/index.js +0 -6
  423. package/node_modules/websocket-stream/package.json +0 -82
  424. package/node_modules/websocket-stream/readme.md +0 -148
  425. package/node_modules/websocket-stream/server.js +0 -29
  426. package/node_modules/websocket-stream/stream.js +0 -189
  427. package/node_modules/websocket-stream/test-client.js +0 -74
  428. package/node_modules/websocket-stream/test-server.js +0 -56
  429. package/node_modules/websocket-stream/test.js +0 -338
  430. package/node_modules/websocket-stream/ts-tests.ts +0 -69
  431. package/node_modules/websocket-stream/ws-fallback.js +0 -12
  432. package/node_modules/ws/LICENSE +0 -21
  433. package/node_modules/ws/README.md +0 -341
  434. package/node_modules/ws/index.js +0 -15
  435. package/node_modules/ws/lib/.DS_Store +0 -0
  436. package/node_modules/ws/lib/BufferUtil.js +0 -71
  437. package/node_modules/ws/lib/Constants.js +0 -10
  438. package/node_modules/ws/lib/ErrorCodes.js +0 -28
  439. package/node_modules/ws/lib/EventTarget.js +0 -151
  440. package/node_modules/ws/lib/Extensions.js +0 -203
  441. package/node_modules/ws/lib/PerMessageDeflate.js +0 -507
  442. package/node_modules/ws/lib/Receiver.js +0 -553
  443. package/node_modules/ws/lib/Sender.js +0 -412
  444. package/node_modules/ws/lib/Validation.js +0 -17
  445. package/node_modules/ws/lib/WebSocket.js +0 -717
  446. package/node_modules/ws/lib/WebSocketServer.js +0 -326
  447. package/node_modules/ws/package.json +0 -83
  448. package/node_modules/xhr2/CONTRIBUTING.md +0 -33
  449. package/node_modules/xhr2/Cakefile +0 -131
  450. package/node_modules/xhr2/LICENSE.txt +0 -19
  451. package/node_modules/xhr2/README.md +0 -142
  452. package/node_modules/xhr2/lib/browser.js +0 -1
  453. package/node_modules/xhr2/lib/xhr2.js +0 -1244
  454. package/node_modules/xhr2/package.json +0 -103
  455. package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
  456. package/node_modules/xhr2/src/001-xml_http_request.coffee +0 -781
  457. package/node_modules/xhr2/src/errors.coffee +0 -31
  458. package/node_modules/xhr2/src/progress_event.coffee +0 -39
  459. package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
  460. package/node_modules/xhr2/test/fixtures/hello.json +0 -1
  461. package/node_modules/xhr2/test/fixtures/hello.txt +0 -1
  462. package/node_modules/xhr2/test/fixtures/xhr2.png +0 -0
  463. package/node_modules/xhr2/test/html/browser_test.html +0 -30
  464. package/node_modules/xhr2/test/src/event_target_test.coffee +0 -85
  465. package/node_modules/xhr2/test/src/events_test.coffee +0 -204
  466. package/node_modules/xhr2/test/src/headers_test.coffee +0 -168
  467. package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
  468. package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +0 -1
  469. package/node_modules/xhr2/test/src/helpers/setup.coffee +0 -38
  470. package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +0 -156
  471. package/node_modules/xhr2/test/src/nodejs_set_test.coffee +0 -162
  472. package/node_modules/xhr2/test/src/redirect_test.coffee +0 -57
  473. package/node_modules/xhr2/test/src/response_type_test.coffee +0 -88
  474. package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
  475. package/node_modules/xhr2/test/src/send_test.coffee +0 -89
  476. package/node_modules/xhr2/test/src/status_test.coffee +0 -47
  477. package/node_modules/xhr2/test/src/xhr_test.coffee +0 -102
  478. package/node_modules/xtend/.jshintrc +0 -30
  479. package/node_modules/xtend/LICENSE +0 -20
  480. package/node_modules/xtend/README.md +0 -32
  481. package/node_modules/xtend/immutable.js +0 -19
  482. package/node_modules/xtend/mutable.js +0 -17
  483. package/node_modules/xtend/package.json +0 -89
  484. package/node_modules/xtend/test.js +0 -103
  485. package/node_modules/yazl/LICENSE +0 -21
  486. package/node_modules/yazl/README.md +0 -389
  487. package/node_modules/yazl/index.js +0 -749
  488. package/node_modules/yazl/package.json +0 -69
  489. package/src/commands/CorelliumAPI.js +0 -76
  490. package/src/subscriberInvite.js +0 -140
@@ -1,781 +0,0 @@
1
- # This file's name is set up in such a way that it will always show up second
2
- # in the list of files given to coffee --join, so it can use the
3
- # XMLHttpRequestEventTarget definition and so that the other files can assume
4
- # that XMLHttpRequest was already defined.
5
-
6
- http = require 'http'
7
- https = require 'https'
8
- os = require 'os'
9
- url = require 'url'
10
-
11
- # The ECMAScript HTTP API.
12
- #
13
- # @see http://www.w3.org/TR/XMLHttpRequest/#introduction
14
- class XMLHttpRequest extends XMLHttpRequestEventTarget
15
- # Creates a new request.
16
- #
17
- # @param {Object} options one or more of the options below
18
- # @option options {Boolean} anon if true, the request's anonymous flag
19
- # will be set
20
- # @see http://www.w3.org/TR/XMLHttpRequest/#constructors
21
- # @see http://www.w3.org/TR/XMLHttpRequest/#anonymous-flag
22
- constructor: (options) ->
23
- super()
24
- @onreadystatechange = null
25
-
26
- @_anonymous = options and options.anon
27
-
28
- @readyState = XMLHttpRequest.UNSENT
29
- @response = null
30
- @responseText = ''
31
- @responseType = ''
32
- @responseURL = ''
33
- @status = 0
34
- @statusText = ''
35
- @timeout = 0
36
- @upload = new XMLHttpRequestUpload @
37
-
38
- @_method = null # String
39
- @_url = null # Return value of url.parse()
40
- @_sync = false
41
- @_headers = null # Object<String, String>
42
- @_loweredHeaders = null # Object<lowercase String, String>
43
- @_mimeOverride = null
44
- @_request = null # http.ClientRequest
45
- @_response = null # http.ClientResponse
46
- @_responseParts = null # Array<Buffer, String>
47
- @_responseHeaders = null # Object<lowercase String, String>
48
- @_aborting = null
49
- @_error = null
50
- @_loadedBytes = 0
51
- @_totalBytes = 0
52
- @_lengthComputable = false
53
-
54
- # @property {function(ProgressEvent)} DOM level 0-style handler for the
55
- # 'readystatechange' event
56
- onreadystatechange: null
57
-
58
- # @property {Number} the current state of the XHR object
59
- # @see http://www.w3.org/TR/XMLHttpRequest/#states
60
- readyState: null
61
-
62
- # @property {String, ArrayBuffer, Buffer, Object} processed XHR response
63
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-response-attribute
64
- response: null
65
-
66
- # @property {String} response string, if responseType is '' or 'text'
67
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-responsetext-attribute
68
- responseText: null
69
-
70
- # @property {String} sets the parsing method for the XHR response
71
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-responsetype-attribute
72
- responseType: null
73
-
74
- # @property {Number} the HTTP
75
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-status-attribute
76
- status: null
77
-
78
- # @property {Number} milliseconds to wait for the request to complete
79
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-timeout-attribute
80
- timeout: null
81
-
82
- # @property {XMLHttpRequestUpload} the associated upload information
83
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-upload-attribute
84
- upload: null
85
-
86
- # Sets the XHR's method, URL, synchronous flag, and authentication params.
87
- #
88
- # @param {String} method the HTTP method to be used
89
- # @param {String} url the URL that the request will be made to
90
- # @param {?Boolean} async if false, the XHR should be processed
91
- # synchronously; true by default
92
- # @param {?String} user the user credential to be used in HTTP basic
93
- # authentication
94
- # @param {?String} password the password credential to be used in HTTP basic
95
- # authentication
96
- # @return {undefined} undefined
97
- # @throw {SecurityError} method is not one of the allowed methods
98
- # @throw {SyntaxError} urlString is not a valid URL
99
- # @throw {Error} the URL contains an unsupported protocol; the supported
100
- # protocols are file, http and https
101
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-open()-method
102
- open: (method, url, async, user, password) ->
103
- method = method.toUpperCase()
104
- if method of @_restrictedMethods
105
- throw new SecurityError "HTTP method #{method} is not allowed in XHR"
106
-
107
- xhrUrl = @_parseUrl url
108
- async = true if async is undefined
109
-
110
- switch @readyState
111
- when XMLHttpRequest.UNSENT, XMLHttpRequest.OPENED, XMLHttpRequest.DONE
112
- # Nothing to do here.
113
- null
114
- when XMLHttpRequest.HEADERS_RECEIVED, XMLHttpRequest.LOADING
115
- # TODO(pwnall): terminate abort(), terminate send()
116
- null
117
-
118
- @_method = method
119
- @_url = xhrUrl
120
- @_sync = !async
121
- @_headers = {}
122
- @_loweredHeaders = {}
123
- @_mimeOverride = null
124
- @_setReadyState XMLHttpRequest.OPENED
125
- @_request = null
126
- @_response = null
127
- @status = 0
128
- @statusText = ''
129
- @_responseParts = []
130
- @_responseHeaders = null
131
- @_loadedBytes = 0
132
- @_totalBytes = 0
133
- @_lengthComputable = false
134
- undefined
135
-
136
- # Appends a header to the list of author request headers.
137
- #
138
- # @param {String} name the HTTP header name
139
- # @param {String} value the HTTP header value
140
- # @return {undefined} undefined
141
- # @throw {InvalidStateError} readyState is not OPENED
142
- # @throw {SyntaxError} name is not a valid HTTP header name or value is not
143
- # a valid HTTP header value
144
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method
145
- setRequestHeader: (name, value) ->
146
- unless @readyState is XMLHttpRequest.OPENED
147
- throw new InvalidStateError "XHR readyState must be OPENED"
148
-
149
- loweredName = name.toLowerCase()
150
- if @_restrictedHeaders[loweredName] or /^sec\-/.test(loweredName) or
151
- /^proxy-/.test(loweredName)
152
- console.warn "Refused to set unsafe header \"#{name}\""
153
- return undefined
154
-
155
- value = value.toString()
156
- if loweredName of @_loweredHeaders
157
- # Combine value with the existing header value.
158
- name = @_loweredHeaders[loweredName]
159
- @_headers[name] = @_headers[name] + ', ' + value
160
- else
161
- # New header.
162
- @_loweredHeaders[loweredName] = name
163
- @_headers[name] = value
164
-
165
- undefined
166
-
167
- # Initiates the request.
168
- #
169
- # @param {?String, ?ArrayBufferView} data the data to be sent; ignored for
170
- # GET and HEAD requests
171
- # @return {undefined} undefined
172
- # @throw {InvalidStateError} readyState is not OPENED
173
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-send()-method
174
- send: (data) ->
175
- unless @readyState is XMLHttpRequest.OPENED
176
- throw new InvalidStateError "XHR readyState must be OPENED"
177
-
178
- if @_request
179
- throw new InvalidStateError "send() already called"
180
-
181
- switch @_url.protocol
182
- when 'file:'
183
- @_sendFile data
184
- when 'http:', 'https:'
185
- @_sendHttp data
186
- else
187
- throw new NetworkError "Unsupported protocol #{@_url.protocol}"
188
-
189
- undefined
190
-
191
- # Cancels the network activity performed by this request.
192
- #
193
- # @return {undefined} undefined
194
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-abort()-method
195
- abort: ->
196
- return unless @_request
197
-
198
- @_request.abort()
199
- @_setError()
200
- @_dispatchProgress 'abort'
201
- @_dispatchProgress 'loadend'
202
- undefined
203
-
204
- # Returns a header value in the HTTP response for this XHR.
205
- #
206
- # @param {String} name case-insensitive HTTP header name
207
- # @return {?String} value the value of the header whose name matches the
208
- # given name, or null if there is no such header
209
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method
210
- getResponseHeader: (name) ->
211
- return null unless @_responseHeaders
212
-
213
- loweredName = name.toLowerCase()
214
- if loweredName of @_responseHeaders
215
- @_responseHeaders[loweredName]
216
- else
217
- null
218
-
219
- # Returns all the HTTP headers in this XHR's response.
220
- #
221
- # @return {String} header lines separated by CR LF, where each header line
222
- # has the name and value separated by a ": " (colon, space); the empty
223
- # string is returned if the headers are not available
224
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method
225
- getAllResponseHeaders: ->
226
- return '' unless @_responseHeaders
227
-
228
- lines = ("#{name}: #{value}" for name, value of @_responseHeaders)
229
- lines.join "\r\n"
230
-
231
- # Overrides the Content-Type
232
- #
233
- # @return {undefined} undefined
234
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-overridemimetype()-method
235
- overrideMimeType: (newMimeType) ->
236
- if @readyState is XMLHttpRequest.LOADING or
237
- @readyState is XMLHttpRequest.DONE
238
- throw new InvalidStateError(
239
- "overrideMimeType() not allowed in LOADING or DONE")
240
-
241
- @_mimeOverride = newMimeType.toLowerCase()
242
- undefined
243
-
244
- # Network configuration not exposed in the XHR API.
245
- #
246
- # Although the XMLHttpRequest specification calls itself "ECMAScript HTTP",
247
- # it assumes that requests are always performed in the context of a browser
248
- # application, where some network parameters are set by the browser user and
249
- # should not be modified by Web applications. This API provides access to
250
- # these network parameters.
251
- #
252
- # NOTE: this is not in the XMLHttpRequest API, and will not work in
253
- # browsers. It is a stable node-xhr2 API.
254
- #
255
- # @param {Object} options one or more of the options below
256
- # @option options {?http.Agent} httpAgent the value for the nodejsHttpAgent
257
- # property (the agent used for HTTP requests)
258
- # @option options {?https.Agent} httpsAgent the value for the
259
- # nodejsHttpsAgent property (the agent used for HTTPS requests)
260
- # @return {undefined} undefined
261
- nodejsSet: (options) ->
262
- if 'httpAgent' of options
263
- @nodejsHttpAgent = options.httpAgent
264
- if 'httpsAgent' of options
265
- @nodejsHttpsAgent = options.httpsAgent
266
- if 'baseUrl' of options
267
- baseUrl = options.baseUrl
268
- unless baseUrl is null
269
- parsedUrl = url.parse baseUrl, false, true
270
- unless parsedUrl.protocol
271
- throw new SyntaxError("baseUrl must be an absolute URL")
272
- @nodejsBaseUrl = baseUrl
273
-
274
- undefined
275
-
276
- # Default settings for the network configuration not exposed in the XHR API.
277
- #
278
- # NOTE: this is not in the XMLHttpRequest API, and will not work in
279
- # browsers. It is a stable node-xhr2 API.
280
- #
281
- # @param {Object} options one or more of the options below
282
- # @option options {?http.Agent} httpAgent the default value for the
283
- # nodejsHttpAgent property (the agent used for HTTP requests)
284
- # @option options {https.Agent} httpsAgent the default value for the
285
- # nodejsHttpsAgent property (the agent used for HTTPS requests)
286
- # @return {undefined} undefined
287
- # @see XMLHttpRequest.nodejsSet
288
- @nodejsSet: (options) ->
289
- # "this" will be set to XMLHttpRequest.prototype, so the instance nodejsSet
290
- # operates on default property values.
291
- XMLHttpRequest::nodejsSet options
292
-
293
- undefined
294
-
295
- # readyState value before XMLHttpRequest#open() is called
296
- UNSENT: 0
297
- # readyState value before XMLHttpRequest#open() is called
298
- @UNSENT: 0
299
-
300
- # readyState value after XMLHttpRequest#open() is called, and before
301
- # XMLHttpRequest#send() is called; XMLHttpRequest#setRequestHeader() can be
302
- # called in this state
303
- OPENED: 1
304
- # readyState value after XMLHttpRequest#open() is called, and before
305
- # XMLHttpRequest#send() is called; XMLHttpRequest#setRequestHeader() can be
306
- # called in this state
307
- @OPENED: 1
308
-
309
- # readyState value after redirects have been followed and the HTTP headers of
310
- # the final response have been received
311
- HEADERS_RECEIVED: 2
312
- # readyState value after redirects have been followed and the HTTP headers of
313
- # the final response have been received
314
- @HEADERS_RECEIVED: 2
315
-
316
- # readyState value when the response entity body is being received
317
- LOADING: 3
318
- # readyState value when the response entity body is being received
319
- @LOADING: 3
320
-
321
- # readyState value after the request has been completely processed
322
- DONE: 4
323
- # readyState value after the request has been completely processed
324
- @DONE: 4
325
-
326
- # @property {http.Agent} the agent option passed to HTTP requests
327
- #
328
- # NOTE: this is not in the XMLHttpRequest API, and will not work in browsers.
329
- # It is a stable node-xhr2 API that is useful for testing & going through
330
- # web-proxies.
331
- nodejsHttpAgent: http.globalAgent
332
-
333
- # @property {https.Agent} the agent option passed to HTTPS requests
334
- #
335
- # NOTE: this is not in the XMLHttpRequest API, and will not work in browsers.
336
- # It is a stable node-xhr2 API that is useful for testing & going through
337
- # web-proxies.
338
- nodejsHttpsAgent: https.globalAgent
339
-
340
- # @property {String} the base URL that relative URLs get resolved to
341
- #
342
- # NOTE: this is not in the XMLHttpRequest API, and will not work in browsers.
343
- # Its browser equivalent is the base URL of the document associated with the
344
- # Window object. It is a stable node-xhr2 API provided for libraries such as
345
- # Angular Universal.
346
- nodejsBaseUrl: null
347
-
348
- # HTTP methods that are disallowed in the XHR spec.
349
- #
350
- # @private
351
- # @see Step 6 in http://www.w3.org/TR/XMLHttpRequest/#the-open()-method
352
- _restrictedMethods:
353
- CONNECT: true
354
- TRACE: true
355
- TRACK: true
356
-
357
- # HTTP request headers that are disallowed in the XHR spec.
358
- #
359
- # @private
360
- # @see Step 5 in
361
- # http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader()-method
362
- _restrictedHeaders:
363
- 'accept-charset': true
364
- 'accept-encoding': true
365
- 'access-control-request-headers': true
366
- 'access-control-request-method': true
367
- connection: true
368
- 'content-length': true
369
- cookie: true
370
- cookie2: true
371
- date: true
372
- dnt: true
373
- expect: true
374
- host: true
375
- 'keep-alive': true
376
- origin: true
377
- referer: true
378
- te: true
379
- trailer: true
380
- 'transfer-encoding': true
381
- upgrade: true
382
- via: true
383
-
384
- # HTTP response headers that should not be exposed according to the XHR spec.
385
- #
386
- # @private
387
- # @see Step 3 in
388
- # http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method
389
- _privateHeaders:
390
- 'set-cookie': true
391
- 'set-cookie2': true
392
-
393
- # The default value of the User-Agent header.
394
- _userAgent: "Mozilla/5.0 (#{os.type()} #{os.arch()}) " +
395
- "node.js/#{process.versions.node} v8/#{process.versions.v8}"
396
-
397
- # Sets the readyState property and fires the readystatechange event.
398
- #
399
- # @private
400
- # @param {Number} newReadyState the new value of readyState
401
- # @return {undefined} undefined
402
- _setReadyState: (newReadyState) ->
403
- @readyState = newReadyState
404
- event = new ProgressEvent 'readystatechange'
405
- @dispatchEvent event
406
- undefined
407
-
408
- # XMLHttpRequest#send() implementation for the file: protocol.
409
- #
410
- # @private
411
- _sendFile: ->
412
- unless @_url.method is 'GET'
413
- throw new NetworkError 'The file protocol only supports GET'
414
-
415
- throw new Error "Protocol file: not implemented"
416
-
417
- # XMLHttpRequest#send() implementation for the http: and https: protocols.
418
- #
419
- # @private
420
- # This method sets the instance variables and calls _sendHxxpRequest(), which
421
- # is responsible for building a node.js request and firing it off. The code
422
- # in _sendHxxpRequest() is separated off so it can be reused when handling
423
- # redirects.
424
- #
425
- # @see http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send()-method
426
- _sendHttp: (data) ->
427
- if @_sync
428
- throw new Error "Synchronous XHR processing not implemented"
429
-
430
- if data? and (@_method is 'GET' or @_method is 'HEAD')
431
- console.warn "Discarding entity body for #{@_method} requests"
432
- data = null
433
- else
434
- # Send Content-Length: 0
435
- data or= ''
436
-
437
- # NOTE: this is called before finalizeHeaders so that the uploader can
438
- # figure out Content-Length and Content-Type.
439
- @upload._setData data
440
- @_finalizeHeaders()
441
-
442
- @_sendHxxpRequest()
443
- undefined
444
-
445
- # Sets up and fires off a HTTP/HTTPS request using the node.js API.
446
- #
447
- # @private
448
- # This method contains the bulk of the XMLHttpRequest#send() implementation,
449
- # and is also used to issue new HTTP requests when handling HTTP redirects.
450
- #
451
- # @see http://www.w3.org/TR/XMLHttpRequest/#infrastructure-for-the-send()-method
452
- _sendHxxpRequest: ->
453
- if @_url.protocol is 'http:'
454
- hxxp = http
455
- agent = @nodejsHttpAgent
456
- else
457
- hxxp = https
458
- agent = @nodejsHttpsAgent
459
-
460
- request = hxxp.request
461
- hostname: @_url.hostname, port: @_url.port, path: @_url.path,
462
- auth: @_url.auth, method: @_method, headers: @_headers, agent: agent
463
- @_request = request
464
- if @timeout
465
- request.setTimeout @timeout, => @_onHttpTimeout request
466
- request.on 'response', (response) => @_onHttpResponse request, response
467
- request.on 'error', (error) => @_onHttpRequestError request, error
468
- @upload._startUpload request
469
- if @_request is request # An http error might have already fired.
470
- @_dispatchProgress 'loadstart'
471
-
472
- undefined
473
-
474
- # Fills in the restricted HTTP headers with default values.
475
- #
476
- # This is called right before the HTTP request is sent off.
477
- #
478
- # @private
479
- # @return {undefined} undefined
480
- _finalizeHeaders: ->
481
- @_headers['Connection'] = 'keep-alive'
482
- @_headers['Host'] = @_url.host
483
- if @_anonymous
484
- @_headers['Referer'] = 'about:blank'
485
- @_headers['User-Agent'] ||= @_userAgent
486
- @upload._finalizeHeaders @_headers, @_loweredHeaders
487
- undefined
488
-
489
-
490
- # Called when the headers of an HTTP response have been received.
491
- #
492
- # @private
493
- # @param {http.ClientRequest} request the node.js ClientRequest instance that
494
- # produced this response
495
- # @param {http.ClientResponse} response the node.js ClientResponse instance
496
- # passed to
497
- _onHttpResponse: (request, response) ->
498
- return unless @_request is request
499
-
500
- # Transparent redirection handling.
501
- switch response.statusCode
502
- when 301, 302, 303, 307, 308
503
- @_url = @_parseUrl response.headers['location']
504
- @_method = 'GET'
505
- if 'content-type' of @_loweredHeaders
506
- delete @_headers[@_loweredHeaders['content-type']]
507
- delete @_loweredHeaders['content-type']
508
- # XMLHttpRequestUpload#_finalizeHeaders() sets Content-Type directly.
509
- if 'Content-Type' of @_headers
510
- delete @_headers['Content-Type']
511
- # Restricted headers can't be set by the user, no need to check
512
- # loweredHeaders.
513
- delete @_headers['Content-Length']
514
-
515
- @upload._reset()
516
- @_finalizeHeaders()
517
- @_sendHxxpRequest()
518
- return
519
-
520
- @_response = response
521
- @_response.on 'data', (data) => @_onHttpResponseData response, data
522
- @_response.on 'end', => @_onHttpResponseEnd response
523
- @_response.on 'close', => @_onHttpResponseClose response
524
-
525
- @responseURL = @_url.href.split('#')[0]
526
- @status = @_response.statusCode
527
- @statusText = http.STATUS_CODES[@status]
528
- @_parseResponseHeaders response
529
-
530
- if lengthString = @_responseHeaders['content-length']
531
- @_totalBytes = parseInt(lengthString)
532
- @_lengthComputable = true
533
- else
534
- @_lengthComputable = false
535
-
536
- @_setReadyState XMLHttpRequest.HEADERS_RECEIVED
537
-
538
- # Called when some data has been received on a HTTP connection.
539
- #
540
- # @private
541
- # @param {http.ClientResponse} response the node.js ClientResponse instance
542
- # that fired this event
543
- # @param {String, Buffer} data the data that has been received
544
- _onHttpResponseData: (response, data) ->
545
- return unless @_response is response
546
-
547
- @_responseParts.push data
548
- @_loadedBytes += data.length
549
-
550
- if @readyState isnt XMLHttpRequest.LOADING
551
- @_setReadyState XMLHttpRequest.LOADING
552
- @_dispatchProgress 'progress'
553
-
554
- # Called when the HTTP request finished processing.
555
- #
556
- # @private
557
- # @param {http.ClientResponse} response the node.js ClientResponse instance
558
- # that fired this event
559
- _onHttpResponseEnd: (response) ->
560
- return unless @_response is response
561
-
562
- @_parseResponse()
563
-
564
- @_request = null
565
- @_response = null
566
- @_setReadyState XMLHttpRequest.DONE
567
- @_dispatchProgress 'load'
568
- @_dispatchProgress 'loadend'
569
-
570
- # Called when the underlying HTTP connection was closed prematurely.
571
- #
572
- # If this method is called, it will be called after or instead of
573
- # onHttpResponseEnd.
574
- #
575
- # @private
576
- # @param {http.ClientResponse} response the node.js ClientResponse instance
577
- # that fired this event
578
- _onHttpResponseClose: (response) ->
579
- return unless @_response is response
580
-
581
- request = @_request
582
- @_setError()
583
- request.abort()
584
- @_setReadyState XMLHttpRequest.DONE
585
- @_dispatchProgress 'error'
586
- @_dispatchProgress 'loadend'
587
-
588
- # Called when the timeout set on the HTTP socket expires.
589
- #
590
- # @private
591
- # @param {http.ClientRequest} request the node.js ClientRequest instance that
592
- # fired this event
593
- _onHttpTimeout: (request) ->
594
- return unless @_request is request
595
-
596
- @_setError()
597
- request.abort()
598
- @_setReadyState XMLHttpRequest.DONE
599
- @_dispatchProgress 'timeout'
600
- @_dispatchProgress 'loadend'
601
-
602
- # Called when something wrong happens on the HTTP socket
603
- #
604
- # @private
605
- # @param {http.ClientRequest} request the node.js ClientRequest instance that
606
- # fired this event
607
- # @param {Error} error emitted exception
608
- _onHttpRequestError: (request, error) ->
609
- return unless @_request is request
610
-
611
- @_setError()
612
- request.abort()
613
- @_setReadyState XMLHttpRequest.DONE
614
- @_dispatchProgress 'error'
615
- @_dispatchProgress 'loadend'
616
-
617
- # Fires an XHR progress event.
618
- #
619
- # @private
620
- # @param {String} eventType one of the XHR progress event types, such as
621
- # 'load' and 'progress'
622
- _dispatchProgress: (eventType) ->
623
- event = new ProgressEvent eventType
624
- event.lengthComputable = @_lengthComputable
625
- event.loaded = @_loadedBytes
626
- event.total = @_totalBytes
627
- @dispatchEvent event
628
- undefined
629
-
630
- # Sets up the XHR to reflect the fact that an error has occurred.
631
- #
632
- # The possible errors are a network error, a timeout, or an abort.
633
- #
634
- # @private
635
- _setError: ->
636
- @_request = null
637
- @_response = null
638
- @_responseHeaders = null
639
- @_responseParts = null
640
- undefined
641
-
642
- # Parses a request URL string.
643
- #
644
- # @private
645
- # This method is a thin wrapper around url.parse() that normalizes HTTP
646
- # user/password credentials. It is used to parse the URL string passed to
647
- # XMLHttpRequest#open() and the URLs in the Location headers of HTTP redirect
648
- # responses.
649
- #
650
- # @param {String} urlString the URL to be parsed
651
- # @return {Object} parsed URL
652
- _parseUrl: (urlString) ->
653
- if @nodejsBaseUrl is null
654
- absoluteUrlString = urlString
655
- else
656
- absoluteUrlString = url.resolve @nodejsBaseUrl, urlString
657
-
658
- xhrUrl = url.parse absoluteUrlString, false, true
659
- xhrUrl.hash = null
660
- if xhrUrl.auth and (user? or password?)
661
- index = xhrUrl.auth.indexOf ':'
662
- if index is -1
663
- user = xhrUrl.auth unless user
664
- else
665
- user = xhrUrl.substring(0, index) unless user
666
- password = xhrUrl.substring(index + 1) unless password
667
- if user or password
668
- xhrUrl.auth = "#{user}:#{password}"
669
- xhrUrl
670
-
671
- # Reads the headers from a node.js ClientResponse instance.
672
- #
673
- # @private
674
- # @param {http.ClientResponse} response the response whose headers will be
675
- # imported into this XMLHttpRequest's state
676
- # @return {undefined} undefined
677
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-getresponseheader()-method
678
- # @see http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders()-method
679
- _parseResponseHeaders: (response) ->
680
- @_responseHeaders = {}
681
- for name, value of response.headers
682
- loweredName = name.toLowerCase()
683
- continue if @_privateHeaders[loweredName]
684
- if @_mimeOverride isnt null and loweredName is 'content-type'
685
- value = @_mimeOverride
686
- @_responseHeaders[loweredName] = value
687
-
688
- if @_mimeOverride isnt null and !('content-type' of @_responseHeaders)
689
- @_responseHeaders['content-type'] = @_mimeOverride
690
- undefined
691
-
692
- # Sets the response and responseText properties when an XHR completes.
693
- #
694
- # @private
695
- # @return {undefined} undefined
696
- _parseResponse: ->
697
- if Buffer.concat
698
- buffer = Buffer.concat @_responseParts
699
- else
700
- # node 0.6
701
- buffer = @_concatBuffers @_responseParts
702
- @_responseParts = null
703
-
704
- switch @responseType
705
- when 'text'
706
- @_parseTextResponse buffer
707
- when 'json'
708
- @responseText = null
709
- try
710
- @response = JSON.parse buffer.toString('utf-8')
711
- catch jsonError
712
- @response = null
713
- when 'buffer'
714
- @responseText = null
715
- @response = buffer
716
- when 'arraybuffer'
717
- @responseText = null
718
- arrayBuffer = new ArrayBuffer buffer.length
719
- view = new Uint8Array arrayBuffer
720
- view[i] = buffer[i] for i in [0...buffer.length]
721
- @response = arrayBuffer
722
- else
723
- # TODO(pwnall): content-base detection
724
- @_parseTextResponse buffer
725
- undefined
726
-
727
- # Sets response and responseText for a 'text' response type.
728
- #
729
- # @private
730
- # @param {Buffer} buffer the node.js Buffer containing the binary response
731
- # @return {undefined} undefined
732
- _parseTextResponse: (buffer) ->
733
- try
734
- @responseText = buffer.toString @_parseResponseEncoding()
735
- catch e
736
- # Unknown encoding.
737
- @responseText = buffer.toString 'binary'
738
-
739
- @response = @responseText
740
- undefined
741
-
742
- # Figures out the string encoding of the XHR's response.
743
- #
744
- # This is called to determine the encoding when responseText is set.
745
- #
746
- # @private
747
- # @return {String} a string encoding, e.g. 'utf-8'
748
- _parseResponseEncoding: ->
749
- encoding = null
750
- if contentType = @_responseHeaders['content-type']
751
- if match = /\;\s*charset\=(.*)$/.exec contentType
752
- return match[1]
753
- 'utf-8'
754
-
755
- # Buffer.concat implementation for node 0.6.
756
- #
757
- # @private
758
- # @param {Array<Buffer>} buffers the buffers whose contents will be merged
759
- # @return {Buffer} same as Buffer.concat(buffers) in node 0.8 and above
760
- _concatBuffers: (buffers) ->
761
- if buffers.length is 0
762
- return Buffer.alloc 0
763
- if buffers.length is 1
764
- return buffers[0]
765
-
766
- length = 0
767
- length += buffer.length for buffer in buffers
768
- target = Buffer.alloc length
769
- length = 0
770
- for buffer in buffers
771
- buffer.copy target, length
772
- length += buffer.length
773
- target
774
-
775
- # XMLHttpRequest is the result of require('node-xhr2').
776
- module.exports = XMLHttpRequest
777
-
778
- # Make node-xhr2 work as a drop-in replacement for libraries that promote the
779
- # following usage pattern:
780
- # var XMLHttpRequest = require('xhr-library-name').XMLHttpRequest
781
- XMLHttpRequest.XMLHttpRequest = XMLHttpRequest