fsevents 1.1.1 → 1.2.13

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 (1078) hide show
  1. package/.travis.yml +13 -13
  2. package/binding.gyp +1 -9
  3. package/fsevents.cc +18 -32
  4. package/fsevents.js +1 -3
  5. package/install.js +13 -7
  6. package/package.json +7 -21
  7. package/src/async.cc +2 -2
  8. package/src/constants.cc +20 -20
  9. package/src/methods.cc +9 -7
  10. package/src/thread.cc +5 -6
  11. package/.npmignore +0 -1
  12. package/build/.target.mk +0 -49
  13. package/build/Makefile +0 -352
  14. package/build/action_after_build.target.mk +0 -32
  15. package/build/binding.Makefile +0 -6
  16. package/build/fse.target.mk +0 -169
  17. package/build/gyp-mac-tool +0 -612
  18. package/lib/binding/Release/node-v11-darwin-x64/fse.node +0 -0
  19. package/lib/binding/Release/node-v46-darwin-x64/fse.node +0 -0
  20. package/lib/binding/Release/node-v47-darwin-x64/fse.node +0 -0
  21. package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  22. package/node_modules/abbrev/LICENSE +0 -15
  23. package/node_modules/abbrev/README.md +0 -23
  24. package/node_modules/abbrev/abbrev.js +0 -61
  25. package/node_modules/abbrev/package.json +0 -93
  26. package/node_modules/ansi-regex/index.js +0 -4
  27. package/node_modules/ansi-regex/license +0 -21
  28. package/node_modules/ansi-regex/package.json +0 -132
  29. package/node_modules/ansi-regex/readme.md +0 -39
  30. package/node_modules/ansi-styles/index.js +0 -65
  31. package/node_modules/ansi-styles/license +0 -21
  32. package/node_modules/ansi-styles/package.json +0 -114
  33. package/node_modules/ansi-styles/readme.md +0 -86
  34. package/node_modules/aproba/LICENSE +0 -14
  35. package/node_modules/aproba/README.md +0 -89
  36. package/node_modules/aproba/index.js +0 -103
  37. package/node_modules/aproba/package.json +0 -96
  38. package/node_modules/are-we-there-yet/.npmignore +0 -5
  39. package/node_modules/are-we-there-yet/CHANGES.md +0 -19
  40. package/node_modules/are-we-there-yet/LICENSE +0 -5
  41. package/node_modules/are-we-there-yet/README.md +0 -194
  42. package/node_modules/are-we-there-yet/index.js +0 -4
  43. package/node_modules/are-we-there-yet/package.json +0 -90
  44. package/node_modules/are-we-there-yet/test/lib/test-event.js +0 -29
  45. package/node_modules/are-we-there-yet/test/tracker.js +0 -57
  46. package/node_modules/are-we-there-yet/test/trackergroup.js +0 -96
  47. package/node_modules/are-we-there-yet/test/trackerstream.js +0 -51
  48. package/node_modules/are-we-there-yet/tracker-base.js +0 -11
  49. package/node_modules/are-we-there-yet/tracker-group.js +0 -107
  50. package/node_modules/are-we-there-yet/tracker-stream.js +0 -35
  51. package/node_modules/are-we-there-yet/tracker.js +0 -30
  52. package/node_modules/asn1/.npmignore +0 -2
  53. package/node_modules/asn1/.travis.yml +0 -4
  54. package/node_modules/asn1/LICENSE +0 -19
  55. package/node_modules/asn1/README.md +0 -50
  56. package/node_modules/asn1/lib/ber/errors.js +0 -13
  57. package/node_modules/asn1/lib/ber/index.js +0 -27
  58. package/node_modules/asn1/lib/ber/reader.js +0 -261
  59. package/node_modules/asn1/lib/ber/types.js +0 -36
  60. package/node_modules/asn1/lib/ber/writer.js +0 -316
  61. package/node_modules/asn1/lib/index.js +0 -20
  62. package/node_modules/asn1/package.json +0 -98
  63. package/node_modules/asn1/tst/ber/reader.test.js +0 -208
  64. package/node_modules/asn1/tst/ber/writer.test.js +0 -370
  65. package/node_modules/assert-plus/AUTHORS +0 -6
  66. package/node_modules/assert-plus/CHANGES.md +0 -8
  67. package/node_modules/assert-plus/README.md +0 -155
  68. package/node_modules/assert-plus/assert.js +0 -206
  69. package/node_modules/assert-plus/package.json +0 -115
  70. package/node_modules/asynckit/LICENSE +0 -21
  71. package/node_modules/asynckit/README.md +0 -233
  72. package/node_modules/asynckit/bench.js +0 -76
  73. package/node_modules/asynckit/index.js +0 -6
  74. package/node_modules/asynckit/lib/abort.js +0 -29
  75. package/node_modules/asynckit/lib/async.js +0 -34
  76. package/node_modules/asynckit/lib/defer.js +0 -26
  77. package/node_modules/asynckit/lib/iterate.js +0 -75
  78. package/node_modules/asynckit/lib/readable_asynckit.js +0 -91
  79. package/node_modules/asynckit/lib/readable_parallel.js +0 -25
  80. package/node_modules/asynckit/lib/readable_serial.js +0 -25
  81. package/node_modules/asynckit/lib/readable_serial_ordered.js +0 -29
  82. package/node_modules/asynckit/lib/state.js +0 -37
  83. package/node_modules/asynckit/lib/streamify.js +0 -141
  84. package/node_modules/asynckit/lib/terminator.js +0 -29
  85. package/node_modules/asynckit/package.json +0 -126
  86. package/node_modules/asynckit/parallel.js +0 -43
  87. package/node_modules/asynckit/serial.js +0 -17
  88. package/node_modules/asynckit/serialOrdered.js +0 -75
  89. package/node_modules/asynckit/stream.js +0 -21
  90. package/node_modules/aws-sign2/LICENSE +0 -55
  91. package/node_modules/aws-sign2/README.md +0 -4
  92. package/node_modules/aws-sign2/index.js +0 -212
  93. package/node_modules/aws-sign2/package.json +0 -81
  94. package/node_modules/aws4/.npmignore +0 -4
  95. package/node_modules/aws4/.tern-port +0 -1
  96. package/node_modules/aws4/.travis.yml +0 -5
  97. package/node_modules/aws4/LICENSE +0 -19
  98. package/node_modules/aws4/README.md +0 -523
  99. package/node_modules/aws4/aws4.js +0 -332
  100. package/node_modules/aws4/lru.js +0 -96
  101. package/node_modules/aws4/package.json +0 -140
  102. package/node_modules/balanced-match/.npmignore +0 -5
  103. package/node_modules/balanced-match/LICENSE.md +0 -21
  104. package/node_modules/balanced-match/README.md +0 -91
  105. package/node_modules/balanced-match/index.js +0 -58
  106. package/node_modules/balanced-match/package.json +0 -110
  107. package/node_modules/bcrypt-pbkdf/README.md +0 -39
  108. package/node_modules/bcrypt-pbkdf/index.js +0 -556
  109. package/node_modules/bcrypt-pbkdf/package.json +0 -84
  110. package/node_modules/block-stream/LICENCE +0 -25
  111. package/node_modules/block-stream/LICENSE +0 -15
  112. package/node_modules/block-stream/README.md +0 -14
  113. package/node_modules/block-stream/block-stream.js +0 -209
  114. package/node_modules/block-stream/package.json +0 -95
  115. package/node_modules/boom/.npmignore +0 -18
  116. package/node_modules/boom/.travis.yml +0 -8
  117. package/node_modules/boom/CONTRIBUTING.md +0 -1
  118. package/node_modules/boom/LICENSE +0 -28
  119. package/node_modules/boom/README.md +0 -652
  120. package/node_modules/boom/images/boom.png +0 -0
  121. package/node_modules/boom/lib/index.js +0 -318
  122. package/node_modules/boom/package.json +0 -98
  123. package/node_modules/boom/test/index.js +0 -654
  124. package/node_modules/brace-expansion/README.md +0 -122
  125. package/node_modules/brace-expansion/index.js +0 -201
  126. package/node_modules/brace-expansion/package.json +0 -112
  127. package/node_modules/buffer-shims/index.js +0 -108
  128. package/node_modules/buffer-shims/license.md +0 -19
  129. package/node_modules/buffer-shims/package.json +0 -86
  130. package/node_modules/buffer-shims/readme.md +0 -21
  131. package/node_modules/caseless/LICENSE +0 -28
  132. package/node_modules/caseless/README.md +0 -45
  133. package/node_modules/caseless/index.js +0 -66
  134. package/node_modules/caseless/package.json +0 -96
  135. package/node_modules/caseless/test.js +0 -40
  136. package/node_modules/chalk/index.js +0 -116
  137. package/node_modules/chalk/license +0 -21
  138. package/node_modules/chalk/package.json +0 -140
  139. package/node_modules/chalk/readme.md +0 -213
  140. package/node_modules/code-point-at/index.js +0 -32
  141. package/node_modules/code-point-at/license +0 -21
  142. package/node_modules/code-point-at/package.json +0 -106
  143. package/node_modules/code-point-at/readme.md +0 -32
  144. package/node_modules/combined-stream/License +0 -19
  145. package/node_modules/combined-stream/Readme.md +0 -138
  146. package/node_modules/combined-stream/lib/combined_stream.js +0 -188
  147. package/node_modules/combined-stream/package.json +0 -101
  148. package/node_modules/commander/History.md +0 -261
  149. package/node_modules/commander/LICENSE +0 -22
  150. package/node_modules/commander/Readme.md +0 -351
  151. package/node_modules/commander/index.js +0 -1110
  152. package/node_modules/commander/package.json +0 -104
  153. package/node_modules/concat-map/.travis.yml +0 -4
  154. package/node_modules/concat-map/LICENSE +0 -18
  155. package/node_modules/concat-map/README.markdown +0 -62
  156. package/node_modules/concat-map/example/map.js +0 -6
  157. package/node_modules/concat-map/index.js +0 -13
  158. package/node_modules/concat-map/package.json +0 -117
  159. package/node_modules/concat-map/test/map.js +0 -39
  160. package/node_modules/console-control-strings/LICENSE +0 -13
  161. package/node_modules/console-control-strings/README.md +0 -145
  162. package/node_modules/console-control-strings/README.md~ +0 -140
  163. package/node_modules/console-control-strings/index.js +0 -125
  164. package/node_modules/console-control-strings/package.json +0 -96
  165. package/node_modules/core-util-is/LICENSE +0 -19
  166. package/node_modules/core-util-is/README.md +0 -3
  167. package/node_modules/core-util-is/float.patch +0 -604
  168. package/node_modules/core-util-is/lib/util.js +0 -107
  169. package/node_modules/core-util-is/package.json +0 -95
  170. package/node_modules/core-util-is/test.js +0 -68
  171. package/node_modules/cryptiles/.npmignore +0 -18
  172. package/node_modules/cryptiles/.travis.yml +0 -8
  173. package/node_modules/cryptiles/LICENSE +0 -28
  174. package/node_modules/cryptiles/README.md +0 -16
  175. package/node_modules/cryptiles/lib/index.js +0 -68
  176. package/node_modules/cryptiles/package.json +0 -94
  177. package/node_modules/cryptiles/test/index.js +0 -102
  178. package/node_modules/dashdash/CHANGES.md +0 -364
  179. package/node_modules/dashdash/LICENSE.txt +0 -24
  180. package/node_modules/dashdash/README.md +0 -574
  181. package/node_modules/dashdash/etc/dashdash.bash_completion.in +0 -389
  182. package/node_modules/dashdash/lib/dashdash.js +0 -1055
  183. package/node_modules/dashdash/node_modules/assert-plus/AUTHORS +0 -6
  184. package/node_modules/dashdash/node_modules/assert-plus/CHANGES.md +0 -14
  185. package/node_modules/dashdash/node_modules/assert-plus/README.md +0 -162
  186. package/node_modules/dashdash/node_modules/assert-plus/assert.js +0 -211
  187. package/node_modules/dashdash/node_modules/assert-plus/package.json +0 -115
  188. package/node_modules/dashdash/package.json +0 -125
  189. package/node_modules/debug/.jshintrc +0 -3
  190. package/node_modules/debug/.npmignore +0 -6
  191. package/node_modules/debug/History.md +0 -195
  192. package/node_modules/debug/Makefile +0 -36
  193. package/node_modules/debug/Readme.md +0 -188
  194. package/node_modules/debug/bower.json +0 -28
  195. package/node_modules/debug/browser.js +0 -168
  196. package/node_modules/debug/component.json +0 -19
  197. package/node_modules/debug/debug.js +0 -197
  198. package/node_modules/debug/node.js +0 -209
  199. package/node_modules/debug/package.json +0 -106
  200. package/node_modules/deep-extend/CHANGELOG.md +0 -21
  201. package/node_modules/deep-extend/LICENSE +0 -20
  202. package/node_modules/deep-extend/README.md +0 -90
  203. package/node_modules/deep-extend/index.js +0 -1
  204. package/node_modules/deep-extend/lib/deep-extend.js +0 -144
  205. package/node_modules/deep-extend/package.json +0 -120
  206. package/node_modules/delayed-stream/.npmignore +0 -1
  207. package/node_modules/delayed-stream/License +0 -19
  208. package/node_modules/delayed-stream/Makefile +0 -7
  209. package/node_modules/delayed-stream/Readme.md +0 -141
  210. package/node_modules/delayed-stream/lib/delayed_stream.js +0 -107
  211. package/node_modules/delayed-stream/package.json +0 -97
  212. package/node_modules/delegates/.npmignore +0 -1
  213. package/node_modules/delegates/History.md +0 -22
  214. package/node_modules/delegates/License +0 -20
  215. package/node_modules/delegates/Makefile +0 -8
  216. package/node_modules/delegates/Readme.md +0 -94
  217. package/node_modules/delegates/index.js +0 -121
  218. package/node_modules/delegates/package.json +0 -84
  219. package/node_modules/delegates/test/index.js +0 -94
  220. package/node_modules/ecc-jsbn/.npmignore +0 -15
  221. package/node_modules/ecc-jsbn/LICENSE +0 -21
  222. package/node_modules/ecc-jsbn/README.md +0 -8
  223. package/node_modules/ecc-jsbn/index.js +0 -57
  224. package/node_modules/ecc-jsbn/lib/LICENSE-jsbn +0 -40
  225. package/node_modules/ecc-jsbn/lib/ec.js +0 -561
  226. package/node_modules/ecc-jsbn/lib/sec.js +0 -170
  227. package/node_modules/ecc-jsbn/package.json +0 -90
  228. package/node_modules/ecc-jsbn/test.js +0 -14
  229. package/node_modules/escape-string-regexp/index.js +0 -11
  230. package/node_modules/escape-string-regexp/license +0 -21
  231. package/node_modules/escape-string-regexp/package.json +0 -109
  232. package/node_modules/escape-string-regexp/readme.md +0 -27
  233. package/node_modules/extend/.eslintrc +0 -192
  234. package/node_modules/extend/.jscs.json +0 -104
  235. package/node_modules/extend/.npmignore +0 -1
  236. package/node_modules/extend/.travis.yml +0 -44
  237. package/node_modules/extend/CHANGELOG.md +0 -69
  238. package/node_modules/extend/LICENSE +0 -23
  239. package/node_modules/extend/README.md +0 -62
  240. package/node_modules/extend/component.json +0 -32
  241. package/node_modules/extend/index.js +0 -86
  242. package/node_modules/extend/package.json +0 -106
  243. package/node_modules/extsprintf/.gitmodules +0 -6
  244. package/node_modules/extsprintf/LICENSE +0 -19
  245. package/node_modules/extsprintf/Makefile +0 -23
  246. package/node_modules/extsprintf/Makefile.deps +0 -39
  247. package/node_modules/extsprintf/Makefile.targ +0 -285
  248. package/node_modules/extsprintf/README.md +0 -39
  249. package/node_modules/extsprintf/examples/simple.js +0 -2
  250. package/node_modules/extsprintf/jsl.node.conf +0 -137
  251. package/node_modules/extsprintf/lib/extsprintf.js +0 -166
  252. package/node_modules/extsprintf/package.json +0 -74
  253. package/node_modules/forever-agent/LICENSE +0 -55
  254. package/node_modules/forever-agent/README.md +0 -4
  255. package/node_modules/forever-agent/index.js +0 -138
  256. package/node_modules/forever-agent/package.json +0 -88
  257. package/node_modules/form-data/License +0 -19
  258. package/node_modules/form-data/README.md +0 -217
  259. package/node_modules/form-data/lib/browser.js +0 -2
  260. package/node_modules/form-data/lib/form_data.js +0 -440
  261. package/node_modules/form-data/lib/populate.js +0 -10
  262. package/node_modules/form-data/package.json +0 -145
  263. package/node_modules/fs.realpath/LICENSE +0 -43
  264. package/node_modules/fs.realpath/README.md +0 -33
  265. package/node_modules/fs.realpath/index.js +0 -66
  266. package/node_modules/fs.realpath/old.js +0 -303
  267. package/node_modules/fs.realpath/package.json +0 -94
  268. package/node_modules/fstream/.npmignore +0 -5
  269. package/node_modules/fstream/.travis.yml +0 -9
  270. package/node_modules/fstream/LICENSE +0 -15
  271. package/node_modules/fstream/README.md +0 -76
  272. package/node_modules/fstream/examples/filter-pipe.js +0 -134
  273. package/node_modules/fstream/examples/pipe.js +0 -118
  274. package/node_modules/fstream/examples/reader.js +0 -68
  275. package/node_modules/fstream/examples/symlink-write.js +0 -27
  276. package/node_modules/fstream/fstream.js +0 -35
  277. package/node_modules/fstream/lib/abstract.js +0 -85
  278. package/node_modules/fstream/lib/collect.js +0 -70
  279. package/node_modules/fstream/lib/dir-reader.js +0 -252
  280. package/node_modules/fstream/lib/dir-writer.js +0 -174
  281. package/node_modules/fstream/lib/file-reader.js +0 -150
  282. package/node_modules/fstream/lib/file-writer.js +0 -107
  283. package/node_modules/fstream/lib/get-type.js +0 -33
  284. package/node_modules/fstream/lib/link-reader.js +0 -53
  285. package/node_modules/fstream/lib/link-writer.js +0 -95
  286. package/node_modules/fstream/lib/proxy-reader.js +0 -95
  287. package/node_modules/fstream/lib/proxy-writer.js +0 -111
  288. package/node_modules/fstream/lib/reader.js +0 -255
  289. package/node_modules/fstream/lib/socket-reader.js +0 -36
  290. package/node_modules/fstream/lib/writer.js +0 -390
  291. package/node_modules/fstream/package.json +0 -110
  292. package/node_modules/fstream-ignore/LICENSE +0 -15
  293. package/node_modules/fstream-ignore/README.md +0 -22
  294. package/node_modules/fstream-ignore/ignore.js +0 -275
  295. package/node_modules/fstream-ignore/package.json +0 -104
  296. package/node_modules/gauge/CHANGELOG.md +0 -155
  297. package/node_modules/gauge/LICENSE +0 -13
  298. package/node_modules/gauge/README.md +0 -399
  299. package/node_modules/gauge/base-theme.js +0 -14
  300. package/node_modules/gauge/error.js +0 -24
  301. package/node_modules/gauge/has-color.js +0 -12
  302. package/node_modules/gauge/index.js +0 -233
  303. package/node_modules/gauge/package.json +0 -126
  304. package/node_modules/gauge/plumbing.js +0 -47
  305. package/node_modules/gauge/process.js +0 -3
  306. package/node_modules/gauge/progress-bar.js +0 -35
  307. package/node_modules/gauge/render-template.js +0 -181
  308. package/node_modules/gauge/set-immediate.js +0 -7
  309. package/node_modules/gauge/set-interval.js +0 -3
  310. package/node_modules/gauge/spin.js +0 -5
  311. package/node_modules/gauge/template-item.js +0 -73
  312. package/node_modules/gauge/theme-set.js +0 -115
  313. package/node_modules/gauge/themes.js +0 -54
  314. package/node_modules/gauge/wide-truncate.js +0 -25
  315. package/node_modules/generate-function/.npmignore +0 -1
  316. package/node_modules/generate-function/.travis.yml +0 -3
  317. package/node_modules/generate-function/README.md +0 -72
  318. package/node_modules/generate-function/example.js +0 -27
  319. package/node_modules/generate-function/index.js +0 -61
  320. package/node_modules/generate-function/package.json +0 -87
  321. package/node_modules/generate-function/test.js +0 -33
  322. package/node_modules/generate-object-property/.npmignore +0 -1
  323. package/node_modules/generate-object-property/.travis.yml +0 -3
  324. package/node_modules/generate-object-property/LICENSE +0 -21
  325. package/node_modules/generate-object-property/README.md +0 -19
  326. package/node_modules/generate-object-property/index.js +0 -12
  327. package/node_modules/generate-object-property/package.json +0 -84
  328. package/node_modules/generate-object-property/test.js +0 -12
  329. package/node_modules/getpass/.npmignore +0 -8
  330. package/node_modules/getpass/.travis.yml +0 -9
  331. package/node_modules/getpass/LICENSE +0 -18
  332. package/node_modules/getpass/README.md +0 -32
  333. package/node_modules/getpass/lib/index.js +0 -123
  334. package/node_modules/getpass/node_modules/assert-plus/AUTHORS +0 -6
  335. package/node_modules/getpass/node_modules/assert-plus/CHANGES.md +0 -14
  336. package/node_modules/getpass/node_modules/assert-plus/README.md +0 -162
  337. package/node_modules/getpass/node_modules/assert-plus/assert.js +0 -211
  338. package/node_modules/getpass/node_modules/assert-plus/package.json +0 -115
  339. package/node_modules/getpass/package.json +0 -90
  340. package/node_modules/glob/LICENSE +0 -15
  341. package/node_modules/glob/README.md +0 -368
  342. package/node_modules/glob/changelog.md +0 -67
  343. package/node_modules/glob/common.js +0 -240
  344. package/node_modules/glob/glob.js +0 -792
  345. package/node_modules/glob/package.json +0 -111
  346. package/node_modules/glob/sync.js +0 -486
  347. package/node_modules/graceful-fs/LICENSE +0 -15
  348. package/node_modules/graceful-fs/README.md +0 -133
  349. package/node_modules/graceful-fs/fs.js +0 -21
  350. package/node_modules/graceful-fs/graceful-fs.js +0 -262
  351. package/node_modules/graceful-fs/legacy-streams.js +0 -118
  352. package/node_modules/graceful-fs/package.json +0 -111
  353. package/node_modules/graceful-fs/polyfills.js +0 -330
  354. package/node_modules/graceful-readlink/.npmignore +0 -3
  355. package/node_modules/graceful-readlink/.travis.yml +0 -5
  356. package/node_modules/graceful-readlink/LICENSE +0 -22
  357. package/node_modules/graceful-readlink/README.md +0 -17
  358. package/node_modules/graceful-readlink/index.js +0 -12
  359. package/node_modules/graceful-readlink/package.json +0 -83
  360. package/node_modules/har-validator/LICENSE +0 -13
  361. package/node_modules/har-validator/README.md +0 -309
  362. package/node_modules/har-validator/bin/har-validator +0 -56
  363. package/node_modules/har-validator/lib/async.js +0 -14
  364. package/node_modules/har-validator/lib/error.js +0 -10
  365. package/node_modules/har-validator/lib/index.js +0 -22
  366. package/node_modules/har-validator/lib/runner.js +0 -29
  367. package/node_modules/har-validator/lib/schemas/cache.json +0 -13
  368. package/node_modules/har-validator/lib/schemas/cacheEntry.json +0 -31
  369. package/node_modules/har-validator/lib/schemas/content.json +0 -27
  370. package/node_modules/har-validator/lib/schemas/cookie.json +0 -34
  371. package/node_modules/har-validator/lib/schemas/creator.json +0 -18
  372. package/node_modules/har-validator/lib/schemas/entry.json +0 -51
  373. package/node_modules/har-validator/lib/schemas/har.json +0 -11
  374. package/node_modules/har-validator/lib/schemas/index.js +0 -49
  375. package/node_modules/har-validator/lib/schemas/log.json +0 -34
  376. package/node_modules/har-validator/lib/schemas/page.json +0 -30
  377. package/node_modules/har-validator/lib/schemas/pageTimings.json +0 -16
  378. package/node_modules/har-validator/lib/schemas/postData.json +0 -41
  379. package/node_modules/har-validator/lib/schemas/record.json +0 -18
  380. package/node_modules/har-validator/lib/schemas/request.json +0 -55
  381. package/node_modules/har-validator/lib/schemas/response.json +0 -52
  382. package/node_modules/har-validator/lib/schemas/timings.json +0 -40
  383. package/node_modules/har-validator/package.json +0 -120
  384. package/node_modules/has-ansi/index.js +0 -4
  385. package/node_modules/has-ansi/license +0 -21
  386. package/node_modules/has-ansi/package.json +0 -118
  387. package/node_modules/has-ansi/readme.md +0 -36
  388. package/node_modules/has-unicode/LICENSE +0 -14
  389. package/node_modules/has-unicode/README.md +0 -43
  390. package/node_modules/has-unicode/index.js +0 -16
  391. package/node_modules/has-unicode/package.json +0 -94
  392. package/node_modules/hawk/.npmignore +0 -20
  393. package/node_modules/hawk/.travis.yml +0 -5
  394. package/node_modules/hawk/LICENSE +0 -28
  395. package/node_modules/hawk/README.md +0 -634
  396. package/node_modules/hawk/bower.json +0 -24
  397. package/node_modules/hawk/component.json +0 -19
  398. package/node_modules/hawk/dist/client.js +0 -343
  399. package/node_modules/hawk/example/usage.js +0 -78
  400. package/node_modules/hawk/images/hawk.png +0 -0
  401. package/node_modules/hawk/images/logo.png +0 -0
  402. package/node_modules/hawk/lib/browser.js +0 -637
  403. package/node_modules/hawk/lib/client.js +0 -369
  404. package/node_modules/hawk/lib/crypto.js +0 -126
  405. package/node_modules/hawk/lib/index.js +0 -15
  406. package/node_modules/hawk/lib/server.js +0 -548
  407. package/node_modules/hawk/lib/utils.js +0 -184
  408. package/node_modules/hawk/package.json +0 -101
  409. package/node_modules/hawk/test/browser.js +0 -1492
  410. package/node_modules/hawk/test/client.js +0 -440
  411. package/node_modules/hawk/test/crypto.js +0 -70
  412. package/node_modules/hawk/test/index.js +0 -378
  413. package/node_modules/hawk/test/readme.js +0 -95
  414. package/node_modules/hawk/test/server.js +0 -1329
  415. package/node_modules/hawk/test/uri.js +0 -838
  416. package/node_modules/hawk/test/utils.js +0 -149
  417. package/node_modules/hoek/.npmignore +0 -18
  418. package/node_modules/hoek/.travis.yml +0 -7
  419. package/node_modules/hoek/CONTRIBUTING.md +0 -1
  420. package/node_modules/hoek/LICENSE +0 -31
  421. package/node_modules/hoek/README.md +0 -584
  422. package/node_modules/hoek/images/hoek.png +0 -0
  423. package/node_modules/hoek/lib/escape.js +0 -132
  424. package/node_modules/hoek/lib/index.js +0 -993
  425. package/node_modules/hoek/package.json +0 -96
  426. package/node_modules/hoek/test/escaper.js +0 -88
  427. package/node_modules/hoek/test/index.js +0 -2513
  428. package/node_modules/hoek/test/modules/ignore.txt +0 -0
  429. package/node_modules/hoek/test/modules/test1.js +0 -1
  430. package/node_modules/hoek/test/modules/test2.js +0 -1
  431. package/node_modules/hoek/test/modules/test3.js +0 -1
  432. package/node_modules/http-signature/.dir-locals.el +0 -6
  433. package/node_modules/http-signature/.npmignore +0 -7
  434. package/node_modules/http-signature/CHANGES.md +0 -46
  435. package/node_modules/http-signature/LICENSE +0 -18
  436. package/node_modules/http-signature/README.md +0 -79
  437. package/node_modules/http-signature/http_signing.md +0 -363
  438. package/node_modules/http-signature/lib/index.js +0 -29
  439. package/node_modules/http-signature/lib/parser.js +0 -318
  440. package/node_modules/http-signature/lib/signer.js +0 -399
  441. package/node_modules/http-signature/lib/utils.js +0 -112
  442. package/node_modules/http-signature/lib/verify.js +0 -88
  443. package/node_modules/http-signature/package.json +0 -116
  444. package/node_modules/inflight/LICENSE +0 -15
  445. package/node_modules/inflight/README.md +0 -37
  446. package/node_modules/inflight/inflight.js +0 -54
  447. package/node_modules/inflight/package.json +0 -105
  448. package/node_modules/inherits/LICENSE +0 -16
  449. package/node_modules/inherits/README.md +0 -42
  450. package/node_modules/inherits/inherits.js +0 -7
  451. package/node_modules/inherits/inherits_browser.js +0 -23
  452. package/node_modules/inherits/package.json +0 -105
  453. package/node_modules/ini/LICENSE +0 -15
  454. package/node_modules/ini/README.md +0 -102
  455. package/node_modules/ini/ini.js +0 -190
  456. package/node_modules/ini/package.json +0 -89
  457. package/node_modules/is-fullwidth-code-point/index.js +0 -46
  458. package/node_modules/is-fullwidth-code-point/license +0 -21
  459. package/node_modules/is-fullwidth-code-point/package.json +0 -108
  460. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  461. package/node_modules/is-my-json-valid/.npmignore +0 -2
  462. package/node_modules/is-my-json-valid/.travis.yml +0 -3
  463. package/node_modules/is-my-json-valid/LICENSE +0 -21
  464. package/node_modules/is-my-json-valid/README.md +0 -173
  465. package/node_modules/is-my-json-valid/example.js +0 -18
  466. package/node_modules/is-my-json-valid/formats.js +0 -14
  467. package/node_modules/is-my-json-valid/index.js +0 -594
  468. package/node_modules/is-my-json-valid/package.json +0 -116
  469. package/node_modules/is-my-json-valid/require.js +0 -12
  470. package/node_modules/is-my-json-valid/test/fixtures/cosmic.js +0 -84
  471. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +0 -82
  472. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +0 -88
  473. package/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +0 -112
  474. package/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +0 -68
  475. package/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +0 -107
  476. package/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +0 -49
  477. package/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +0 -32
  478. package/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +0 -113
  479. package/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +0 -72
  480. package/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +0 -143
  481. package/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +0 -46
  482. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +0 -28
  483. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +0 -28
  484. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +0 -28
  485. package/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +0 -42
  486. package/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +0 -28
  487. package/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +0 -28
  488. package/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +0 -28
  489. package/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +0 -42
  490. package/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +0 -96
  491. package/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +0 -96
  492. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +0 -18
  493. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +0 -18
  494. package/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +0 -68
  495. package/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +0 -23
  496. package/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +0 -110
  497. package/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +0 -92
  498. package/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +0 -128
  499. package/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +0 -74
  500. package/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +0 -39
  501. package/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +0 -330
  502. package/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +0 -79
  503. package/node_modules/is-my-json-valid/test/json-schema.js +0 -23
  504. package/node_modules/is-my-json-valid/test/misc.js +0 -471
  505. package/node_modules/is-property/.npmignore +0 -17
  506. package/node_modules/is-property/LICENSE +0 -22
  507. package/node_modules/is-property/README.md +0 -28
  508. package/node_modules/is-property/is-property.js +0 -5
  509. package/node_modules/is-property/package.json +0 -92
  510. package/node_modules/is-typedarray/LICENSE.md +0 -18
  511. package/node_modules/is-typedarray/README.md +0 -16
  512. package/node_modules/is-typedarray/index.js +0 -41
  513. package/node_modules/is-typedarray/package.json +0 -90
  514. package/node_modules/is-typedarray/test.js +0 -34
  515. package/node_modules/isarray/.npmignore +0 -1
  516. package/node_modules/isarray/.travis.yml +0 -4
  517. package/node_modules/isarray/Makefile +0 -6
  518. package/node_modules/isarray/README.md +0 -60
  519. package/node_modules/isarray/component.json +0 -19
  520. package/node_modules/isarray/index.js +0 -5
  521. package/node_modules/isarray/package.json +0 -105
  522. package/node_modules/isarray/test.js +0 -20
  523. package/node_modules/isstream/.jshintrc +0 -59
  524. package/node_modules/isstream/.npmignore +0 -1
  525. package/node_modules/isstream/.travis.yml +0 -12
  526. package/node_modules/isstream/LICENSE.md +0 -11
  527. package/node_modules/isstream/README.md +0 -66
  528. package/node_modules/isstream/isstream.js +0 -27
  529. package/node_modules/isstream/package.json +0 -93
  530. package/node_modules/isstream/test.js +0 -168
  531. package/node_modules/jodid25519/.npmignore +0 -11
  532. package/node_modules/jodid25519/.travis.yml +0 -7
  533. package/node_modules/jodid25519/AUTHORS.md +0 -3
  534. package/node_modules/jodid25519/LICENSE +0 -23
  535. package/node_modules/jodid25519/README.md +0 -51
  536. package/node_modules/jodid25519/almond.0 +0 -42
  537. package/node_modules/jodid25519/almond.1 +0 -13
  538. package/node_modules/jodid25519/index.js +0 -35
  539. package/node_modules/jodid25519/jsdoc.json +0 -19
  540. package/node_modules/jodid25519/lib/core.js +0 -481
  541. package/node_modules/jodid25519/lib/curve255.js +0 -221
  542. package/node_modules/jodid25519/lib/dh.js +0 -111
  543. package/node_modules/jodid25519/lib/eddsa.js +0 -573
  544. package/node_modules/jodid25519/lib/utils.js +0 -198
  545. package/node_modules/jodid25519/package.json +0 -104
  546. package/node_modules/jsbn/.npmignore +0 -2
  547. package/node_modules/jsbn/LICENSE +0 -40
  548. package/node_modules/jsbn/README.md +0 -175
  549. package/node_modules/jsbn/example.html +0 -12
  550. package/node_modules/jsbn/example.js +0 -3
  551. package/node_modules/jsbn/index.js +0 -1357
  552. package/node_modules/jsbn/package.json +0 -91
  553. package/node_modules/json-schema/README.md +0 -5
  554. package/node_modules/json-schema/draft-00/hyper-schema +0 -68
  555. package/node_modules/json-schema/draft-00/json-ref +0 -26
  556. package/node_modules/json-schema/draft-00/links +0 -33
  557. package/node_modules/json-schema/draft-00/schema +0 -155
  558. package/node_modules/json-schema/draft-01/hyper-schema +0 -68
  559. package/node_modules/json-schema/draft-01/json-ref +0 -26
  560. package/node_modules/json-schema/draft-01/links +0 -33
  561. package/node_modules/json-schema/draft-01/schema +0 -155
  562. package/node_modules/json-schema/draft-02/hyper-schema +0 -68
  563. package/node_modules/json-schema/draft-02/json-ref +0 -26
  564. package/node_modules/json-schema/draft-02/links +0 -35
  565. package/node_modules/json-schema/draft-02/schema +0 -166
  566. package/node_modules/json-schema/draft-03/examples/address +0 -20
  567. package/node_modules/json-schema/draft-03/examples/calendar +0 -53
  568. package/node_modules/json-schema/draft-03/examples/card +0 -105
  569. package/node_modules/json-schema/draft-03/examples/geo +0 -8
  570. package/node_modules/json-schema/draft-03/examples/interfaces +0 -23
  571. package/node_modules/json-schema/draft-03/hyper-schema +0 -60
  572. package/node_modules/json-schema/draft-03/json-ref +0 -26
  573. package/node_modules/json-schema/draft-03/links +0 -35
  574. package/node_modules/json-schema/draft-03/schema +0 -174
  575. package/node_modules/json-schema/draft-04/hyper-schema +0 -60
  576. package/node_modules/json-schema/draft-04/links +0 -41
  577. package/node_modules/json-schema/draft-04/schema +0 -189
  578. package/node_modules/json-schema/draft-zyp-json-schema-03.xml +0 -1120
  579. package/node_modules/json-schema/draft-zyp-json-schema-04.xml +0 -1072
  580. package/node_modules/json-schema/lib/links.js +0 -66
  581. package/node_modules/json-schema/lib/validate.js +0 -273
  582. package/node_modules/json-schema/package.json +0 -100
  583. package/node_modules/json-schema/test/tests.js +0 -95
  584. package/node_modules/json-stringify-safe/.npmignore +0 -1
  585. package/node_modules/json-stringify-safe/CHANGELOG.md +0 -14
  586. package/node_modules/json-stringify-safe/LICENSE +0 -15
  587. package/node_modules/json-stringify-safe/Makefile +0 -35
  588. package/node_modules/json-stringify-safe/README.md +0 -52
  589. package/node_modules/json-stringify-safe/package.json +0 -102
  590. package/node_modules/json-stringify-safe/stringify.js +0 -27
  591. package/node_modules/json-stringify-safe/test/mocha.opts +0 -2
  592. package/node_modules/json-stringify-safe/test/stringify_test.js +0 -246
  593. package/node_modules/jsonpointer/LICENSE.md +0 -21
  594. package/node_modules/jsonpointer/README.md +0 -39
  595. package/node_modules/jsonpointer/jsonpointer.js +0 -93
  596. package/node_modules/jsonpointer/package.json +0 -112
  597. package/node_modules/jsprim/CHANGES.md +0 -39
  598. package/node_modules/jsprim/LICENSE +0 -19
  599. package/node_modules/jsprim/README.md +0 -237
  600. package/node_modules/jsprim/lib/jsprim.js +0 -488
  601. package/node_modules/jsprim/package.json +0 -85
  602. package/node_modules/mime-db/HISTORY.md +0 -391
  603. package/node_modules/mime-db/LICENSE +0 -22
  604. package/node_modules/mime-db/README.md +0 -82
  605. package/node_modules/mime-db/db.json +0 -6751
  606. package/node_modules/mime-db/index.js +0 -11
  607. package/node_modules/mime-db/package.json +0 -138
  608. package/node_modules/mime-types/HISTORY.md +0 -216
  609. package/node_modules/mime-types/LICENSE +0 -23
  610. package/node_modules/mime-types/README.md +0 -103
  611. package/node_modules/mime-types/index.js +0 -188
  612. package/node_modules/mime-types/package.json +0 -128
  613. package/node_modules/minimatch/LICENSE +0 -15
  614. package/node_modules/minimatch/README.md +0 -209
  615. package/node_modules/minimatch/minimatch.js +0 -923
  616. package/node_modules/minimatch/package.json +0 -98
  617. package/node_modules/minimist/.travis.yml +0 -4
  618. package/node_modules/minimist/LICENSE +0 -18
  619. package/node_modules/minimist/example/parse.js +0 -2
  620. package/node_modules/minimist/index.js +0 -187
  621. package/node_modules/minimist/package.json +0 -101
  622. package/node_modules/minimist/readme.markdown +0 -73
  623. package/node_modules/minimist/test/dash.js +0 -24
  624. package/node_modules/minimist/test/default_bool.js +0 -20
  625. package/node_modules/minimist/test/dotted.js +0 -16
  626. package/node_modules/minimist/test/long.js +0 -31
  627. package/node_modules/minimist/test/parse.js +0 -318
  628. package/node_modules/minimist/test/parse_modified.js +0 -9
  629. package/node_modules/minimist/test/short.js +0 -67
  630. package/node_modules/minimist/test/whitespace.js +0 -8
  631. package/node_modules/mkdirp/.travis.yml +0 -8
  632. package/node_modules/mkdirp/LICENSE +0 -21
  633. package/node_modules/mkdirp/bin/cmd.js +0 -33
  634. package/node_modules/mkdirp/bin/usage.txt +0 -12
  635. package/node_modules/mkdirp/examples/pow.js +0 -6
  636. package/node_modules/mkdirp/index.js +0 -98
  637. package/node_modules/mkdirp/package.json +0 -95
  638. package/node_modules/mkdirp/readme.markdown +0 -100
  639. package/node_modules/mkdirp/test/chmod.js +0 -41
  640. package/node_modules/mkdirp/test/clobber.js +0 -38
  641. package/node_modules/mkdirp/test/mkdirp.js +0 -28
  642. package/node_modules/mkdirp/test/opts_fs.js +0 -29
  643. package/node_modules/mkdirp/test/opts_fs_sync.js +0 -27
  644. package/node_modules/mkdirp/test/perm.js +0 -32
  645. package/node_modules/mkdirp/test/perm_sync.js +0 -36
  646. package/node_modules/mkdirp/test/race.js +0 -37
  647. package/node_modules/mkdirp/test/rel.js +0 -32
  648. package/node_modules/mkdirp/test/return.js +0 -25
  649. package/node_modules/mkdirp/test/return_sync.js +0 -24
  650. package/node_modules/mkdirp/test/root.js +0 -19
  651. package/node_modules/mkdirp/test/sync.js +0 -32
  652. package/node_modules/mkdirp/test/umask.js +0 -28
  653. package/node_modules/mkdirp/test/umask_sync.js +0 -32
  654. package/node_modules/ms/.npmignore +0 -5
  655. package/node_modules/ms/History.md +0 -66
  656. package/node_modules/ms/LICENSE +0 -20
  657. package/node_modules/ms/README.md +0 -35
  658. package/node_modules/ms/index.js +0 -125
  659. package/node_modules/ms/package.json +0 -82
  660. package/node_modules/node-pre-gyp/CHANGELOG.md +0 -343
  661. package/node_modules/node-pre-gyp/LICENSE +0 -27
  662. package/node_modules/node-pre-gyp/README.md +0 -574
  663. package/node_modules/node-pre-gyp/appveyor.yml +0 -40
  664. package/node_modules/node-pre-gyp/bin/node-pre-gyp +0 -131
  665. package/node_modules/node-pre-gyp/bin/node-pre-gyp.cmd +0 -2
  666. package/node_modules/node-pre-gyp/lib/build.js +0 -43
  667. package/node_modules/node-pre-gyp/lib/clean.js +0 -23
  668. package/node_modules/node-pre-gyp/lib/configure.js +0 -48
  669. package/node_modules/node-pre-gyp/lib/info.js +0 -40
  670. package/node_modules/node-pre-gyp/lib/install.js +0 -239
  671. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +0 -194
  672. package/node_modules/node-pre-gyp/lib/package.js +0 -46
  673. package/node_modules/node-pre-gyp/lib/pre-binding.js +0 -25
  674. package/node_modules/node-pre-gyp/lib/publish.js +0 -77
  675. package/node_modules/node-pre-gyp/lib/rebuild.js +0 -13
  676. package/node_modules/node-pre-gyp/lib/reinstall.js +0 -13
  677. package/node_modules/node-pre-gyp/lib/reveal.js +0 -31
  678. package/node_modules/node-pre-gyp/lib/testbinary.js +0 -73
  679. package/node_modules/node-pre-gyp/lib/testpackage.js +0 -49
  680. package/node_modules/node-pre-gyp/lib/unpublish.js +0 -41
  681. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +0 -1414
  682. package/node_modules/node-pre-gyp/lib/util/compile.js +0 -87
  683. package/node_modules/node-pre-gyp/lib/util/handle_gyp_opts.js +0 -94
  684. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/index.html +0 -26
  685. package/node_modules/node-pre-gyp/lib/util/nw-pre-gyp/package.json +0 -9
  686. package/node_modules/node-pre-gyp/lib/util/s3_setup.js +0 -27
  687. package/node_modules/node-pre-gyp/lib/util/versioning.js +0 -308
  688. package/node_modules/node-pre-gyp/package.json +0 -133
  689. package/node_modules/nopt/.npmignore +0 -1
  690. package/node_modules/nopt/.travis.yml +0 -9
  691. package/node_modules/nopt/LICENSE +0 -15
  692. package/node_modules/nopt/README.md +0 -211
  693. package/node_modules/nopt/bin/nopt.js +0 -54
  694. package/node_modules/nopt/examples/my-program.js +0 -30
  695. package/node_modules/nopt/lib/nopt.js +0 -415
  696. package/node_modules/nopt/package.json +0 -96
  697. package/node_modules/nopt/test/basic.js +0 -273
  698. package/node_modules/npmlog/CHANGELOG.md +0 -45
  699. package/node_modules/npmlog/LICENSE +0 -15
  700. package/node_modules/npmlog/README.md +0 -216
  701. package/node_modules/npmlog/log.js +0 -302
  702. package/node_modules/npmlog/package.json +0 -108
  703. package/node_modules/number-is-nan/index.js +0 -4
  704. package/node_modules/number-is-nan/license +0 -21
  705. package/node_modules/number-is-nan/package.json +0 -103
  706. package/node_modules/number-is-nan/readme.md +0 -28
  707. package/node_modules/oauth-sign/LICENSE +0 -55
  708. package/node_modules/oauth-sign/README.md +0 -4
  709. package/node_modules/oauth-sign/index.js +0 -136
  710. package/node_modules/oauth-sign/package.json +0 -98
  711. package/node_modules/object-assign/index.js +0 -90
  712. package/node_modules/object-assign/license +0 -21
  713. package/node_modules/object-assign/package.json +0 -118
  714. package/node_modules/object-assign/readme.md +0 -61
  715. package/node_modules/once/LICENSE +0 -15
  716. package/node_modules/once/README.md +0 -79
  717. package/node_modules/once/once.js +0 -42
  718. package/node_modules/once/package.json +0 -101
  719. package/node_modules/path-is-absolute/index.js +0 -20
  720. package/node_modules/path-is-absolute/license +0 -21
  721. package/node_modules/path-is-absolute/package.json +0 -111
  722. package/node_modules/path-is-absolute/readme.md +0 -59
  723. package/node_modules/pinkie/index.js +0 -292
  724. package/node_modules/pinkie/license +0 -21
  725. package/node_modules/pinkie/package.json +0 -100
  726. package/node_modules/pinkie/readme.md +0 -83
  727. package/node_modules/pinkie-promise/index.js +0 -3
  728. package/node_modules/pinkie-promise/license +0 -21
  729. package/node_modules/pinkie-promise/package.json +0 -102
  730. package/node_modules/pinkie-promise/readme.md +0 -28
  731. package/node_modules/process-nextick-args/.travis.yml +0 -12
  732. package/node_modules/process-nextick-args/index.js +0 -43
  733. package/node_modules/process-nextick-args/license.md +0 -19
  734. package/node_modules/process-nextick-args/package.json +0 -84
  735. package/node_modules/process-nextick-args/readme.md +0 -18
  736. package/node_modules/process-nextick-args/test.js +0 -24
  737. package/node_modules/punycode/LICENSE-MIT.txt +0 -20
  738. package/node_modules/punycode/README.md +0 -176
  739. package/node_modules/punycode/package.json +0 -127
  740. package/node_modules/punycode/punycode.js +0 -533
  741. package/node_modules/qs/.eslintignore +0 -1
  742. package/node_modules/qs/.eslintrc +0 -19
  743. package/node_modules/qs/CHANGELOG.md +0 -156
  744. package/node_modules/qs/LICENSE +0 -28
  745. package/node_modules/qs/README.md +0 -431
  746. package/node_modules/qs/dist/qs.js +0 -587
  747. package/node_modules/qs/lib/formats.js +0 -18
  748. package/node_modules/qs/lib/index.js +0 -11
  749. package/node_modules/qs/lib/parse.js +0 -166
  750. package/node_modules/qs/lib/stringify.js +0 -200
  751. package/node_modules/qs/lib/utils.js +0 -180
  752. package/node_modules/qs/package.json +0 -121
  753. package/node_modules/qs/test/.eslintrc +0 -10
  754. package/node_modules/qs/test/index.js +0 -7
  755. package/node_modules/qs/test/parse.js +0 -484
  756. package/node_modules/qs/test/stringify.js +0 -538
  757. package/node_modules/qs/test/utils.js +0 -22
  758. package/node_modules/rc/.npmignore +0 -3
  759. package/node_modules/rc/LICENSE.APACHE2 +0 -15
  760. package/node_modules/rc/LICENSE.BSD +0 -26
  761. package/node_modules/rc/LICENSE.MIT +0 -24
  762. package/node_modules/rc/README.md +0 -149
  763. package/node_modules/rc/browser.js +0 -7
  764. package/node_modules/rc/index.js +0 -60
  765. package/node_modules/rc/lib/utils.js +0 -103
  766. package/node_modules/rc/node_modules/minimist/.travis.yml +0 -8
  767. package/node_modules/rc/node_modules/minimist/LICENSE +0 -18
  768. package/node_modules/rc/node_modules/minimist/example/parse.js +0 -2
  769. package/node_modules/rc/node_modules/minimist/index.js +0 -236
  770. package/node_modules/rc/node_modules/minimist/package.json +0 -105
  771. package/node_modules/rc/node_modules/minimist/readme.markdown +0 -91
  772. package/node_modules/rc/node_modules/minimist/test/all_bool.js +0 -32
  773. package/node_modules/rc/node_modules/minimist/test/bool.js +0 -166
  774. package/node_modules/rc/node_modules/minimist/test/dash.js +0 -31
  775. package/node_modules/rc/node_modules/minimist/test/default_bool.js +0 -35
  776. package/node_modules/rc/node_modules/minimist/test/dotted.js +0 -22
  777. package/node_modules/rc/node_modules/minimist/test/kv_short.js +0 -16
  778. package/node_modules/rc/node_modules/minimist/test/long.js +0 -31
  779. package/node_modules/rc/node_modules/minimist/test/num.js +0 -36
  780. package/node_modules/rc/node_modules/minimist/test/parse.js +0 -197
  781. package/node_modules/rc/node_modules/minimist/test/parse_modified.js +0 -9
  782. package/node_modules/rc/node_modules/minimist/test/short.js +0 -67
  783. package/node_modules/rc/node_modules/minimist/test/stop_early.js +0 -15
  784. package/node_modules/rc/node_modules/minimist/test/unknown.js +0 -102
  785. package/node_modules/rc/node_modules/minimist/test/whitespace.js +0 -8
  786. package/node_modules/rc/package.json +0 -100
  787. package/node_modules/rc/test/ini.js +0 -16
  788. package/node_modules/rc/test/nested-env-vars.js +0 -40
  789. package/node_modules/rc/test/test.js +0 -59
  790. package/node_modules/readable-stream/.npmignore +0 -9
  791. package/node_modules/readable-stream/.travis.yml +0 -49
  792. package/node_modules/readable-stream/LICENSE +0 -18
  793. package/node_modules/readable-stream/README.md +0 -40
  794. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  795. package/node_modules/readable-stream/duplex.js +0 -1
  796. package/node_modules/readable-stream/lib/_stream_duplex.js +0 -75
  797. package/node_modules/readable-stream/lib/_stream_passthrough.js +0 -26
  798. package/node_modules/readable-stream/lib/_stream_readable.js +0 -941
  799. package/node_modules/readable-stream/lib/_stream_transform.js +0 -182
  800. package/node_modules/readable-stream/lib/_stream_writable.js +0 -554
  801. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -64
  802. package/node_modules/readable-stream/package.json +0 -126
  803. package/node_modules/readable-stream/passthrough.js +0 -1
  804. package/node_modules/readable-stream/readable.js +0 -16
  805. package/node_modules/readable-stream/transform.js +0 -1
  806. package/node_modules/readable-stream/writable.js +0 -1
  807. package/node_modules/request/CHANGELOG.md +0 -662
  808. package/node_modules/request/LICENSE +0 -55
  809. package/node_modules/request/README.md +0 -1098
  810. package/node_modules/request/index.js +0 -156
  811. package/node_modules/request/lib/auth.js +0 -168
  812. package/node_modules/request/lib/cookies.js +0 -39
  813. package/node_modules/request/lib/getProxyFromURI.js +0 -79
  814. package/node_modules/request/lib/har.js +0 -215
  815. package/node_modules/request/lib/helpers.js +0 -65
  816. package/node_modules/request/lib/multipart.js +0 -112
  817. package/node_modules/request/lib/oauth.js +0 -147
  818. package/node_modules/request/lib/querystring.js +0 -51
  819. package/node_modules/request/lib/redirect.js +0 -157
  820. package/node_modules/request/lib/tunnel.js +0 -176
  821. package/node_modules/request/package.json +0 -163
  822. package/node_modules/request/request.js +0 -1475
  823. package/node_modules/rimraf/LICENSE +0 -15
  824. package/node_modules/rimraf/README.md +0 -101
  825. package/node_modules/rimraf/bin.js +0 -40
  826. package/node_modules/rimraf/package.json +0 -101
  827. package/node_modules/rimraf/rimraf.js +0 -343
  828. package/node_modules/semver/LICENSE +0 -15
  829. package/node_modules/semver/README.md +0 -350
  830. package/node_modules/semver/bin/semver +0 -133
  831. package/node_modules/semver/package.json +0 -94
  832. package/node_modules/semver/range.bnf +0 -16
  833. package/node_modules/semver/semver.js +0 -1203
  834. package/node_modules/set-blocking/CHANGELOG.md +0 -26
  835. package/node_modules/set-blocking/LICENSE.txt +0 -14
  836. package/node_modules/set-blocking/README.md +0 -31
  837. package/node_modules/set-blocking/index.js +0 -7
  838. package/node_modules/set-blocking/package.json +0 -106
  839. package/node_modules/signal-exit/CHANGELOG.md +0 -27
  840. package/node_modules/signal-exit/LICENSE.txt +0 -16
  841. package/node_modules/signal-exit/README.md +0 -40
  842. package/node_modules/signal-exit/index.js +0 -157
  843. package/node_modules/signal-exit/package.json +0 -106
  844. package/node_modules/signal-exit/signals.js +0 -53
  845. package/node_modules/sntp/.npmignore +0 -18
  846. package/node_modules/sntp/.travis.yml +0 -5
  847. package/node_modules/sntp/LICENSE +0 -28
  848. package/node_modules/sntp/Makefile +0 -9
  849. package/node_modules/sntp/README.md +0 -68
  850. package/node_modules/sntp/examples/offset.js +0 -16
  851. package/node_modules/sntp/examples/time.js +0 -25
  852. package/node_modules/sntp/index.js +0 -1
  853. package/node_modules/sntp/lib/index.js +0 -412
  854. package/node_modules/sntp/package.json +0 -98
  855. package/node_modules/sntp/test/index.js +0 -435
  856. package/node_modules/sshpk/.npmignore +0 -9
  857. package/node_modules/sshpk/.travis.yml +0 -11
  858. package/node_modules/sshpk/LICENSE +0 -18
  859. package/node_modules/sshpk/README.md +0 -666
  860. package/node_modules/sshpk/bin/sshpk-conv +0 -201
  861. package/node_modules/sshpk/bin/sshpk-sign +0 -191
  862. package/node_modules/sshpk/bin/sshpk-verify +0 -166
  863. package/node_modules/sshpk/lib/algs.js +0 -168
  864. package/node_modules/sshpk/lib/certificate.js +0 -291
  865. package/node_modules/sshpk/lib/dhe.js +0 -311
  866. package/node_modules/sshpk/lib/ed-compat.js +0 -96
  867. package/node_modules/sshpk/lib/errors.js +0 -84
  868. package/node_modules/sshpk/lib/fingerprint.js +0 -161
  869. package/node_modules/sshpk/lib/formats/auto.js +0 -73
  870. package/node_modules/sshpk/lib/formats/openssh-cert.js +0 -289
  871. package/node_modules/sshpk/lib/formats/pem.js +0 -186
  872. package/node_modules/sshpk/lib/formats/pkcs1.js +0 -320
  873. package/node_modules/sshpk/lib/formats/pkcs8.js +0 -505
  874. package/node_modules/sshpk/lib/formats/rfc4253.js +0 -146
  875. package/node_modules/sshpk/lib/formats/ssh-private.js +0 -261
  876. package/node_modules/sshpk/lib/formats/ssh.js +0 -114
  877. package/node_modules/sshpk/lib/formats/x509-pem.js +0 -77
  878. package/node_modules/sshpk/lib/formats/x509.js +0 -484
  879. package/node_modules/sshpk/lib/identity.js +0 -277
  880. package/node_modules/sshpk/lib/index.js +0 -38
  881. package/node_modules/sshpk/lib/key.js +0 -270
  882. package/node_modules/sshpk/lib/private-key.js +0 -231
  883. package/node_modules/sshpk/lib/signature.js +0 -245
  884. package/node_modules/sshpk/lib/ssh-buffer.js +0 -148
  885. package/node_modules/sshpk/lib/utils.js +0 -288
  886. package/node_modules/sshpk/man/man1/sshpk-conv.1 +0 -135
  887. package/node_modules/sshpk/man/man1/sshpk-sign.1 +0 -81
  888. package/node_modules/sshpk/man/man1/sshpk-verify.1 +0 -68
  889. package/node_modules/sshpk/node_modules/assert-plus/AUTHORS +0 -6
  890. package/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +0 -14
  891. package/node_modules/sshpk/node_modules/assert-plus/README.md +0 -162
  892. package/node_modules/sshpk/node_modules/assert-plus/assert.js +0 -211
  893. package/node_modules/sshpk/node_modules/assert-plus/package.json +0 -115
  894. package/node_modules/sshpk/package.json +0 -135
  895. package/node_modules/string-width/index.js +0 -37
  896. package/node_modules/string-width/license +0 -21
  897. package/node_modules/string-width/package.json +0 -124
  898. package/node_modules/string-width/readme.md +0 -42
  899. package/node_modules/string_decoder/.npmignore +0 -2
  900. package/node_modules/string_decoder/LICENSE +0 -20
  901. package/node_modules/string_decoder/README.md +0 -7
  902. package/node_modules/string_decoder/index.js +0 -221
  903. package/node_modules/string_decoder/package.json +0 -88
  904. package/node_modules/stringstream/.npmignore +0 -15
  905. package/node_modules/stringstream/.travis.yml +0 -4
  906. package/node_modules/stringstream/LICENSE.txt +0 -22
  907. package/node_modules/stringstream/README.md +0 -38
  908. package/node_modules/stringstream/example.js +0 -27
  909. package/node_modules/stringstream/package.json +0 -85
  910. package/node_modules/stringstream/stringstream.js +0 -102
  911. package/node_modules/strip-ansi/index.js +0 -6
  912. package/node_modules/strip-ansi/license +0 -21
  913. package/node_modules/strip-ansi/package.json +0 -125
  914. package/node_modules/strip-ansi/readme.md +0 -33
  915. package/node_modules/strip-json-comments/index.js +0 -70
  916. package/node_modules/strip-json-comments/license +0 -21
  917. package/node_modules/strip-json-comments/package.json +0 -110
  918. package/node_modules/strip-json-comments/readme.md +0 -64
  919. package/node_modules/supports-color/index.js +0 -50
  920. package/node_modules/supports-color/license +0 -21
  921. package/node_modules/supports-color/package.json +0 -113
  922. package/node_modules/supports-color/readme.md +0 -36
  923. package/node_modules/tar/.npmignore +0 -5
  924. package/node_modules/tar/.travis.yml +0 -4
  925. package/node_modules/tar/LICENSE +0 -12
  926. package/node_modules/tar/README.md +0 -50
  927. package/node_modules/tar/examples/extracter.js +0 -19
  928. package/node_modules/tar/examples/packer.js +0 -24
  929. package/node_modules/tar/examples/reader.js +0 -36
  930. package/node_modules/tar/lib/buffer-entry.js +0 -30
  931. package/node_modules/tar/lib/entry-writer.js +0 -169
  932. package/node_modules/tar/lib/entry.js +0 -220
  933. package/node_modules/tar/lib/extended-header-writer.js +0 -191
  934. package/node_modules/tar/lib/extended-header.js +0 -140
  935. package/node_modules/tar/lib/extract.js +0 -94
  936. package/node_modules/tar/lib/global-header-writer.js +0 -14
  937. package/node_modules/tar/lib/header.js +0 -385
  938. package/node_modules/tar/lib/pack.js +0 -236
  939. package/node_modules/tar/lib/parse.js +0 -275
  940. package/node_modules/tar/package.json +0 -103
  941. package/node_modules/tar/tar.js +0 -173
  942. package/node_modules/tar/test/00-setup-fixtures.js +0 -53
  943. package/node_modules/tar/test/cb-never-called-1.0.1.tgz +0 -0
  944. package/node_modules/tar/test/dir-normalization.js +0 -177
  945. package/node_modules/tar/test/dir-normalization.tar +0 -0
  946. package/node_modules/tar/test/error-on-broken.js +0 -33
  947. package/node_modules/tar/test/extract-move.js +0 -132
  948. package/node_modules/tar/test/extract.js +0 -367
  949. package/node_modules/tar/test/fixtures.tgz +0 -0
  950. package/node_modules/tar/test/header.js +0 -183
  951. package/node_modules/tar/test/pack-no-proprietary.js +0 -886
  952. package/node_modules/tar/test/pack.js +0 -952
  953. package/node_modules/tar/test/parse-discard.js +0 -29
  954. package/node_modules/tar/test/parse.js +0 -359
  955. package/node_modules/tar/test/zz-cleanup.js +0 -20
  956. package/node_modules/tar-pack/.npmignore +0 -14
  957. package/node_modules/tar-pack/.travis.yml +0 -7
  958. package/node_modules/tar-pack/LICENSE +0 -23
  959. package/node_modules/tar-pack/README.md +0 -84
  960. package/node_modules/tar-pack/index.js +0 -245
  961. package/node_modules/tar-pack/node_modules/once/LICENSE +0 -15
  962. package/node_modules/tar-pack/node_modules/once/README.md +0 -51
  963. package/node_modules/tar-pack/node_modules/once/once.js +0 -21
  964. package/node_modules/tar-pack/node_modules/once/package.json +0 -96
  965. package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +0 -8
  966. package/node_modules/tar-pack/node_modules/readable-stream/.travis.yml +0 -49
  967. package/node_modules/tar-pack/node_modules/readable-stream/LICENSE +0 -18
  968. package/node_modules/tar-pack/node_modules/readable-stream/README.md +0 -36
  969. package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +0 -2015
  970. package/node_modules/tar-pack/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  971. package/node_modules/tar-pack/node_modules/readable-stream/duplex.js +0 -1
  972. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_duplex.js +0 -75
  973. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_passthrough.js +0 -26
  974. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_readable.js +0 -937
  975. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_transform.js +0 -180
  976. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_writable.js +0 -526
  977. package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -64
  978. package/node_modules/tar-pack/node_modules/readable-stream/package.json +0 -125
  979. package/node_modules/tar-pack/node_modules/readable-stream/passthrough.js +0 -1
  980. package/node_modules/tar-pack/node_modules/readable-stream/readable.js +0 -16
  981. package/node_modules/tar-pack/node_modules/readable-stream/transform.js +0 -1
  982. package/node_modules/tar-pack/node_modules/readable-stream/writable.js +0 -1
  983. package/node_modules/tar-pack/package.json +0 -109
  984. package/node_modules/tar-pack/test/fixtures/packed-file.txt +0 -1
  985. package/node_modules/tar-pack/test/fixtures/packed.tar +0 -0
  986. package/node_modules/tar-pack/test/fixtures/packed.tar.gz +0 -0
  987. package/node_modules/tar-pack/test/fixtures/to-pack/bar.txt +0 -1
  988. package/node_modules/tar-pack/test/fixtures/to-pack/foo.txt +0 -1
  989. package/node_modules/tar-pack/test/index.js +0 -109
  990. package/node_modules/tough-cookie/LICENSE +0 -27
  991. package/node_modules/tough-cookie/README.md +0 -506
  992. package/node_modules/tough-cookie/lib/cookie.js +0 -1336
  993. package/node_modules/tough-cookie/lib/memstore.js +0 -170
  994. package/node_modules/tough-cookie/lib/pathMatch.js +0 -61
  995. package/node_modules/tough-cookie/lib/permuteDomain.js +0 -56
  996. package/node_modules/tough-cookie/lib/pubsuffix.js +0 -98
  997. package/node_modules/tough-cookie/lib/store.js +0 -71
  998. package/node_modules/tough-cookie/package.json +0 -135
  999. package/node_modules/tunnel-agent/LICENSE +0 -55
  1000. package/node_modules/tunnel-agent/README.md +0 -4
  1001. package/node_modules/tunnel-agent/index.js +0 -243
  1002. package/node_modules/tunnel-agent/package.json +0 -100
  1003. package/node_modules/tweetnacl/.npmignore +0 -4
  1004. package/node_modules/tweetnacl/AUTHORS.md +0 -28
  1005. package/node_modules/tweetnacl/CHANGELOG.md +0 -221
  1006. package/node_modules/tweetnacl/LICENSE +0 -24
  1007. package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +0 -20
  1008. package/node_modules/tweetnacl/README.md +0 -459
  1009. package/node_modules/tweetnacl/nacl-fast.js +0 -2388
  1010. package/node_modules/tweetnacl/nacl-fast.min.js +0 -2
  1011. package/node_modules/tweetnacl/nacl.d.ts +0 -98
  1012. package/node_modules/tweetnacl/nacl.js +0 -1175
  1013. package/node_modules/tweetnacl/nacl.min.js +0 -1
  1014. package/node_modules/tweetnacl/package.json +0 -121
  1015. package/node_modules/uid-number/LICENSE +0 -15
  1016. package/node_modules/uid-number/README.md +0 -17
  1017. package/node_modules/uid-number/get-uid-gid.js +0 -24
  1018. package/node_modules/uid-number/package.json +0 -82
  1019. package/node_modules/uid-number/uid-number.js +0 -59
  1020. package/node_modules/util-deprecate/History.md +0 -16
  1021. package/node_modules/util-deprecate/LICENSE +0 -24
  1022. package/node_modules/util-deprecate/README.md +0 -53
  1023. package/node_modules/util-deprecate/browser.js +0 -67
  1024. package/node_modules/util-deprecate/node.js +0 -6
  1025. package/node_modules/util-deprecate/package.json +0 -90
  1026. package/node_modules/uuid/.npmignore +0 -8
  1027. package/node_modules/uuid/.travis.yml +0 -5
  1028. package/node_modules/uuid/AUTHORS +0 -5
  1029. package/node_modules/uuid/HISTORY.md +0 -28
  1030. package/node_modules/uuid/LICENSE.md +0 -21
  1031. package/node_modules/uuid/README.md +0 -132
  1032. package/node_modules/uuid/bin/uuid +0 -26
  1033. package/node_modules/uuid/index.js +0 -8
  1034. package/node_modules/uuid/lib/bytesToUuid.js +0 -23
  1035. package/node_modules/uuid/lib/rng-browser.js +0 -33
  1036. package/node_modules/uuid/lib/rng.js +0 -10
  1037. package/node_modules/uuid/package.json +0 -122
  1038. package/node_modules/uuid/test/mocha.opts +0 -3
  1039. package/node_modules/uuid/test/test.js +0 -96
  1040. package/node_modules/uuid/v1.js +0 -103
  1041. package/node_modules/uuid/v4.js +0 -29
  1042. package/node_modules/verror/.gitmodules +0 -0
  1043. package/node_modules/verror/.npmignore +0 -1
  1044. package/node_modules/verror/LICENSE +0 -19
  1045. package/node_modules/verror/Makefile +0 -35
  1046. package/node_modules/verror/Makefile.targ +0 -285
  1047. package/node_modules/verror/README.md +0 -120
  1048. package/node_modules/verror/examples/levels-verror.js +0 -36
  1049. package/node_modules/verror/examples/levels-werror.js +0 -34
  1050. package/node_modules/verror/examples/varargs.js +0 -6
  1051. package/node_modules/verror/examples/verror.js +0 -13
  1052. package/node_modules/verror/examples/werror.js +0 -14
  1053. package/node_modules/verror/jsl.node.conf +0 -139
  1054. package/node_modules/verror/lib/verror.js +0 -157
  1055. package/node_modules/verror/package.json +0 -78
  1056. package/node_modules/verror/tests/tst.inherit.js +0 -100
  1057. package/node_modules/verror/tests/tst.verror.js +0 -156
  1058. package/node_modules/verror/tests/tst.werror.js +0 -179
  1059. package/node_modules/wide-align/.npmignore +0 -5
  1060. package/node_modules/wide-align/LICENSE +0 -14
  1061. package/node_modules/wide-align/README.md +0 -47
  1062. package/node_modules/wide-align/align.js +0 -65
  1063. package/node_modules/wide-align/package.json +0 -93
  1064. package/node_modules/wide-align/test/align.js +0 -37
  1065. package/node_modules/wrappy/LICENSE +0 -15
  1066. package/node_modules/wrappy/README.md +0 -36
  1067. package/node_modules/wrappy/package.json +0 -98
  1068. package/node_modules/wrappy/wrappy.js +0 -33
  1069. package/node_modules/xtend/.jshintrc +0 -30
  1070. package/node_modules/xtend/.npmignore +0 -1
  1071. package/node_modules/xtend/LICENCE +0 -19
  1072. package/node_modules/xtend/Makefile +0 -4
  1073. package/node_modules/xtend/README.md +0 -32
  1074. package/node_modules/xtend/immutable.js +0 -19
  1075. package/node_modules/xtend/mutable.js +0 -17
  1076. package/node_modules/xtend/package.json +0 -117
  1077. package/node_modules/xtend/test.js +0 -83
  1078. package/src/locking.cc +0 -27
