@pdftron/pdfnet-node 9.4.0 → 9.4.2

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 (593) hide show
  1. package/node_modules/underscore/LICENSE +23 -23
  2. package/node_modules/underscore/README.md +28 -28
  3. package/node_modules/underscore/amd/_apply.js +7 -7
  4. package/node_modules/underscore/amd/_applyProperty.js +14 -14
  5. package/node_modules/underscore/amd/_arrayAccessors.js +11 -11
  6. package/node_modules/underscore/amd/_arrayMutators.js +15 -15
  7. package/node_modules/underscore/amd/_baseCreate.js +21 -21
  8. package/node_modules/underscore/amd/_baseIteratee.js +15 -15
  9. package/node_modules/underscore/amd/_binarySearch.js +17 -17
  10. package/node_modules/underscore/amd/_bindCb.js +14 -14
  11. package/node_modules/underscore/amd/_bindCb4.js +17 -17
  12. package/node_modules/underscore/amd/_byValue.js +11 -11
  13. package/node_modules/underscore/amd/_cb.js +12 -12
  14. package/node_modules/underscore/amd/_chainResult.js +10 -10
  15. package/node_modules/underscore/amd/_collectNonEnumProps.js +42 -42
  16. package/node_modules/underscore/amd/_createAssigner.js +24 -24
  17. package/node_modules/underscore/amd/_createEscaper.js +21 -21
  18. package/node_modules/underscore/amd/_createIndexFinder.js +30 -30
  19. package/node_modules/underscore/amd/_createPredicateIndexFinder.js +18 -18
  20. package/node_modules/underscore/amd/_createReduce.js +30 -30
  21. package/node_modules/underscore/amd/_createSizePropertyCheck.js +13 -13
  22. package/node_modules/underscore/amd/_deepGet.js +15 -15
  23. package/node_modules/underscore/amd/_escapeMap.js +15 -15
  24. package/node_modules/underscore/amd/_executeBound.js +16 -16
  25. package/node_modules/underscore/amd/_extremum.js +35 -35
  26. package/node_modules/underscore/amd/_flatten.js +32 -32
  27. package/node_modules/underscore/amd/_forceNumericMinMax.js +16 -16
  28. package/node_modules/underscore/amd/_getByteLength.js +8 -8
  29. package/node_modules/underscore/amd/_getLength.js +8 -8
  30. package/node_modules/underscore/amd/_greater.js +10 -10
  31. package/node_modules/underscore/amd/_group.js +18 -18
  32. package/node_modules/underscore/amd/_has.js +10 -10
  33. package/node_modules/underscore/amd/_hasObjectTag.js +7 -7
  34. package/node_modules/underscore/amd/_isArrayLike.js +11 -11
  35. package/node_modules/underscore/amd/_isBufferLike.js +9 -9
  36. package/node_modules/underscore/amd/_keyInObj.js +11 -11
  37. package/node_modules/underscore/amd/_less.js +10 -10
  38. package/node_modules/underscore/amd/_lessEqual.js +10 -10
  39. package/node_modules/underscore/amd/_linearSearch.js +31 -31
  40. package/node_modules/underscore/amd/_mapReduce.js +5 -5
  41. package/node_modules/underscore/amd/_methodFingerprint.js +44 -44
  42. package/node_modules/underscore/amd/_optimizeCb.js +27 -27
  43. package/node_modules/underscore/amd/_push.js +7 -7
  44. package/node_modules/underscore/amd/_pusher.js +13 -13
  45. package/node_modules/underscore/amd/_sequence.js +18 -18
  46. package/node_modules/underscore/amd/_setup.js +70 -70
  47. package/node_modules/underscore/amd/_shallowProperty.js +12 -12
  48. package/node_modules/underscore/amd/_slice.js +7 -7
  49. package/node_modules/underscore/amd/_strictEqual.js +9 -9
  50. package/node_modules/underscore/amd/_stringTagBug.js +16 -16
  51. package/node_modules/underscore/amd/_tagTester.js +13 -13
  52. package/node_modules/underscore/amd/_toBufferView.js +15 -15
  53. package/node_modules/underscore/amd/_toPath.js +11 -11
  54. package/node_modules/underscore/amd/_unescapeMap.js +8 -8
  55. package/node_modules/underscore/amd/_unmethodize.js +9 -9
  56. package/node_modules/underscore/amd/_wrapArrayAccessor.js +15 -15
  57. package/node_modules/underscore/amd/_wrapArrayMutator.js +28 -28
  58. package/node_modules/underscore/amd/after.js +14 -14
  59. package/node_modules/underscore/amd/allKeys.js +15 -15
  60. package/node_modules/underscore/amd/before.js +18 -18
  61. package/node_modules/underscore/amd/bind.js +15 -15
  62. package/node_modules/underscore/amd/bindAll.js +19 -19
  63. package/node_modules/underscore/amd/chain.js +12 -12
  64. package/node_modules/underscore/amd/chunk.js +17 -17
  65. package/node_modules/underscore/amd/clone.js +11 -11
  66. package/node_modules/underscore/amd/compact.js +10 -10
  67. package/node_modules/underscore/amd/compose.js +18 -18
  68. package/node_modules/underscore/amd/concat.js +7 -7
  69. package/node_modules/underscore/amd/constant.js +12 -12
  70. package/node_modules/underscore/amd/contains.js +12 -12
  71. package/node_modules/underscore/amd/countBy.js +12 -12
  72. package/node_modules/underscore/amd/create.js +14 -14
  73. package/node_modules/underscore/amd/debounce.js +43 -43
  74. package/node_modules/underscore/amd/defaults.js +8 -8
  75. package/node_modules/underscore/amd/defer.js +9 -9
  76. package/node_modules/underscore/amd/delay.js +13 -13
  77. package/node_modules/underscore/amd/difference.js +14 -14
  78. package/node_modules/underscore/amd/each.js +25 -25
  79. package/node_modules/underscore/amd/escape.js +8 -8
  80. package/node_modules/underscore/amd/every.js +17 -17
  81. package/node_modules/underscore/amd/extend.js +8 -8
  82. package/node_modules/underscore/amd/extendOwn.js +10 -10
  83. package/node_modules/underscore/amd/filter.js +15 -15
  84. package/node_modules/underscore/amd/find.js +12 -12
  85. package/node_modules/underscore/amd/findIndex.js +8 -8
  86. package/node_modules/underscore/amd/findKey.js +15 -15
  87. package/node_modules/underscore/amd/findLastIndex.js +8 -8
  88. package/node_modules/underscore/amd/findWhere.js +11 -11
  89. package/node_modules/underscore/amd/first.js +13 -13
  90. package/node_modules/underscore/amd/flatten.js +11 -11
  91. package/node_modules/underscore/amd/functions.js +14 -14
  92. package/node_modules/underscore/amd/get.js +14 -14
  93. package/node_modules/underscore/amd/groupBy.js +11 -11
  94. package/node_modules/underscore/amd/has.js +19 -19
  95. package/node_modules/underscore/amd/identity.js +10 -10
  96. package/node_modules/underscore/amd/index-default.js +12 -12
  97. package/node_modules/underscore/amd/index.js +154 -154
  98. package/node_modules/underscore/amd/indexBy.js +11 -11
  99. package/node_modules/underscore/amd/indexOf.js +11 -11
  100. package/node_modules/underscore/amd/initial.js +12 -12
  101. package/node_modules/underscore/amd/intersection.js +22 -22
  102. package/node_modules/underscore/amd/invert.js +15 -15
  103. package/node_modules/underscore/amd/invoke.js +28 -28
  104. package/node_modules/underscore/amd/isArguments.js +19 -19
  105. package/node_modules/underscore/amd/isArray.js +9 -9
  106. package/node_modules/underscore/amd/isArrayBuffer.js +7 -7
  107. package/node_modules/underscore/amd/isBoolean.js +10 -10
  108. package/node_modules/underscore/amd/isDataView.js +15 -15
  109. package/node_modules/underscore/amd/isDate.js +7 -7
  110. package/node_modules/underscore/amd/isElement.js +10 -10
  111. package/node_modules/underscore/amd/isEmpty.js +18 -18
  112. package/node_modules/underscore/amd/isEqual.js +133 -133
  113. package/node_modules/underscore/amd/isError.js +7 -7
  114. package/node_modules/underscore/amd/isFinite.js +10 -10
  115. package/node_modules/underscore/amd/isFunction.js +18 -18
  116. package/node_modules/underscore/amd/isMap.js +7 -7
  117. package/node_modules/underscore/amd/isMatch.js +17 -17
  118. package/node_modules/underscore/amd/isNaN.js +10 -10
  119. package/node_modules/underscore/amd/isNull.js +10 -10
  120. package/node_modules/underscore/amd/isNumber.js +7 -7
  121. package/node_modules/underscore/amd/isObject.js +11 -11
  122. package/node_modules/underscore/amd/isRegExp.js +7 -7
  123. package/node_modules/underscore/amd/isSet.js +7 -7
  124. package/node_modules/underscore/amd/isString.js +7 -7
  125. package/node_modules/underscore/amd/isSymbol.js +7 -7
  126. package/node_modules/underscore/amd/isTypedArray.js +16 -16
  127. package/node_modules/underscore/amd/isUndefined.js +10 -10
  128. package/node_modules/underscore/amd/isWeakMap.js +7 -7
  129. package/node_modules/underscore/amd/isWeakSet.js +7 -7
  130. package/node_modules/underscore/amd/iteratee.js +13 -13
  131. package/node_modules/underscore/amd/join.js +7 -7
  132. package/node_modules/underscore/amd/keys.js +17 -17
  133. package/node_modules/underscore/amd/last.js +13 -13
  134. package/node_modules/underscore/amd/lastIndexOf.js +9 -9
  135. package/node_modules/underscore/amd/map.js +18 -18
  136. package/node_modules/underscore/amd/mapObject.js +19 -19
  137. package/node_modules/underscore/amd/matcher.js +14 -14
  138. package/node_modules/underscore/amd/max.js +30 -30
  139. package/node_modules/underscore/amd/memoize.js +17 -17
  140. package/node_modules/underscore/amd/min.js +30 -30
  141. package/node_modules/underscore/amd/mixin.js +18 -18
  142. package/node_modules/underscore/amd/negate.js +12 -12
  143. package/node_modules/underscore/amd/noop.js +8 -8
  144. package/node_modules/underscore/amd/now.js +10 -10
  145. package/node_modules/underscore/amd/object.js +20 -20
  146. package/node_modules/underscore/amd/omit.js +20 -20
  147. package/node_modules/underscore/amd/once.js +9 -9
  148. package/node_modules/underscore/amd/pairs.js +17 -17
  149. package/node_modules/underscore/amd/partial.js +25 -25
  150. package/node_modules/underscore/amd/partition.js +11 -11
  151. package/node_modules/underscore/amd/pick.js +25 -25
  152. package/node_modules/underscore/amd/pluck.js +10 -10
  153. package/node_modules/underscore/amd/pop.js +7 -7
  154. package/node_modules/underscore/amd/property.js +14 -14
  155. package/node_modules/underscore/amd/propertyOf.js +13 -13
  156. package/node_modules/underscore/amd/push.js +7 -7
  157. package/node_modules/underscore/amd/random.js +14 -14
  158. package/node_modules/underscore/amd/range.js +27 -27
  159. package/node_modules/underscore/amd/reduce.js +9 -9
  160. package/node_modules/underscore/amd/reduceRight.js +8 -8
  161. package/node_modules/underscore/amd/reject.js +10 -10
  162. package/node_modules/underscore/amd/rest.js +12 -12
  163. package/node_modules/underscore/amd/restArguments.js +33 -33
  164. package/node_modules/underscore/amd/result.js +25 -25
  165. package/node_modules/underscore/amd/reverse.js +7 -7
  166. package/node_modules/underscore/amd/sample.js +27 -27
  167. package/node_modules/underscore/amd/shift.js +7 -7
  168. package/node_modules/underscore/amd/shuffle.js +10 -10
  169. package/node_modules/underscore/amd/size.js +11 -11
  170. package/node_modules/underscore/amd/slice.js +7 -7
  171. package/node_modules/underscore/amd/some.js +17 -17
  172. package/node_modules/underscore/amd/sort.js +7 -7
  173. package/node_modules/underscore/amd/sortBy.js +26 -26
  174. package/node_modules/underscore/amd/sortedIndex.js +18 -18
  175. package/node_modules/underscore/amd/sortedLastIndex.js +11 -11
  176. package/node_modules/underscore/amd/splice.js +7 -7
  177. package/node_modules/underscore/amd/tap.js +13 -13
  178. package/node_modules/underscore/amd/template.js +95 -95
  179. package/node_modules/underscore/amd/templateSettings.js +13 -13
  180. package/node_modules/underscore/amd/throttle.js +51 -51
  181. package/node_modules/underscore/amd/times.js +13 -13
  182. package/node_modules/underscore/amd/toArray.js +18 -18
  183. package/node_modules/underscore/amd/toPath.js +12 -12
  184. package/node_modules/underscore/amd/toString.js +11 -11
  185. package/node_modules/underscore/amd/underscore-array-methods.js +30 -30
  186. package/node_modules/underscore/amd/underscore.js +29 -29
  187. package/node_modules/underscore/amd/unescape.js +8 -8
  188. package/node_modules/underscore/amd/union.js +11 -11
  189. package/node_modules/underscore/amd/uniq.js +37 -37
  190. package/node_modules/underscore/amd/uniqueId.js +13 -13
  191. package/node_modules/underscore/amd/unshift.js +7 -7
  192. package/node_modules/underscore/amd/unzip.js +17 -17
  193. package/node_modules/underscore/amd/value.js +13 -13
  194. package/node_modules/underscore/amd/values.js +16 -16
  195. package/node_modules/underscore/amd/where.js +11 -11
  196. package/node_modules/underscore/amd/without.js +10 -10
  197. package/node_modules/underscore/amd/wrap.js +12 -12
  198. package/node_modules/underscore/amd/zip.js +9 -9
  199. package/node_modules/underscore/cjs/_apply.js +6 -6
  200. package/node_modules/underscore/cjs/_applyProperty.js +10 -10
  201. package/node_modules/underscore/cjs/_arrayAccessors.js +11 -11
  202. package/node_modules/underscore/cjs/_arrayMutators.js +19 -19
  203. package/node_modules/underscore/cjs/_baseCreate.js +20 -20
  204. package/node_modules/underscore/cjs/_baseIteratee.js +19 -19
  205. package/node_modules/underscore/cjs/_binarySearch.js +15 -15
  206. package/node_modules/underscore/cjs/_bindCb.js +10 -10
  207. package/node_modules/underscore/cjs/_bindCb4.js +13 -13
  208. package/node_modules/underscore/cjs/_byValue.js +7 -7
  209. package/node_modules/underscore/cjs/_cb.js +12 -12
  210. package/node_modules/underscore/cjs/_chainResult.js +8 -8
  211. package/node_modules/underscore/cjs/_collectNonEnumProps.js +42 -42
  212. package/node_modules/underscore/cjs/_createAssigner.js +20 -20
  213. package/node_modules/underscore/cjs/_createEscaper.js +19 -19
  214. package/node_modules/underscore/cjs/_createIndexFinder.js +30 -30
  215. package/node_modules/underscore/cjs/_createPredicateIndexFinder.js +17 -17
  216. package/node_modules/underscore/cjs/_createReduce.js +30 -30
  217. package/node_modules/underscore/cjs/_createSizePropertyCheck.js +11 -11
  218. package/node_modules/underscore/cjs/_deepGet.js +11 -11
  219. package/node_modules/underscore/cjs/_escapeMap.js +11 -11
  220. package/node_modules/underscore/cjs/_executeBound.js +15 -15
  221. package/node_modules/underscore/cjs/_extremum.js +35 -35
  222. package/node_modules/underscore/cjs/_flatten.js +33 -33
  223. package/node_modules/underscore/cjs/_forceNumericMinMax.js +14 -14
  224. package/node_modules/underscore/cjs/_getByteLength.js +6 -6
  225. package/node_modules/underscore/cjs/_getLength.js +6 -6
  226. package/node_modules/underscore/cjs/_greater.js +6 -6
  227. package/node_modules/underscore/cjs/_group.js +17 -17
  228. package/node_modules/underscore/cjs/_has.js +8 -8
  229. package/node_modules/underscore/cjs/_hasObjectTag.js +5 -5
  230. package/node_modules/underscore/cjs/_isArrayLike.js +10 -10
  231. package/node_modules/underscore/cjs/_isBufferLike.js +8 -8
  232. package/node_modules/underscore/cjs/_keyInObj.js +7 -7
  233. package/node_modules/underscore/cjs/_less.js +6 -6
  234. package/node_modules/underscore/cjs/_lessEqual.js +6 -6
  235. package/node_modules/underscore/cjs/_linearSearch.js +30 -30
  236. package/node_modules/underscore/cjs/_mapReduce.js +1 -1
  237. package/node_modules/underscore/cjs/_methodFingerprint.js +44 -44
  238. package/node_modules/underscore/cjs/_optimizeCb.js +23 -23
  239. package/node_modules/underscore/cjs/_push.js +6 -6
  240. package/node_modules/underscore/cjs/_pusher.js +9 -9
  241. package/node_modules/underscore/cjs/_sequence.js +14 -14
  242. package/node_modules/underscore/cjs/_setup.js +66 -66
  243. package/node_modules/underscore/cjs/_shallowProperty.js +8 -8
  244. package/node_modules/underscore/cjs/_slice.js +6 -6
  245. package/node_modules/underscore/cjs/_strictEqual.js +5 -5
  246. package/node_modules/underscore/cjs/_stringTagBug.js +15 -15
  247. package/node_modules/underscore/cjs/_tagTester.js +11 -11
  248. package/node_modules/underscore/cjs/_toBufferView.js +13 -13
  249. package/node_modules/underscore/cjs/_toPath.js +10 -10
  250. package/node_modules/underscore/cjs/_unescapeMap.js +7 -7
  251. package/node_modules/underscore/cjs/_unmethodize.js +8 -8
  252. package/node_modules/underscore/cjs/_wrapArrayAccessor.js +14 -14
  253. package/node_modules/underscore/cjs/_wrapArrayMutator.js +29 -29
  254. package/node_modules/underscore/cjs/after.js +10 -10
  255. package/node_modules/underscore/cjs/allKeys.js +15 -15
  256. package/node_modules/underscore/cjs/before.js +14 -14
  257. package/node_modules/underscore/cjs/bind.js +15 -15
  258. package/node_modules/underscore/cjs/bindAll.js +19 -19
  259. package/node_modules/underscore/cjs/chain.js +10 -10
  260. package/node_modules/underscore/cjs/chunk.js +15 -15
  261. package/node_modules/underscore/cjs/clone.js +11 -11
  262. package/node_modules/underscore/cjs/compact.js +8 -8
  263. package/node_modules/underscore/cjs/compose.js +14 -14
  264. package/node_modules/underscore/cjs/concat.js +6 -6
  265. package/node_modules/underscore/cjs/constant.js +8 -8
  266. package/node_modules/underscore/cjs/contains.js +12 -12
  267. package/node_modules/underscore/cjs/countBy.js +11 -11
  268. package/node_modules/underscore/cjs/create.js +13 -13
  269. package/node_modules/underscore/cjs/debounce.js +42 -42
  270. package/node_modules/underscore/cjs/defaults.js +7 -7
  271. package/node_modules/underscore/cjs/defer.js +9 -9
  272. package/node_modules/underscore/cjs/delay.js +11 -11
  273. package/node_modules/underscore/cjs/difference.js +15 -15
  274. package/node_modules/underscore/cjs/each.js +25 -25
  275. package/node_modules/underscore/cjs/escape.js +7 -7
  276. package/node_modules/underscore/cjs/every.js +17 -17
  277. package/node_modules/underscore/cjs/extend.js +7 -7
  278. package/node_modules/underscore/cjs/extendOwn.js +9 -9
  279. package/node_modules/underscore/cjs/filter.js +14 -14
  280. package/node_modules/underscore/cjs/find.js +12 -12
  281. package/node_modules/underscore/cjs/findIndex.js +6 -6
  282. package/node_modules/underscore/cjs/findKey.js +14 -14
  283. package/node_modules/underscore/cjs/findLastIndex.js +6 -6
  284. package/node_modules/underscore/cjs/findWhere.js +10 -10
  285. package/node_modules/underscore/cjs/first.js +11 -11
  286. package/node_modules/underscore/cjs/flatten.js +9 -9
  287. package/node_modules/underscore/cjs/functions.js +12 -12
  288. package/node_modules/underscore/cjs/get.js +14 -14
  289. package/node_modules/underscore/cjs/groupBy.js +10 -10
  290. package/node_modules/underscore/cjs/has.js +18 -18
  291. package/node_modules/underscore/cjs/identity.js +6 -6
  292. package/node_modules/underscore/cjs/index-default.js +11 -11
  293. package/node_modules/underscore/cjs/index.js +277 -277
  294. package/node_modules/underscore/cjs/indexBy.js +9 -9
  295. package/node_modules/underscore/cjs/indexOf.js +11 -11
  296. package/node_modules/underscore/cjs/initial.js +10 -10
  297. package/node_modules/underscore/cjs/intersection.js +21 -21
  298. package/node_modules/underscore/cjs/invert.js +13 -13
  299. package/node_modules/underscore/cjs/invoke.js +30 -30
  300. package/node_modules/underscore/cjs/isArguments.js +18 -18
  301. package/node_modules/underscore/cjs/isArray.js +8 -8
  302. package/node_modules/underscore/cjs/isArrayBuffer.js +5 -5
  303. package/node_modules/underscore/cjs/isBoolean.js +8 -8
  304. package/node_modules/underscore/cjs/isDataView.js +16 -16
  305. package/node_modules/underscore/cjs/isDate.js +5 -5
  306. package/node_modules/underscore/cjs/isElement.js +6 -6
  307. package/node_modules/underscore/cjs/isEmpty.js +20 -20
  308. package/node_modules/underscore/cjs/isEqual.js +140 -140
  309. package/node_modules/underscore/cjs/isError.js +5 -5
  310. package/node_modules/underscore/cjs/isFinite.js +9 -9
  311. package/node_modules/underscore/cjs/isFunction.js +17 -17
  312. package/node_modules/underscore/cjs/isMap.js +7 -7
  313. package/node_modules/underscore/cjs/isMatch.js +15 -15
  314. package/node_modules/underscore/cjs/isNaN.js +9 -9
  315. package/node_modules/underscore/cjs/isNull.js +6 -6
  316. package/node_modules/underscore/cjs/isNumber.js +5 -5
  317. package/node_modules/underscore/cjs/isObject.js +7 -7
  318. package/node_modules/underscore/cjs/isRegExp.js +5 -5
  319. package/node_modules/underscore/cjs/isSet.js +7 -7
  320. package/node_modules/underscore/cjs/isString.js +5 -5
  321. package/node_modules/underscore/cjs/isSymbol.js +5 -5
  322. package/node_modules/underscore/cjs/isTypedArray.js +17 -17
  323. package/node_modules/underscore/cjs/isUndefined.js +6 -6
  324. package/node_modules/underscore/cjs/isWeakMap.js +7 -7
  325. package/node_modules/underscore/cjs/isWeakSet.js +5 -5
  326. package/node_modules/underscore/cjs/iteratee.js +12 -12
  327. package/node_modules/underscore/cjs/join.js +6 -6
  328. package/node_modules/underscore/cjs/keys.js +18 -18
  329. package/node_modules/underscore/cjs/last.js +11 -11
  330. package/node_modules/underscore/cjs/lastIndexOf.js +8 -8
  331. package/node_modules/underscore/cjs/map.js +18 -18
  332. package/node_modules/underscore/cjs/mapObject.js +18 -18
  333. package/node_modules/underscore/cjs/matcher.js +13 -13
  334. package/node_modules/underscore/cjs/max.js +31 -31
  335. package/node_modules/underscore/cjs/memoize.js +15 -15
  336. package/node_modules/underscore/cjs/min.js +31 -31
  337. package/node_modules/underscore/cjs/mixin.js +20 -20
  338. package/node_modules/underscore/cjs/negate.js +8 -8
  339. package/node_modules/underscore/cjs/noop.js +4 -4
  340. package/node_modules/underscore/cjs/now.js +6 -6
  341. package/node_modules/underscore/cjs/object.js +18 -18
  342. package/node_modules/underscore/cjs/omit.js +24 -24
  343. package/node_modules/underscore/cjs/once.js +8 -8
  344. package/node_modules/underscore/cjs/pairs.js +15 -15
  345. package/node_modules/underscore/cjs/partial.js +25 -25
  346. package/node_modules/underscore/cjs/partition.js +9 -9
  347. package/node_modules/underscore/cjs/pick.js +28 -28
  348. package/node_modules/underscore/cjs/pluck.js +9 -9
  349. package/node_modules/underscore/cjs/pop.js +6 -6
  350. package/node_modules/underscore/cjs/property.js +13 -13
  351. package/node_modules/underscore/cjs/propertyOf.js +12 -12
  352. package/node_modules/underscore/cjs/push.js +6 -6
  353. package/node_modules/underscore/cjs/random.js +10 -10
  354. package/node_modules/underscore/cjs/range.js +23 -23
  355. package/node_modules/underscore/cjs/reduce.js +7 -7
  356. package/node_modules/underscore/cjs/reduceRight.js +6 -6
  357. package/node_modules/underscore/cjs/reject.js +10 -10
  358. package/node_modules/underscore/cjs/rest.js +10 -10
  359. package/node_modules/underscore/cjs/restArguments.js +29 -29
  360. package/node_modules/underscore/cjs/result.js +24 -24
  361. package/node_modules/underscore/cjs/reverse.js +6 -6
  362. package/node_modules/underscore/cjs/sample.js +29 -29
  363. package/node_modules/underscore/cjs/shift.js +6 -6
  364. package/node_modules/underscore/cjs/shuffle.js +8 -8
  365. package/node_modules/underscore/cjs/size.js +10 -10
  366. package/node_modules/underscore/cjs/slice.js +6 -6
  367. package/node_modules/underscore/cjs/some.js +17 -17
  368. package/node_modules/underscore/cjs/sort.js +6 -6
  369. package/node_modules/underscore/cjs/sortBy.js +26 -26
  370. package/node_modules/underscore/cjs/sortedIndex.js +17 -17
  371. package/node_modules/underscore/cjs/sortedLastIndex.js +11 -11
  372. package/node_modules/underscore/cjs/splice.js +6 -6
  373. package/node_modules/underscore/cjs/tap.js +9 -9
  374. package/node_modules/underscore/cjs/template.js +95 -95
  375. package/node_modules/underscore/cjs/templateSettings.js +11 -11
  376. package/node_modules/underscore/cjs/throttle.js +49 -49
  377. package/node_modules/underscore/cjs/times.js +11 -11
  378. package/node_modules/underscore/cjs/toArray.js +22 -22
  379. package/node_modules/underscore/cjs/toPath.js +11 -11
  380. package/node_modules/underscore/cjs/toString.js +9 -9
  381. package/node_modules/underscore/cjs/underscore-array-methods.js +31 -31
  382. package/node_modules/underscore/cjs/underscore.js +27 -27
  383. package/node_modules/underscore/cjs/unescape.js +7 -7
  384. package/node_modules/underscore/cjs/union.js +11 -11
  385. package/node_modules/underscore/cjs/uniq.js +38 -38
  386. package/node_modules/underscore/cjs/uniqueId.js +9 -9
  387. package/node_modules/underscore/cjs/unshift.js +6 -6
  388. package/node_modules/underscore/cjs/unzip.js +17 -17
  389. package/node_modules/underscore/cjs/value.js +9 -9
  390. package/node_modules/underscore/cjs/values.js +14 -14
  391. package/node_modules/underscore/cjs/where.js +10 -10
  392. package/node_modules/underscore/cjs/without.js +9 -9
  393. package/node_modules/underscore/cjs/wrap.js +10 -10
  394. package/node_modules/underscore/cjs/zip.js +8 -8
  395. package/node_modules/underscore/modules/.eslintrc +12 -12
  396. package/node_modules/underscore/modules/_baseCreate.js +18 -18
  397. package/node_modules/underscore/modules/_baseIteratee.js +17 -17
  398. package/node_modules/underscore/modules/_cb.js +10 -10
  399. package/node_modules/underscore/modules/_chainResult.js +6 -6
  400. package/node_modules/underscore/modules/_collectNonEnumProps.js +40 -40
  401. package/node_modules/underscore/modules/_createAssigner.js +18 -18
  402. package/node_modules/underscore/modules/_createEscaper.js +17 -17
  403. package/node_modules/underscore/modules/_createIndexFinder.js +28 -28
  404. package/node_modules/underscore/modules/_createPredicateIndexFinder.js +15 -15
  405. package/node_modules/underscore/modules/_createReduce.js +28 -28
  406. package/node_modules/underscore/modules/_createSizePropertyCheck.js +9 -9
  407. package/node_modules/underscore/modules/_deepGet.js +9 -9
  408. package/node_modules/underscore/modules/_escapeMap.js +9 -9
  409. package/node_modules/underscore/modules/_executeBound.js +13 -13
  410. package/node_modules/underscore/modules/_flatten.js +31 -31
  411. package/node_modules/underscore/modules/_getByteLength.js +4 -4
  412. package/node_modules/underscore/modules/_getLength.js +4 -4
  413. package/node_modules/underscore/modules/_group.js +15 -15
  414. package/node_modules/underscore/modules/_has.js +6 -6
  415. package/node_modules/underscore/modules/_hasObjectTag.js +3 -3
  416. package/node_modules/underscore/modules/_isArrayLike.js +8 -8
  417. package/node_modules/underscore/modules/_isBufferLike.js +6 -6
  418. package/node_modules/underscore/modules/_keyInObj.js +5 -5
  419. package/node_modules/underscore/modules/_methodFingerprint.js +37 -37
  420. package/node_modules/underscore/modules/_optimizeCb.js +21 -21
  421. package/node_modules/underscore/modules/_setup.js +43 -43
  422. package/node_modules/underscore/modules/_shallowProperty.js +6 -6
  423. package/node_modules/underscore/modules/_stringTagBug.js +10 -10
  424. package/node_modules/underscore/modules/_tagTester.js +9 -9
  425. package/node_modules/underscore/modules/_toBufferView.js +11 -11
  426. package/node_modules/underscore/modules/_toPath.js +8 -8
  427. package/node_modules/underscore/modules/_unescapeMap.js +5 -5
  428. package/node_modules/underscore/modules/after.js +8 -8
  429. package/node_modules/underscore/modules/allKeys.js +13 -13
  430. package/node_modules/underscore/modules/before.js +12 -12
  431. package/node_modules/underscore/modules/bind.js +13 -13
  432. package/node_modules/underscore/modules/bindAll.js +17 -17
  433. package/node_modules/underscore/modules/chain.js +8 -8
  434. package/node_modules/underscore/modules/chunk.js +13 -13
  435. package/node_modules/underscore/modules/clone.js +9 -9
  436. package/node_modules/underscore/modules/compact.js +6 -6
  437. package/node_modules/underscore/modules/compose.js +12 -12
  438. package/node_modules/underscore/modules/constant.js +6 -6
  439. package/node_modules/underscore/modules/contains.js +10 -10
  440. package/node_modules/underscore/modules/countBy.js +9 -9
  441. package/node_modules/underscore/modules/create.js +11 -11
  442. package/node_modules/underscore/modules/debounce.js +40 -40
  443. package/node_modules/underscore/modules/defaults.js +5 -5
  444. package/node_modules/underscore/modules/defer.js +7 -7
  445. package/node_modules/underscore/modules/delay.js +9 -9
  446. package/node_modules/underscore/modules/difference.js +13 -13
  447. package/node_modules/underscore/modules/each.js +23 -23
  448. package/node_modules/underscore/modules/escape.js +5 -5
  449. package/node_modules/underscore/modules/every.js +15 -15
  450. package/node_modules/underscore/modules/extend.js +5 -5
  451. package/node_modules/underscore/modules/extendOwn.js +7 -7
  452. package/node_modules/underscore/modules/filter.js +12 -12
  453. package/node_modules/underscore/modules/find.js +10 -10
  454. package/node_modules/underscore/modules/findIndex.js +4 -4
  455. package/node_modules/underscore/modules/findKey.js +12 -12
  456. package/node_modules/underscore/modules/findLastIndex.js +4 -4
  457. package/node_modules/underscore/modules/findWhere.js +8 -8
  458. package/node_modules/underscore/modules/first.js +9 -9
  459. package/node_modules/underscore/modules/flatten.js +7 -7
  460. package/node_modules/underscore/modules/functions.js +10 -10
  461. package/node_modules/underscore/modules/get.js +12 -12
  462. package/node_modules/underscore/modules/groupBy.js +8 -8
  463. package/node_modules/underscore/modules/has.js +16 -16
  464. package/node_modules/underscore/modules/identity.js +4 -4
  465. package/node_modules/underscore/modules/index-all.js +18 -18
  466. package/node_modules/underscore/modules/index-default.js +27 -27
  467. package/node_modules/underscore/modules/index.js +200 -200
  468. package/node_modules/underscore/modules/indexBy.js +7 -7
  469. package/node_modules/underscore/modules/indexOf.js +9 -9
  470. package/node_modules/underscore/modules/initial.js +8 -8
  471. package/node_modules/underscore/modules/intersection.js +19 -19
  472. package/node_modules/underscore/modules/invert.js +11 -11
  473. package/node_modules/underscore/modules/invoke.js +28 -28
  474. package/node_modules/underscore/modules/isArguments.js +16 -16
  475. package/node_modules/underscore/modules/isArray.js +6 -6
  476. package/node_modules/underscore/modules/isArrayBuffer.js +3 -3
  477. package/node_modules/underscore/modules/isBoolean.js +6 -6
  478. package/node_modules/underscore/modules/isDataView.js +14 -14
  479. package/node_modules/underscore/modules/isDate.js +3 -3
  480. package/node_modules/underscore/modules/isElement.js +4 -4
  481. package/node_modules/underscore/modules/isEmpty.js +18 -18
  482. package/node_modules/underscore/modules/isEqual.js +138 -138
  483. package/node_modules/underscore/modules/isError.js +3 -3
  484. package/node_modules/underscore/modules/isFinite.js +7 -7
  485. package/node_modules/underscore/modules/isFunction.js +15 -15
  486. package/node_modules/underscore/modules/isMap.js +5 -5
  487. package/node_modules/underscore/modules/isMatch.js +13 -13
  488. package/node_modules/underscore/modules/isNaN.js +7 -7
  489. package/node_modules/underscore/modules/isNull.js +4 -4
  490. package/node_modules/underscore/modules/isNumber.js +3 -3
  491. package/node_modules/underscore/modules/isObject.js +5 -5
  492. package/node_modules/underscore/modules/isRegExp.js +3 -3
  493. package/node_modules/underscore/modules/isSet.js +5 -5
  494. package/node_modules/underscore/modules/isString.js +3 -3
  495. package/node_modules/underscore/modules/isSymbol.js +3 -3
  496. package/node_modules/underscore/modules/isTypedArray.js +15 -15
  497. package/node_modules/underscore/modules/isUndefined.js +4 -4
  498. package/node_modules/underscore/modules/isWeakMap.js +5 -5
  499. package/node_modules/underscore/modules/isWeakSet.js +3 -3
  500. package/node_modules/underscore/modules/iteratee.js +10 -10
  501. package/node_modules/underscore/modules/keys.js +16 -16
  502. package/node_modules/underscore/modules/last.js +9 -9
  503. package/node_modules/underscore/modules/lastIndexOf.js +6 -6
  504. package/node_modules/underscore/modules/map.js +16 -16
  505. package/node_modules/underscore/modules/mapObject.js +16 -16
  506. package/node_modules/underscore/modules/matcher.js +11 -11
  507. package/node_modules/underscore/modules/max.js +29 -29
  508. package/node_modules/underscore/modules/memoize.js +13 -13
  509. package/node_modules/underscore/modules/min.js +29 -29
  510. package/node_modules/underscore/modules/mixin.js +18 -18
  511. package/node_modules/underscore/modules/negate.js +6 -6
  512. package/node_modules/underscore/modules/noop.js +2 -2
  513. package/node_modules/underscore/modules/now.js +4 -4
  514. package/node_modules/underscore/modules/object.js +16 -16
  515. package/node_modules/underscore/modules/omit.js +22 -22
  516. package/node_modules/underscore/modules/once.js +6 -6
  517. package/node_modules/underscore/modules/pairs.js +13 -13
  518. package/node_modules/underscore/modules/partial.js +24 -24
  519. package/node_modules/underscore/modules/partition.js +7 -7
  520. package/node_modules/underscore/modules/pick.js +26 -26
  521. package/node_modules/underscore/modules/pluck.js +7 -7
  522. package/node_modules/underscore/modules/property.js +11 -11
  523. package/node_modules/underscore/modules/propertyOf.js +10 -10
  524. package/node_modules/underscore/modules/random.js +8 -8
  525. package/node_modules/underscore/modules/range.js +21 -21
  526. package/node_modules/underscore/modules/reduce.js +5 -5
  527. package/node_modules/underscore/modules/reduceRight.js +4 -4
  528. package/node_modules/underscore/modules/reject.js +8 -8
  529. package/node_modules/underscore/modules/rest.js +8 -8
  530. package/node_modules/underscore/modules/restArguments.js +27 -27
  531. package/node_modules/underscore/modules/result.js +22 -22
  532. package/node_modules/underscore/modules/sample.js +27 -27
  533. package/node_modules/underscore/modules/shuffle.js +6 -6
  534. package/node_modules/underscore/modules/size.js +8 -8
  535. package/node_modules/underscore/modules/some.js +15 -15
  536. package/node_modules/underscore/modules/sortBy.js +24 -24
  537. package/node_modules/underscore/modules/sortedIndex.js +15 -15
  538. package/node_modules/underscore/modules/tap.js +7 -7
  539. package/node_modules/underscore/modules/template.js +93 -93
  540. package/node_modules/underscore/modules/templateSettings.js +9 -9
  541. package/node_modules/underscore/modules/throttle.js +47 -47
  542. package/node_modules/underscore/modules/times.js +9 -9
  543. package/node_modules/underscore/modules/toArray.js +20 -20
  544. package/node_modules/underscore/modules/toPath.js +9 -9
  545. package/node_modules/underscore/modules/underscore-array-methods.js +31 -31
  546. package/node_modules/underscore/modules/underscore.js +25 -25
  547. package/node_modules/underscore/modules/unescape.js +5 -5
  548. package/node_modules/underscore/modules/union.js +9 -9
  549. package/node_modules/underscore/modules/uniq.js +36 -36
  550. package/node_modules/underscore/modules/uniqueId.js +7 -7
  551. package/node_modules/underscore/modules/unzip.js +15 -15
  552. package/node_modules/underscore/modules/values.js +12 -12
  553. package/node_modules/underscore/modules/where.js +8 -8
  554. package/node_modules/underscore/modules/without.js +7 -7
  555. package/node_modules/underscore/modules/wrap.js +8 -8
  556. package/node_modules/underscore/modules/zip.js +6 -6
  557. package/node_modules/underscore/package.json +108 -108
  558. package/node_modules/underscore/underscore-esm-min.js +4 -4
  559. package/node_modules/underscore/underscore-esm.js +2026 -2026
  560. package/node_modules/underscore/underscore-min.js +5 -5
  561. package/node_modules/underscore/underscore.js +2034 -2034
  562. package/node_modules/xhr2/CONTRIBUTING.md +33 -33
  563. package/node_modules/xhr2/Cakefile +131 -131
  564. package/node_modules/xhr2/LICENSE.txt +19 -19
  565. package/node_modules/xhr2/lib/browser.js +1 -1
  566. package/node_modules/xhr2/lib/xhr2.js +1244 -1244
  567. package/node_modules/xhr2/package.json +93 -93
  568. package/node_modules/xhr2/src/001-xml_http_request.coffee +782 -782
  569. package/node_modules/xhr2/src/errors.coffee +31 -31
  570. package/node_modules/xhr2/src/progress_event.coffee +39 -39
  571. package/node_modules/xhr2/test/fixtures/hello.json +1 -1
  572. package/node_modules/xhr2/test/fixtures/hello.txt +1 -1
  573. package/node_modules/xhr2/test/html/browser_test.html +30 -30
  574. package/node_modules/xhr2/test/src/event_target_test.coffee +85 -85
  575. package/node_modules/xhr2/test/src/events_test.coffee +204 -204
  576. package/node_modules/xhr2/test/src/headers_test.coffee +165 -165
  577. package/node_modules/xhr2/test/src/helpers/browser_mocha_setup.coffee +1 -1
  578. package/node_modules/xhr2/test/src/helpers/setup.coffee +38 -38
  579. package/node_modules/xhr2/test/src/helpers/xhr_server.coffee +156 -156
  580. package/node_modules/xhr2/test/src/nodejs_set_test.coffee +162 -162
  581. package/node_modules/xhr2/test/src/redirect_test.coffee +57 -57
  582. package/node_modules/xhr2/test/src/response_type_test.coffee +88 -88
  583. package/node_modules/xhr2/test/src/send_test.coffee +89 -89
  584. package/node_modules/xhr2/test/src/status_test.coffee +47 -47
  585. package/node_modules/xhr2/test/src/xhr_test.coffee +102 -102
  586. package/package.json +1 -1
  587. package/readme.md +1 -1
  588. package/node_modules/underscore/underscore-min.js.map +0 -1
  589. package/node_modules/xhr2/README.md +0 -144
  590. package/node_modules/xhr2/src/000-xml_http_request_event_target.coffee +0 -89
  591. package/node_modules/xhr2/src/xml_http_request_upload.coffee +0 -95
  592. package/node_modules/xhr2/test/src/helpers/browser_mocha_runner.coffee +0 -10
  593. package/node_modules/xhr2/test/src/responseurl_test.coffee +0 -18
@@ -1,165 +1,165 @@
1
- describe 'XMLHttpRequest', ->
2
- beforeEach ->
3
- @xhr = new XMLHttpRequest
4
-
5
- describe '#setRequestHeader', ->
6
- beforeEach ->
7
- @xhr.open 'POST', 'http://localhost:8912/_/headers'
8
- @xhr.responseType = 'text'
9
-
10
- describe 'with allowed headers', ->
11
- beforeEach ->
12
- @xhr.setRequestHeader 'Authorization', 'lol'
13
- @xhr.setRequestHeader 'X-Answer', '42'
14
- @xhr.setRequestHeader 'X-Header-Name', 'value'
15
-
16
- it 'should send the headers', (done) ->
17
- @xhr.onload = =>
18
- expect(@xhr.responseText).to.match(/^\{.*\}$/)
19
- headers = JSON.parse @xhr.responseText
20
- expect(headers).to.have.property 'authorization'
21
- expect(headers['authorization']).to.equal 'lol'
22
- expect(headers).to.have.property 'x-answer'
23
- expect(headers['x-answer']).to.equal '42'
24
- expect(headers).to.have.property 'x-header-name'
25
- expect(headers['x-header-name']).to.equal 'value'
26
- done()
27
- @xhr.send ''
28
-
29
- describe 'with a mix of allowed and forbidden headers', ->
30
- beforeEach ->
31
- @xhr.setRequestHeader 'Authorization', 'lol'
32
- @xhr.setRequestHeader 'Proxy-Authorization', 'evil:kitten'
33
- @xhr.setRequestHeader 'Sec-Breach', 'yes please'
34
- @xhr.setRequestHeader 'Host', 'www.google.com'
35
- @xhr.setRequestHeader 'Origin', 'https://www.google.com'
36
- @xhr.setRequestHeader 'X-Answer', '42'
37
-
38
- it 'should only send the allowed headers', (done) ->
39
- @xhr.onloadend = =>
40
- expect(@xhr.responseText).to.match(/^\{.*\}$/)
41
- headers = JSON.parse @xhr.responseText
42
- expect(headers).to.have.property 'authorization'
43
- expect(headers['authorization']).to.equal 'lol'
44
- expect(headers).not.to.have.property 'proxy-authorization'
45
- expect(headers).not.to.have.property 'sec-breach'
46
- expect(headers['origin']).not.to.match /www\.google\.com/
47
- expect(headers['host']).not.to.match /www\.google\.com/
48
- expect(headers).to.have.property 'x-answer'
49
- expect(headers['x-answer']).to.equal '42'
50
- done()
51
- @xhr.send ''
52
-
53
- describe 'with repeated headers', ->
54
- beforeEach ->
55
- @xhr.setRequestHeader 'Authorization', 'trol'
56
- @xhr.setRequestHeader 'Authorization', 'lol'
57
- @xhr.setRequestHeader 'Authorization', 'lol'
58
- @xhr.setRequestHeader 'X-Answer', '42'
59
-
60
- it 'should only send the allowed headers', (done) ->
61
- _done = false
62
- @xhr.onreadystatechange = =>
63
- return if _done or @xhr.readyState isnt XMLHttpRequest.DONE
64
- _done = true
65
- expect(@xhr.responseText).to.match(/^\{.*\}$/)
66
- headers = JSON.parse @xhr.responseText
67
- expect(headers).to.have.property 'authorization'
68
- expect(headers['authorization']).to.equal 'trol, lol, lol'
69
- expect(headers).to.have.property 'x-answer'
70
- expect(headers['x-answer']).to.equal '42'
71
- done()
72
- @xhr.send ''
73
-
74
- describe 'with no headers', ->
75
- beforeEach ->
76
- @xhr.open 'POST', 'http://localhost:8912/_/headers'
77
- @xhr.responseType = 'text'
78
-
79
- it 'should set the protected headers correctly', (done) ->
80
- @xhr.onload = =>
81
- expect(@xhr.responseText).to.match(/^\{.*\}$/)
82
- headers = JSON.parse @xhr.responseText
83
- expect(headers).to.have.property 'connection'
84
- expect(headers['connection']).to.equal 'keep-alive'
85
- expect(headers).to.have.property 'host'
86
- expect(headers['host']).to.equal 'localhost:8912'
87
- expect(headers).to.have.property 'user-agent'
88
- expect(headers['user-agent']).to.match(/^Mozilla\//)
89
- done()
90
- @xhr.send ''
91
-
92
- describe '#getResponseHeader', ->
93
- beforeEach ->
94
- @xhr.open 'POST', 'http://localhost:8912/_/get_headers'
95
- @headerJson =
96
- '''
97
- {"Accept-Ranges": "bytes",
98
- "Content-Type": "application/xhr2; charset=utf-1337",
99
- "Set-Cookie": "UserID=JohnDoe; Max-Age=3600; Version=1",
100
- "X-Header": "one, more, value"}
101
- '''
102
-
103
- it 'returns accessible headers', (done) ->
104
- @xhr.onloadend = =>
105
- expect(@xhr.getResponseHeader('AccEPt-RANgeS')).to.equal 'bytes'
106
- expect(@xhr.getResponseHeader('content-Type')).to.
107
- equal 'application/xhr2; charset=utf-1337'
108
- expect(@xhr.getResponseHeader('X-Header')).to.equal "one, more, value"
109
- done()
110
- @xhr.send @headerJson
111
-
112
- it 'returns null for private headers', (done) ->
113
- @xhr.onloadend = =>
114
- expect(@xhr.getResponseHeader('set-cookie')).to.equal null
115
- done()
116
- @xhr.send @headerJson
117
-
118
- it 'returns headers when the XHR enters HEADERS_RECEIVED', (done) ->
119
- _done = false
120
- @xhr.onreadystatechange = =>
121
- return if _done or @xhr.readyState isnt XMLHttpRequest.HEADERS_RECEIVED
122
- _done = true
123
- expect(@xhr.getResponseHeader('AccEPt-RANgeS')).to.equal 'bytes'
124
- done()
125
- @xhr.send @headerJson
126
-
127
- describe '#getAllResponseHeaders', ->
128
- beforeEach ->
129
- @xhr.open 'POST', 'http://localhost:8912/_/get_headers'
130
- @headerJson =
131
- '''
132
- {"Accept-Ranges": "bytes",
133
- "Content-Type": "application/xhr2; charset=utf-1337",
134
- "Set-Cookie": "UserID=JohnDoe; Max-Age=3600; Version=1",
135
- "X-Header": "one, more, value"}
136
- '''
137
-
138
- it 'contains accessible headers', (done) ->
139
- @xhr.onloadend = =>
140
- headers = @xhr.getAllResponseHeaders()
141
- expect(headers).to.match(/(\A|\r\n)accept-ranges: bytes(\r\n|\Z)/mi)
142
- expect(headers).to.match(
143
- /(\A|\r\n)content-type: application\/xhr2; charset=utf-1337(\r\n|\Z)/mi)
144
- expect(headers).to.match(/(\A|\r\n)X-Header: one, more, value(\r\n|\Z)/mi)
145
- done()
146
- @xhr.send @headerJson
147
-
148
- it 'does not contain private headers', (done) ->
149
- @xhr.onloadend = =>
150
- headers = @xhr.getAllResponseHeaders()
151
- expect(headers).not.to.match(/(\A|\r\n)set-cookie:/mi)
152
- done()
153
- @xhr.send @headerJson
154
-
155
- it 'returns headers when the XHR enters HEADERS_RECEIVED', (done) ->
156
- _done = false
157
- @xhr.onreadystatechange = =>
158
- return if _done or @xhr.readyState isnt XMLHttpRequest.HEADERS_RECEIVED
159
- _done = true
160
- headers = @xhr.getAllResponseHeaders()
161
- expect(headers).to.match(/(\A|\r\n)accept-ranges: bytes(\r\n|\Z)/mi)
162
- done()
163
- @xhr.send @headerJson
164
-
165
-
1
+ describe 'XMLHttpRequest', ->
2
+ beforeEach ->
3
+ @xhr = new XMLHttpRequest
4
+
5
+ describe '#setRequestHeader', ->
6
+ beforeEach ->
7
+ @xhr.open 'POST', 'http://localhost:8912/_/headers'
8
+ @xhr.responseType = 'text'
9
+
10
+ describe 'with allowed headers', ->
11
+ beforeEach ->
12
+ @xhr.setRequestHeader 'Authorization', 'lol'
13
+ @xhr.setRequestHeader 'X-Answer', '42'
14
+ @xhr.setRequestHeader 'X-Header-Name', 'value'
15
+
16
+ it 'should send the headers', (done) ->
17
+ @xhr.onload = =>
18
+ expect(@xhr.responseText).to.match(/^\{.*\}$/)
19
+ headers = JSON.parse @xhr.responseText
20
+ expect(headers).to.have.property 'authorization'
21
+ expect(headers['authorization']).to.equal 'lol'
22
+ expect(headers).to.have.property 'x-answer'
23
+ expect(headers['x-answer']).to.equal '42'
24
+ expect(headers).to.have.property 'x-header-name'
25
+ expect(headers['x-header-name']).to.equal 'value'
26
+ done()
27
+ @xhr.send ''
28
+
29
+ describe 'with a mix of allowed and forbidden headers', ->
30
+ beforeEach ->
31
+ @xhr.setRequestHeader 'Authorization', 'lol'
32
+ @xhr.setRequestHeader 'Proxy-Authorization', 'evil:kitten'
33
+ @xhr.setRequestHeader 'Sec-Breach', 'yes please'
34
+ @xhr.setRequestHeader 'Host', 'www.google.com'
35
+ @xhr.setRequestHeader 'Origin', 'https://www.google.com'
36
+ @xhr.setRequestHeader 'X-Answer', '42'
37
+
38
+ it 'should only send the allowed headers', (done) ->
39
+ @xhr.onloadend = =>
40
+ expect(@xhr.responseText).to.match(/^\{.*\}$/)
41
+ headers = JSON.parse @xhr.responseText
42
+ expect(headers).to.have.property 'authorization'
43
+ expect(headers['authorization']).to.equal 'lol'
44
+ expect(headers).not.to.have.property 'proxy-authorization'
45
+ expect(headers).not.to.have.property 'sec-breach'
46
+ expect(headers['origin']).not.to.match /www\.google\.com/
47
+ expect(headers['host']).not.to.match /www\.google\.com/
48
+ expect(headers).to.have.property 'x-answer'
49
+ expect(headers['x-answer']).to.equal '42'
50
+ done()
51
+ @xhr.send ''
52
+
53
+ describe 'with repeated headers', ->
54
+ beforeEach ->
55
+ @xhr.setRequestHeader 'Authorization', 'trol'
56
+ @xhr.setRequestHeader 'Authorization', 'lol'
57
+ @xhr.setRequestHeader 'Authorization', 'lol'
58
+ @xhr.setRequestHeader 'X-Answer', '42'
59
+
60
+ it 'should only send the allowed headers', (done) ->
61
+ _done = false
62
+ @xhr.onreadystatechange = =>
63
+ return if _done or @xhr.readyState isnt XMLHttpRequest.DONE
64
+ _done = true
65
+ expect(@xhr.responseText).to.match(/^\{.*\}$/)
66
+ headers = JSON.parse @xhr.responseText
67
+ expect(headers).to.have.property 'authorization'
68
+ expect(headers['authorization']).to.equal 'trol, lol, lol'
69
+ expect(headers).to.have.property 'x-answer'
70
+ expect(headers['x-answer']).to.equal '42'
71
+ done()
72
+ @xhr.send ''
73
+
74
+ describe 'with no headers', ->
75
+ beforeEach ->
76
+ @xhr.open 'POST', 'http://localhost:8912/_/headers'
77
+ @xhr.responseType = 'text'
78
+
79
+ it 'should set the protected headers correctly', (done) ->
80
+ @xhr.onload = =>
81
+ expect(@xhr.responseText).to.match(/^\{.*\}$/)
82
+ headers = JSON.parse @xhr.responseText
83
+ expect(headers).to.have.property 'connection'
84
+ expect(headers['connection']).to.equal 'keep-alive'
85
+ expect(headers).to.have.property 'host'
86
+ expect(headers['host']).to.equal 'localhost:8912'
87
+ expect(headers).to.have.property 'user-agent'
88
+ expect(headers['user-agent']).to.match(/^Mozilla\//)
89
+ done()
90
+ @xhr.send ''
91
+
92
+ describe '#getResponseHeader', ->
93
+ beforeEach ->
94
+ @xhr.open 'POST', 'http://localhost:8912/_/get_headers'
95
+ @headerJson =
96
+ '''
97
+ {"Accept-Ranges": "bytes",
98
+ "Content-Type": "application/xhr2; charset=utf-1337",
99
+ "Set-Cookie": "UserID=JohnDoe; Max-Age=3600; Version=1",
100
+ "X-Header": "one, more, value"}
101
+ '''
102
+
103
+ it 'returns accessible headers', (done) ->
104
+ @xhr.onloadend = =>
105
+ expect(@xhr.getResponseHeader('AccEPt-RANgeS')).to.equal 'bytes'
106
+ expect(@xhr.getResponseHeader('content-Type')).to.
107
+ equal 'application/xhr2; charset=utf-1337'
108
+ expect(@xhr.getResponseHeader('X-Header')).to.equal "one, more, value"
109
+ done()
110
+ @xhr.send @headerJson
111
+
112
+ it 'returns null for private headers', (done) ->
113
+ @xhr.onloadend = =>
114
+ expect(@xhr.getResponseHeader('set-cookie')).to.equal null
115
+ done()
116
+ @xhr.send @headerJson
117
+
118
+ it 'returns headers when the XHR enters HEADERS_RECEIVED', (done) ->
119
+ _done = false
120
+ @xhr.onreadystatechange = =>
121
+ return if _done or @xhr.readyState isnt XMLHttpRequest.HEADERS_RECEIVED
122
+ _done = true
123
+ expect(@xhr.getResponseHeader('AccEPt-RANgeS')).to.equal 'bytes'
124
+ done()
125
+ @xhr.send @headerJson
126
+
127
+ describe '#getAllResponseHeaders', ->
128
+ beforeEach ->
129
+ @xhr.open 'POST', 'http://localhost:8912/_/get_headers'
130
+ @headerJson =
131
+ '''
132
+ {"Accept-Ranges": "bytes",
133
+ "Content-Type": "application/xhr2; charset=utf-1337",
134
+ "Set-Cookie": "UserID=JohnDoe; Max-Age=3600; Version=1",
135
+ "X-Header": "one, more, value"}
136
+ '''
137
+
138
+ it 'contains accessible headers', (done) ->
139
+ @xhr.onloadend = =>
140
+ headers = @xhr.getAllResponseHeaders()
141
+ expect(headers).to.match(/(\A|\r\n)accept-ranges: bytes(\r\n|\Z)/mi)
142
+ expect(headers).to.match(
143
+ /(\A|\r\n)content-type: application\/xhr2; charset=utf-1337(\r\n|\Z)/mi)
144
+ expect(headers).to.match(/(\A|\r\n)X-Header: one, more, value(\r\n|\Z)/mi)
145
+ done()
146
+ @xhr.send @headerJson
147
+
148
+ it 'does not contain private headers', (done) ->
149
+ @xhr.onloadend = =>
150
+ headers = @xhr.getAllResponseHeaders()
151
+ expect(headers).not.to.match(/(\A|\r\n)set-cookie:/mi)
152
+ done()
153
+ @xhr.send @headerJson
154
+
155
+ it 'returns headers when the XHR enters HEADERS_RECEIVED', (done) ->
156
+ _done = false
157
+ @xhr.onreadystatechange = =>
158
+ return if _done or @xhr.readyState isnt XMLHttpRequest.HEADERS_RECEIVED
159
+ _done = true
160
+ headers = @xhr.getAllResponseHeaders()
161
+ expect(headers).to.match(/(\A|\r\n)accept-ranges: bytes(\r\n|\Z)/mi)
162
+ done()
163
+ @xhr.send @headerJson
164
+
165
+
@@ -1 +1 @@
1
- mocha.setup ui: 'bdd', slow: 150, timeout: 1000, bail: false
1
+ mocha.setup ui: 'bdd', slow: 150, timeout: 1000, bail: false
@@ -1,38 +1,38 @@
1
- if typeof window is 'undefined'
2
- # node.js
3
- global.XMLHttpRequest = require '../../../lib/xhr2'
4
- global.ProgressEvent = XMLHttpRequest.ProgressEvent
5
- global.NetworkError = XMLHttpRequest.NetworkError
6
- global.SecurityError = XMLHttpRequest.SecurityError
7
- global.InvalidStateError = XMLHttpRequest.InvalidStateError
8
-
9
- global.chai = require 'chai'
10
- global.assert = global.chai.assert
11
- global.expect = global.chai.expect
12
- global.sinon = require 'sinon'
13
- global.sinonChai = require 'sinon-chai'
14
-
15
- xhrServer = require './xhr_server'
16
- require './xhr2.png.js'
17
-
18
- https = require 'https'
19
- agent = new https.Agent
20
- agent.options.rejectUnauthorized = true
21
- agent.options.ca = xhrServer.https.sslCertificate()
22
- global.XMLHttpRequest.nodejsSet httpsAgent: agent
23
- global.XMLHttpRequest.nodejsSet(
24
- baseUrl: xhrServer.http.testUrl().replace('https://', 'http://'))
25
- else
26
- # browser
27
-
28
- # HACK(pwnall): the test is first loaded on https so the developer can bypass
29
- # the SSL interstitial; however, we need to run the test on http, because
30
- # Chrome blocks https -> http XHRs
31
- if window.location.href.indexOf('https://') is 0
32
- window.location.href = window.location.href.replace('https://', 'http://').
33
- replace(':8911', ':8912')
34
-
35
- window.NetworkError = window.Error
36
- window.SecurityError = window.Error
37
- window.assert = window.chai.assert
38
- window.expect = window.chai.expect
1
+ if typeof window is 'undefined'
2
+ # node.js
3
+ global.XMLHttpRequest = require '../../../lib/xhr2'
4
+ global.ProgressEvent = XMLHttpRequest.ProgressEvent
5
+ global.NetworkError = XMLHttpRequest.NetworkError
6
+ global.SecurityError = XMLHttpRequest.SecurityError
7
+ global.InvalidStateError = XMLHttpRequest.InvalidStateError
8
+
9
+ global.chai = require 'chai'
10
+ global.assert = global.chai.assert
11
+ global.expect = global.chai.expect
12
+ global.sinon = require 'sinon'
13
+ global.sinonChai = require 'sinon-chai'
14
+
15
+ xhrServer = require './xhr_server'
16
+ require './xhr2.png.js'
17
+
18
+ https = require 'https'
19
+ agent = new https.Agent
20
+ agent.options.rejectUnauthorized = true
21
+ agent.options.ca = xhrServer.https.sslCertificate()
22
+ global.XMLHttpRequest.nodejsSet httpsAgent: agent
23
+ global.XMLHttpRequest.nodejsSet(
24
+ baseUrl: xhrServer.http.testUrl().replace('https://', 'http://'))
25
+ else
26
+ # browser
27
+
28
+ # HACK(pwnall): the test is first loaded on https so the developer can bypass
29
+ # the SSL interstitial; however, we need to run the test on http, because
30
+ # Chrome blocks https -> http XHRs
31
+ if window.location.href.indexOf('https://') is 0
32
+ window.location.href = window.location.href.replace('https://', 'http://').
33
+ replace(':8911', ':8912')
34
+
35
+ window.NetworkError = window.Error
36
+ window.SecurityError = window.Error
37
+ window.assert = window.chai.assert
38
+ window.expect = window.chai.expect