@@ -1,634 +0,0 @@
1
- ![hawk Logo](https://raw.github.com/hueniverse/hawk/master/images/hawk.png)
2
-
3
- <img align="right" src="https://raw.github.com/hueniverse/hawk/master/images/logo.png" /> **Hawk** is an HTTP authentication scheme using a message authentication code (MAC) algorithm to provide partial
4
- HTTP request cryptographic verification. For more complex use cases such as access delegation, see [Oz](https://github.com/hueniverse/oz).
5
-
6
- Current version: **3.x**
7
-
8
- Note: 3.x and 2.x are the same exact protocol as 1.1. The version increments reflect changes in the node API.
9
-
10
- [![Build Status](https://secure.travis-ci.org/hueniverse/hawk.png)](http://travis-ci.org/hueniverse/hawk)
11
-
12
- # Table of Content
13
-
14
- - [**Introduction**](#introduction)
15
- - [Replay Protection](#replay-protection)
16
- - [Usage Example](#usage-example)
17
- - [Protocol Example](#protocol-example)
18
- - [Payload Validation](#payload-validation)
19
- - [Response Payload Validation](#response-payload-validation)
20
- - [Browser Support and Considerations](#browser-support-and-considerations)
21
- <p></p>
22
- - [**Single URI Authorization**](#single-uri-authorization)
23
- - [Usage Example](#bewit-usage-example)
24
- <p></p>
25
- - [**Security Considerations**](#security-considerations)
26
- - [MAC Keys Transmission](#mac-keys-transmission)
27
- - [Confidentiality of Requests](#confidentiality-of-requests)
28
- - [Spoofing by Counterfeit Servers](#spoofing-by-counterfeit-servers)
29
- - [Plaintext Storage of Credentials](#plaintext-storage-of-credentials)
30
- - [Entropy of Keys](#entropy-of-keys)
31
- - [Coverage Limitations](#coverage-limitations)
32
- - [Future Time Manipulation](#future-time-manipulation)
33
- - [Client Clock Poisoning](#client-clock-poisoning)
34
- - [Bewit Limitations](#bewit-limitations)
35
- - [Host Header Forgery](#host-header-forgery)
36
- <p></p>
37
- - [**Frequently Asked Questions**](#frequently-asked-questions)
38
- <p></p>
39
- - [**Implementations**](#implementations)
40
- - [**Acknowledgements**](#acknowledgements)
41
-
42
- # Introduction
43
-
44
- **Hawk** is an HTTP authentication scheme providing mechanisms for making authenticated HTTP requests with
45
- partial cryptographic verification of the request and response, covering the HTTP method, request URI, host,
46
- and optionally the request payload.
47
-
48
- Similar to the HTTP [Digest access authentication schemes](http://www.ietf.org/rfc/rfc2617.txt), **Hawk** uses a set of
49
- client credentials which include an identifier (e.g. username) and key (e.g. password). Likewise, just as with the Digest scheme,
50
- the key is never included in authenticated requests. Instead, it is used to calculate a request MAC value which is
51
- included in its place.
52
-
53
- However, **Hawk** has several differences from Digest. In particular, while both use a nonce to limit the possibility of
54
- replay attacks, in **Hawk** the client generates the nonce and uses it in combination with a timestamp, leading to less
55
- "chattiness" (interaction with the server).
56
-
57
- Also unlike Digest, this scheme is not intended to protect the key itself (the password in Digest) because
58
- the client and server must both have access to the key material in the clear.
59
-
60
- The primary design goals of this scheme are to:
61
- * simplify and improve HTTP authentication for services that are unwilling or unable to deploy TLS for all resources,
62
- * secure credentials against leakage (e.g., when the client uses some form of dynamic configuration to determine where
63
- to send an authenticated request), and
64
- * avoid the exposure of credentials sent to a malicious server over an unauthenticated secure channel due to client
65
- failure to validate the server's identity as part of its TLS handshake.
66
-
67
- In addition, **Hawk** supports a method for granting third-parties temporary access to individual resources using
68
- a query parameter called _bewit_ (in falconry, a leather strap used to attach a tracking device to the leg of a hawk).
69
-
70
- The **Hawk** scheme requires the establishment of a shared symmetric key between the client and the server,
71
- which is beyond the scope of this module. Typically, the shared credentials are established via an initial
72
- TLS-protected phase or derived from some other shared confidential information available to both the client
73
- and the server.
74
-
75
-
76
- ## Replay Protection
77
-
78
- Without replay protection, an attacker can use a compromised (but otherwise valid and authenticated) request more
79
- than once, gaining access to a protected resource. To mitigate this, clients include both a nonce and a timestamp when
80
- making requests. This gives the server enough information to prevent replay attacks.
81
-
82
- The nonce is generated by the client, and is a string unique across all requests with the same timestamp and
83
- key identifier combination.
84
-
85
- The timestamp enables the server to restrict the validity period of the credentials where requests occuring afterwards
86
- are rejected. It also removes the need for the server to retain an unbounded number of nonce values for future checks.
87
- By default, **Hawk** uses a time window of 1 minute to allow for time skew between the client and server (which in
88
- practice translates to a maximum of 2 minutes as the skew can be positive or negative).
89
-
90
- Using a timestamp requires the client's clock to be in sync with the server's clock. **Hawk** requires both the client
91
- clock and the server clock to use NTP to ensure synchronization. However, given the limitations of some client types
92
- (e.g. browsers) to deploy NTP, the server provides the client with its current time (in seconds precision) in response
93
- to a bad timestamp.
94
-
95
- There is no expectation that the client will adjust its system clock to match the server (in fact, this would be a
96
- potential attack vector). Instead, the client only uses the server's time to calculate an offset used only
97
- for communications with that particular server. The protocol rewards clients with synchronized clocks by reducing
98
- the number of round trips required to authenticate the first request.
99
-
100
-
101
- ## Usage Example
102
-
103
- Server code:
104
-
105
- ```javascript
106
- var Http = require('http');
107
- var Hawk = require('hawk');
108
-
109
-
110
- // Credentials lookup function
111
-
112
- var credentialsFunc = function (id, callback) {
113
-
114
- var credentials = {
115
- key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn',
116
- algorithm: 'sha256',
117
- user: 'Steve'
118
- };
119
-
120
- return callback(null, credentials);
121
- };
122
-
123
- // Create HTTP server
124
-
125
- var handler = function (req, res) {
126
-
127
- // Authenticate incoming request
128
-
129
- Hawk.server.authenticate(req, credentialsFunc, {}, function (err, credentials, artifacts) {
130
-
131
- // Prepare response
132
-
133
- var payload = (!err ? 'Hello ' + credentials.user + ' ' + artifacts.ext : 'Shoosh!');
134
- var headers = { 'Content-Type': 'text/plain' };
135
-
136
- // Generate Server-Authorization response header
137
-
138
- var header = Hawk.server.header(credentials, artifacts, { payload: payload, contentType: headers['Content-Type'] });
139
- headers['Server-Authorization'] = header;
140
-
141
- // Send the response back
142
-
143
- res.writeHead(!err ? 200 : 401, headers);
144
- res.end(payload);
145
- });
146
- };
147
-
148
- // Start server
149
-
150
- Http.createServer(handler).listen(8000, 'example.com');
151
- ```
152
-
153
- Client code:
154
-
155
- ```javascript
156
- var Request = require('request');
157
- var Hawk = require('hawk');
158
-
159
-
160
- // Client credentials
161
-
162
- var credentials = {
163
- id: 'dh37fgj492je',
164
- key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn',
165
- algorithm: 'sha256'
166
- }
167
-
168
- // Request options
169
-
170
- var requestOptions = {
171
- uri: 'http://example.com:8000/resource/1?b=1&a=2',
172
- method: 'GET',
173
- headers: {}
174
- };
175
-
176
- // Generate Authorization request header
177
-
178
- var header = Hawk.client.header('http://example.com:8000/resource/1?b=1&a=2', 'GET', { credentials: credentials, ext: 'some-app-data' });
179
- requestOptions.headers.Authorization = header.field;
180
-
181
- // Send authenticated request
182
-
183
- Request(requestOptions, function (error, response, body) {
184
-
185
- // Authenticate the server's response
186
-
187
- var isValid = Hawk.client.authenticate(response, credentials, header.artifacts, { payload: body });
188
-
189
- // Output results
190
-
191
- console.log(response.statusCode + ': ' + body + (isValid ? ' (valid)' : ' (invalid)'));
192
- });
193
- ```
194
-
195
- **Hawk** utilized the [**SNTP**](https://github.com/hueniverse/sntp) module for time sync management. By default, the local
196
- machine time is used. To automatically retrieve and synchronice the clock within the application, use the SNTP 'start()' method.
197
-
198
- ```javascript
199
- Hawk.sntp.start();
200
- ```
201
-
202
-
203
- ## Protocol Example
204
-
205
- The client attempts to access a protected resource without authentication, sending the following HTTP request to
206
- the resource server:
207
-
208
- ```
209
- GET /resource/1?b=1&a=2 HTTP/1.1
210
- Host: example.com:8000
211
- ```
212
-
213
- The resource server returns an authentication challenge.
214
-
215
- ```
216
- HTTP/1.1 401 Unauthorized
217
- WWW-Authenticate: Hawk
218
- ```
219
-
220
- The client has previously obtained a set of **Hawk** credentials for accessing resources on the "http://example.com/"
221
- server. The **Hawk** credentials issued to the client include the following attributes:
222
-
223
- * Key identifier: dh37fgj492je
224
- * Key: werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn
225
- * Algorithm: sha256
226
-
227
- The client generates the authentication header by calculating a timestamp (e.g. the number of seconds since January 1,
228
- 1970 00:00:00 GMT), generating a nonce, and constructing the normalized request string (each value followed by a newline
229
- character):
230
-
231
- ```
232
- hawk.1.header
233
- 1353832234
234
- j4h3g2
235
- GET
236
- /resource/1?b=1&a=2
237
- example.com
238
- 8000
239
-
240
- some-app-ext-data
241
-
242
- ```
243
-
244
- The request MAC is calculated using HMAC with the specified hash algorithm "sha256" and the key over the normalized request string.
245
- The result is base64-encoded to produce the request MAC:
246
-
247
- ```
248
- 6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE=
249
- ```
250
-
251
- The client includes the **Hawk** key identifier, timestamp, nonce, application specific data, and request MAC with the request using
252
- the HTTP `Authorization` request header field:
253
-
254
- ```
255
- GET /resource/1?b=1&a=2 HTTP/1.1
256
- Host: example.com:8000
257
- Authorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", ext="some-app-ext-data", mac="6R4rV5iE+NPoym+WwjeHzjAGXUtLNIxmo1vpMofpLAE="
258
- ```
259
-
260
- The server validates the request by calculating the request MAC again based on the request received and verifies the validity
261
- and scope of the **Hawk** credentials. If valid, the server responds with the requested resource.
262
-
263
-
264
- ### Payload Validation
265
-
266
- **Hawk** provides optional payload validation. When generating the authentication header, the client calculates a payload hash
267
- using the specified hash algorithm. The hash is calculated over the concatenated value of (each followed by a newline character):
268
- * `hawk.1.payload`
269
- * the content-type in lowercase, without any parameters (e.g. `application/json`)
270
- * the request payload prior to any content encoding (the exact representation requirements should be specified by the server for payloads other than simple single-part ascii to ensure interoperability)
271
-
272
- For example:
273
-
274
- * Payload: `Thank you for flying Hawk`
275
- * Content Type: `text/plain`
276
- * Hash (sha256): `Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=`
277
-
278
- Results in the following input to the payload hash function (newline terminated values):
279
-
280
- ```
281
- hawk.1.payload
282
- text/plain
283
- Thank you for flying Hawk
284
-
285
- ```
286
-
287
- Which produces the following hash value:
288
-
289
- ```
290
- Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=
291
- ```
292
-
293
- The client constructs the normalized request string (newline terminated values):
294
-
295
- ```
296
- hawk.1.header
297
- 1353832234
298
- j4h3g2
299
- POST
300
- /resource/1?a=1&b=2
301
- example.com
302
- 8000
303
- Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=
304
- some-app-ext-data
305
-
306
- ```
307
-
308
- Then calculates the request MAC and includes the **Hawk** key identifier, timestamp, nonce, payload hash, application specific data,
309
- and request MAC, with the request using the HTTP `Authorization` request header field:
310
-
311
- ```
312
- POST /resource/1?a=1&b=2 HTTP/1.1
313
- Host: example.com:8000
314
- Authorization: Hawk id="dh37fgj492je", ts="1353832234", nonce="j4h3g2", hash="Yi9LfIIFRtBEPt74PVmbTF/xVAwPn7ub15ePICfgnuY=", ext="some-app-ext-data", mac="aSe1DERmZuRl3pI36/9BdZmnErTw3sNzOOAUlfeKjVw="
315
- ```
316
-
317
- It is up to the server if and when it validates the payload for any given request, based solely on it's security policy
318
- and the nature of the data included.
319
-
320
- If the payload is available at the time of authentication, the server uses the hash value provided by the client to construct
321
- the normalized string and validates the MAC. If the MAC is valid, the server calculates the payload hash and compares the value
322
- with the provided payload hash in the header. In many cases, checking the MAC first is faster than calculating the payload hash.
323
-
324
- However, if the payload is not available at authentication time (e.g. too large to fit in memory, streamed elsewhere, or processed
325
- at a different stage in the application), the server may choose to defer payload validation for later by retaining the hash value
326
- provided by the client after validating the MAC.
327
-
328
- It is important to note that MAC validation does not mean the hash value provided by the client is valid, only that the value
329
- included in the header was not modified. Without calculating the payload hash on the server and comparing it to the value provided
330
- by the client, the payload may be modified by an attacker.
331
-
332
-
333
- ## Response Payload Validation
334
-
335
- **Hawk** provides partial response payload validation. The server includes the `Server-Authorization` response header which enables the
336
- client to authenticate the response and ensure it is talking to the right server. **Hawk** defines the HTTP `Server-Authorization` header
337
- as a response header using the exact same syntax as the `Authorization` request header field.
338
-
339
- The header is contructed using the same process as the client's request header. The server uses the same credentials and other
340
- artifacts provided by the client to constructs the normalized request string. The `ext` and `hash` values are replaced with
341
- new values based on the server response. The rest as identical to those used by the client.
342
-
343
- The result MAC digest is included with the optional `hash` and `ext` values:
344
-
345
- ```
346
- Server-Authorization: Hawk mac="XIJRsMl/4oL+nn+vKoeVZPdCHXB4yJkNnBbTbHFZUYE=", hash="f9cDF/TDm7TkYRLnGwRMfeDzT6LixQVLvrIKhh0vgmM=", ext="response-specific"
347
- ```
348
-
349
-
350
- ## Browser Support and Considerations
351
-
352
- A browser script is provided for including using a `<script>` tag in [lib/browser.js](/lib/browser.js). It's also a [component](http://component.io/hueniverse/hawk).
353
-
354
- **Hawk** relies on the _Server-Authorization_ and _WWW-Authenticate_ headers in its response to communicate with the client.
355
- Therefore, in case of CORS requests, it is important to consider sending _Access-Control-Expose-Headers_ with the value
356
- _"WWW-Authenticate, Server-Authorization"_ on each response from your server. As explained in the
357
- [specifications](http://www.w3.org/TR/cors/#access-control-expose-headers-response-header), it will indicate that these headers
358
- can safely be accessed by the client (using getResponseHeader() on the XmlHttpRequest object). Otherwise you will be met with a
359
- ["simple response header"](http://www.w3.org/TR/cors/#simple-response-header) which excludes these fields and would prevent the
360
- Hawk client from authenticating the requests.You can read more about the why and how in this
361
- [article](http://www.html5rocks.com/en/tutorials/cors/#toc-adding-cors-support-to-the-server)
362
-
363
-
364
- # Single URI Authorization
365
-
366
- There are cases in which limited and short-term access to a protected resource is granted to a third party which does not
367
- have access to the shared credentials. For example, displaying a protected image on a web page accessed by anyone. **Hawk**
368
- provides limited support for such URIs in the form of a _bewit_ - a URI query parameter appended to the request URI which contains
369
- the necessary credentials to authenticate the request.
370
-
371
- Because of the significant security risks involved in issuing such access, bewit usage is purposely limited only to GET requests
372
- and for a finite period of time. Both the client and server can issue bewit credentials, however, the server should not use the same
373
- credentials as the client to maintain clear traceability as to who issued which credentials.
374
-
375
- In order to simplify implementation, bewit credentials do not support single-use policy and can be replayed multiple times within
376
- the granted access timeframe.
377
-
378
-
379
- ## Bewit Usage Example
380
-
381
- Server code:
382
-
383
- ```javascript
384
- var Http = require('http');
385
- var Hawk = require('hawk');
386
-
387
-
388
- // Credentials lookup function
389
-
390
- var credentialsFunc = function (id, callback) {
391
-
392
- var credentials = {
393
- key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn',
394
- algorithm: 'sha256'
395
- };
396
-
397
- return callback(null, credentials);
398
- };
399
-
400
- // Create HTTP server
401
-
402
- var handler = function (req, res) {
403
-
404
- Hawk.uri.authenticate(req, credentialsFunc, {}, function (err, credentials, attributes) {
405
-
406
- res.writeHead(!err ? 200 : 401, { 'Content-Type': 'text/plain' });
407
- res.end(!err ? 'Access granted' : 'Shoosh!');
408
- });
409
- };
410
-
411
- Http.createServer(handler).listen(8000, 'example.com');
412
- ```
413
-
414
- Bewit code generation:
415
-
416
- ```javascript
417
- var Request = require('request');
418
- var Hawk = require('hawk');
419
-
420
-
421
- // Client credentials
422
-
423
- var credentials = {
424
- id: 'dh37fgj492je',
425
- key: 'werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn',
426
- algorithm: 'sha256'
427
- }
428
-
429
- // Generate bewit
430
-
431
- var duration = 60 * 5; // 5 Minutes
432
- var bewit = Hawk.uri.getBewit('http://example.com:8080/resource/1?b=1&a=2', { credentials: credentials, ttlSec: duration, ext: 'some-app-data' });
433
- var uri = 'http://example.com:8000/resource/1?b=1&a=2' + '&bewit=' + bewit;
434
- ```
435
-
436
-
437
- # Security Considerations
438
-
439
- The greatest sources of security risks are usually found not in **Hawk** but in the policies and procedures surrounding its use.
440
- Implementers are strongly encouraged to assess how this module addresses their security requirements. This section includes
441
- an incomplete list of security considerations that must be reviewed and understood before deploying **Hawk** on the server.
442
- Many of the protections provided in **Hawk** depends on whether and how they are used.
443
-
444
- ### MAC Keys Transmission
445
-
446
- **Hawk** does not provide any mechanism for obtaining or transmitting the set of shared credentials required. Any mechanism used
447
- to obtain **Hawk** credentials must ensure that these transmissions are protected using transport-layer mechanisms such as TLS.
448
-
449
- ### Confidentiality of Requests
450
-
451
- While **Hawk** provides a mechanism for verifying the integrity of HTTP requests, it provides no guarantee of request
452
- confidentiality. Unless other precautions are taken, eavesdroppers will have full access to the request content. Servers should
453
- carefully consider the types of data likely to be sent as part of such requests, and employ transport-layer security mechanisms
454
- to protect sensitive resources.
455
-
456
- ### Spoofing by Counterfeit Servers
457
-
458
- **Hawk** provides limited verification of the server authenticity. When receiving a response back from the server, the server
459
- may choose to include a response `Server-Authorization` header which the client can use to verify the response. However, it is up to
460
- the server to determine when such measure is included, to up to the client to enforce that policy.
461
-
462
- A hostile party could take advantage of this by intercepting the client's requests and returning misleading or otherwise
463
- incorrect responses. Service providers should consider such attacks when developing services using this protocol, and should
464
- require transport-layer security for any requests where the authenticity of the resource server or of server responses is an issue.
465
-
466
- ### Plaintext Storage of Credentials
467
-
468
- The **Hawk** key functions the same way passwords do in traditional authentication systems. In order to compute the request MAC,
469
- the server must have access to the key in plaintext form. This is in contrast, for example, to modern operating systems, which
470
- store only a one-way hash of user credentials.
471
-
472
- If an attacker were to gain access to these keys - or worse, to the server's database of all such keys - he or she would be able
473
- to perform any action on behalf of any resource owner. Accordingly, it is critical that servers protect these keys from unauthorized
474
- access.
475
-
476
- ### Entropy of Keys
477
-
478
- Unless a transport-layer security protocol is used, eavesdroppers will have full access to authenticated requests and request
479
- MAC values, and will thus be able to mount offline brute-force attacks to recover the key used. Servers should be careful to
480
- assign keys which are long enough, and random enough, to resist such attacks for at least the length of time that the **Hawk**
481
- credentials are valid.
482
-
483
- For example, if the credentials are valid for two weeks, servers should ensure that it is not possible to mount a brute force
484
- attack that recovers the key in less than two weeks. Of course, servers are urged to err on the side of caution, and use the
485
- longest key reasonable.
486
-
487
- It is equally important that the pseudo-random number generator (PRNG) used to generate these keys be of sufficiently high
488
- quality. Many PRNG implementations generate number sequences that may appear to be random, but which nevertheless exhibit
489
- patterns or other weaknesses which make cryptanalysis or brute force attacks easier. Implementers should be careful to use
490
- cryptographically secure PRNGs to avoid these problems.
491
-
492
- ### Coverage Limitations
493
-
494
- The request MAC only covers the HTTP `Host` header and optionally the `Content-Type` header. It does not cover any other headers
495
- which can often affect how the request body is interpreted by the server. If the server behavior is influenced by the presence
496
- or value of such headers, an attacker can manipulate the request headers without being detected. Implementers should use the
497
- `ext` feature to pass application-specific information via the `Authorization` header which is protected by the request MAC.
498
-
499
- The response authentication, when performed, only covers the response payload, content-type, and the request information
500
- provided by the client in it's request (method, resource, timestamp, nonce, etc.). It does not cover the HTTP status code or
501
- any other response header field (e.g. Location) which can affect the client's behaviour.
502
-
503
- ### Future Time Manipulation
504
-
505
- The protocol relies on a clock sync between the client and server. To accomplish this, the server informs the client of its
506
- current time when an invalid timestamp is received.
507
-
508
- If an attacker is able to manipulate this information and cause the client to use an incorrect time, it would be able to cause
509
- the client to generate authenticated requests using time in the future. Such requests will fail when sent by the client, and will
510
- not likely leave a trace on the server (given the common implementation of nonce, if at all enforced). The attacker will then
511
- be able to replay the request at the correct time without detection.
512
-
513
- The client must only use the time information provided by the server if:
514
- * it was delivered over a TLS connection and the server identity has been verified, or
515
- * the `tsm` MAC digest calculated using the same client credentials over the timestamp has been verified.
516
-
517
- ### Client Clock Poisoning
518
-
519
- When receiving a request with a bad timestamp, the server provides the client with its current time. The client must never use
520
- the time received from the server to adjust its own clock, and must only use it to calculate an offset for communicating with
521
- that particular server.
522
-
523
- ### Bewit Limitations
524
-
525
- Special care must be taken when issuing bewit credentials to third parties. Bewit credentials are valid until expiration and cannot
526
- be revoked or limited without using other means. Whatever resource they grant access to will be completely exposed to anyone with
527
- access to the bewit credentials which act as bearer credentials for that particular resource. While bewit usage is limited to GET
528
- requests only and therefore cannot be used to perform transactions or change server state, it can still be used to expose private
529
- and sensitive information.
530
-
531
- ### Host Header Forgery
532
-
533
- Hawk validates the incoming request MAC against the incoming HTTP Host header. However, unless the optional `host` and `port`
534
- options are used with `server.authenticate()`, a malicous client can mint new host names pointing to the server's IP address and
535
- use that to craft an attack by sending a valid request that's meant for another hostname than the one used by the server. Server
536
- implementors must manually verify that the host header received matches their expectation (or use the options mentioned above).
537
-
538
- # Frequently Asked Questions
539
-
540
- ### Where is the protocol specification?
541
-
542
- If you are looking for some prose explaining how all this works, **this is it**. **Hawk** is being developed as an open source
543
- project instead of a standard. In other words, the [code](/hueniverse/hawk/tree/master/lib) is the specification. Not sure about
544
- something? Open an issue!
545
-
546
- ### Is it done?
547
-
548
- As of version 0.10.0, **Hawk** is feature-complete. However, until this module reaches version 1.0.0 it is considered experimental
549
- and is likely to change. This also means your feedback and contribution are very welcome. Feel free to open issues with questions
550
- and suggestions.
551
-
552
- ### Where can I find **Hawk** implementations in other languages?
553
-
554
- **Hawk**'s only reference implementation is provided in JavaScript as a node.js module. However, it has been ported to other languages.
555
- The full list is maintained [here](https://github.com/hueniverse/hawk/issues?labels=port&state=closed). Please add an issue if you are
556
- working on another port. A cross-platform test-suite is in the works.
557
-
558
- ### Why isn't the algorithm part of the challenge or dynamically negotiated?
559
-
560
- The algorithm used is closely related to the key issued as different algorithms require different key sizes (and other
561
- requirements). While some keys can be used for multiple algorithm, the protocol is designed to closely bind the key and algorithm
562
- together as part of the issued credentials.
563
-
564
- ### Why is Host and Content-Type the only headers covered by the request MAC?
565
-
566
- It is really hard to include other headers. Headers can be changed by proxies and other intermediaries and there is no
567
- well-established way to normalize them. Many platforms change the case of header field names and values. The only
568
- straight-forward solution is to include the headers in some blob (say, base64 encoded JSON) and include that with the request,
569
- an approach taken by JWT and other such formats. However, that design violates the HTTP header boundaries, repeats information,
570
- and introduces other security issues because firewalls will not be aware of these "hidden" headers. In addition, any information
571
- repeated must be compared to the duplicated information in the header and therefore only moves the problem elsewhere.
572
-
573
- ### Why not just use HTTP Digest?
574
-
575
- Digest requires pre-negotiation to establish a nonce. This means you can't just make a request - you must first send
576
- a protocol handshake to the server. This pattern has become unacceptable for most web services, especially mobile
577
- where extra round-trip are costly.
578
-
579
- ### Why bother with all this nonce and timestamp business?
580
-
581
- **Hawk** is an attempt to find a reasonable, practical compromise between security and usability. OAuth 1.0 got timestamp
582
- and nonces halfway right but failed when it came to scalability and consistent developer experience. **Hawk** addresses
583
- it by requiring the client to sync its clock, but provides it with tools to accomplish it.
584
-
585
- In general, replay protection is a matter of application-specific threat model. It is less of an issue on a TLS-protected
586
- system where the clients are implemented using best practices and are under the control of the server. Instead of dropping
587
- replay protection, **Hawk** offers a required time window and an optional nonce verification. Together, it provides developers
588
- with the ability to decide how to enforce their security policy without impacting the client's implementation.
589
-
590
- ### What are `app` and `dlg` in the authorization header and normalized mac string?
591
-
592
- The original motivation for **Hawk** was to replace the OAuth 1.0 use cases. This included both a simple client-server mode which
593
- this module is specifically designed for, and a delegated access mode which is being developed separately in
594
- [Oz](https://github.com/hueniverse/oz). In addition to the **Hawk** use cases, Oz requires another attribute: the application id `app`.
595
- This provides binding between the credentials and the application in a way that prevents an attacker from tricking an application
596
- to use credentials issued to someone else. It also has an optional 'delegated-by' attribute `dlg` which is the application id of the
597
- application the credentials were directly issued to. The goal of these two additions is to allow Oz to utilize **Hawk** directly,
598
- but with the additional security of delegated credentials.
599
-
600
- ### What is the purpose of the static strings used in each normalized MAC input?
601
-
602
- When calculating a hash or MAC, a static prefix (tag) is added. The prefix is used to prevent MAC values from being
603
- used or reused for a purpose other than what they were created for (i.e. prevents switching MAC values between a request,
604
- response, and a bewit use cases). It also protects against exploits created after a potential change in how the protocol
605
- creates the normalized string. For example, if a future version would switch the order of nonce and timestamp, it
606
- can create an exploit opportunity for cases where the nonce is similar in format to a timestamp.
607
-
608
- ### Does **Hawk** have anything to do with OAuth?
609
-
610
- Short answer: no.
611
-
612
- **Hawk** was originally proposed as the OAuth MAC Token specification. However, the OAuth working group in its consistent
613
- incompetence failed to produce a final, usable solution to address one of the most popular use cases of OAuth 1.0 - using it
614
- to authenticate simple client-server transactions (i.e. two-legged). As you can guess, the OAuth working group is still hard
615
- at work to produce more garbage.
616
-
617
- **Hawk** provides a simple HTTP authentication scheme for making client-server requests. It does not address the OAuth use case
618
- of delegating access to a third party. If you are looking for an OAuth alternative, check out [Oz](https://github.com/hueniverse/oz).
619
-
620
- # Implementations
621
-
622
- - [Logibit Hawk in F#/.Net](https://github.com/logibit/logibit.hawk/)
623
- - [Tent Hawk in Ruby](https://github.com/tent/hawk-ruby)
624
- - [Wealdtech in Java](https://github.com/wealdtech/hawk)
625
- - [Kumar's Mohawk in Python](https://github.com/kumar303/mohawk/)
626
-
627
- # Acknowledgements
628
-
629
- **Hawk** is a derivative work of the [HTTP MAC Authentication Scheme](http://tools.ietf.org/html/draft-hammer-oauth-v2-mac-token-05) proposal
630
- co-authored by Ben Adida, Adam Barth, and Eran Hammer, which in turn was based on the OAuth 1.0 community specification.
631
-
632
- Special thanks to Ben Laurie for his always insightful feedback and advice.
633
-
634
- The **Hawk** logo was created by [Chris Carrasco](http://chriscarrasco.com).
@@ -1,24 +0,0 @@
1
- {
2
- "name": "hawk",
3
- "main": "lib/browser.js",
4
- "license": "./LICENSE",
5
- "ignore": [
6
- "!lib",
7
- "lib/*",
8
- "!lib/browser.js",
9
- "index.js"
10
- ],
11
- "keywords": [
12
- "http",
13
- "authentication",
14
- "scheme",
15
- "hawk"
16
- ],
17
- "authors": [
18
- "Eran Hammer <eran@hammer.io>"
19
- ],
20
- "repository": {
21
- "type": "git",
22
- "url": "git://github.com/hueniverse/hawk.git"
23
- }
24
- }
@@ -1,19 +0,0 @@
1
- {
2
- "name": "hawk",
3
- "repo": "hueniverse/hawk",
4
- "description": "HTTP Hawk Authentication Scheme",
5
- "version": "1.0.0",
6
- "keywords": [
7
- "http",
8
- "authentication",
9
- "scheme",
10
- "hawk"
11
- ],
12
- "dependencies": {},
13
- "development": {},
14
- "license": "BSD",
15
- "main": "lib/browser.js",
16
- "scripts": [
17
- "lib/browser.js"
18
- ]
19
- }