es6-crawler-detect 3.2.0 → 4.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/.babelrc +1 -1
  2. package/.mocharc.json +5 -0
  3. package/README.md +1 -0
  4. package/dist/main.bundle.js +1 -1
  5. package/eslint.config.mjs +62 -0
  6. package/example/node/package.json +1 -1
  7. package/example/node/server.js +38 -32
  8. package/example/node/yarn.lock +222 -99
  9. package/package.json +30 -25
  10. package/src/index.js +20 -14
  11. package/src/index.ts +18 -0
  12. package/src/lib/crawler/crawlers.js +9 -12
  13. package/src/lib/crawler/crawlers.ts +1397 -0
  14. package/src/lib/crawler/exclusions.js +7 -11
  15. package/src/lib/crawler/exclusions.ts +56 -0
  16. package/src/lib/crawler/headers.js +6 -10
  17. package/src/lib/crawler/headers.ts +18 -0
  18. package/src/lib/crawler/provider.js +1 -10
  19. package/src/lib/crawler/provider.ts +3 -0
  20. package/src/lib/crawler.js +61 -98
  21. package/src/lib/crawler.ts +128 -0
  22. package/src/types.js +2 -0
  23. package/src/types.ts +15 -0
  24. package/test/lib/crawler.spec.js +149 -0
  25. package/test/lib/crawler.spec.ts +116 -0
  26. package/test/lib/database/crawlers.txt +3651 -0
  27. package/test/lib/database/devices.txt +165636 -0
  28. package/tsconfig.json +16 -0
  29. package/webpack.common.js +20 -20
  30. package/webpack.dev.js +7 -7
  31. package/webpack.prod.js +14 -14
  32. package/.eslintignore +0 -6
  33. package/.eslintrc.json +0 -30
  34. package/example/node/node_modules/.bin/mime +0 -15
  35. package/example/node/node_modules/.bin/mime.cmd +0 -7
  36. package/example/node/node_modules/.yarn-integrity +0 -67
  37. package/example/node/node_modules/accepts/HISTORY.md +0 -236
  38. package/example/node/node_modules/accepts/LICENSE +0 -23
  39. package/example/node/node_modules/accepts/README.md +0 -142
  40. package/example/node/node_modules/accepts/index.js +0 -238
  41. package/example/node/node_modules/accepts/package.json +0 -47
  42. package/example/node/node_modules/array-flatten/LICENSE +0 -21
  43. package/example/node/node_modules/array-flatten/README.md +0 -43
  44. package/example/node/node_modules/array-flatten/array-flatten.js +0 -64
  45. package/example/node/node_modules/array-flatten/package.json +0 -39
  46. package/example/node/node_modules/body-parser/HISTORY.md +0 -624
  47. package/example/node/node_modules/body-parser/LICENSE +0 -23
  48. package/example/node/node_modules/body-parser/README.md +0 -456
  49. package/example/node/node_modules/body-parser/index.js +0 -157
  50. package/example/node/node_modules/body-parser/lib/read.js +0 -181
  51. package/example/node/node_modules/body-parser/lib/types/json.js +0 -230
  52. package/example/node/node_modules/body-parser/lib/types/raw.js +0 -101
  53. package/example/node/node_modules/body-parser/lib/types/text.js +0 -121
  54. package/example/node/node_modules/body-parser/lib/types/urlencoded.js +0 -284
  55. package/example/node/node_modules/body-parser/package.json +0 -52
  56. package/example/node/node_modules/bytes/History.md +0 -92
  57. package/example/node/node_modules/bytes/LICENSE +0 -23
  58. package/example/node/node_modules/bytes/Readme.md +0 -152
  59. package/example/node/node_modules/bytes/index.js +0 -166
  60. package/example/node/node_modules/bytes/package.json +0 -42
  61. package/example/node/node_modules/content-disposition/HISTORY.md +0 -60
  62. package/example/node/node_modules/content-disposition/LICENSE +0 -22
  63. package/example/node/node_modules/content-disposition/README.md +0 -142
  64. package/example/node/node_modules/content-disposition/index.js +0 -458
  65. package/example/node/node_modules/content-disposition/package.json +0 -44
  66. package/example/node/node_modules/content-type/HISTORY.md +0 -24
  67. package/example/node/node_modules/content-type/LICENSE +0 -22
  68. package/example/node/node_modules/content-type/README.md +0 -92
  69. package/example/node/node_modules/content-type/index.js +0 -222
  70. package/example/node/node_modules/content-type/package.json +0 -40
  71. package/example/node/node_modules/cookie/HISTORY.md +0 -128
  72. package/example/node/node_modules/cookie/LICENSE +0 -24
  73. package/example/node/node_modules/cookie/README.md +0 -257
  74. package/example/node/node_modules/cookie/index.js +0 -202
  75. package/example/node/node_modules/cookie/package.json +0 -40
  76. package/example/node/node_modules/cookie-signature/History.md +0 -38
  77. package/example/node/node_modules/cookie-signature/Readme.md +0 -42
  78. package/example/node/node_modules/cookie-signature/index.js +0 -51
  79. package/example/node/node_modules/cookie-signature/package.json +0 -18
  80. package/example/node/node_modules/debug/.coveralls.yml +0 -1
  81. package/example/node/node_modules/debug/.eslintrc +0 -11
  82. package/example/node/node_modules/debug/.travis.yml +0 -14
  83. package/example/node/node_modules/debug/CHANGELOG.md +0 -362
  84. package/example/node/node_modules/debug/LICENSE +0 -19
  85. package/example/node/node_modules/debug/Makefile +0 -50
  86. package/example/node/node_modules/debug/README.md +0 -312
  87. package/example/node/node_modules/debug/component.json +0 -19
  88. package/example/node/node_modules/debug/karma.conf.js +0 -70
  89. package/example/node/node_modules/debug/node.js +0 -1
  90. package/example/node/node_modules/debug/package.json +0 -49
  91. package/example/node/node_modules/debug/src/browser.js +0 -185
  92. package/example/node/node_modules/debug/src/debug.js +0 -202
  93. package/example/node/node_modules/debug/src/index.js +0 -10
  94. package/example/node/node_modules/debug/src/inspector-log.js +0 -15
  95. package/example/node/node_modules/debug/src/node.js +0 -248
  96. package/example/node/node_modules/depd/History.md +0 -96
  97. package/example/node/node_modules/depd/LICENSE +0 -22
  98. package/example/node/node_modules/depd/Readme.md +0 -280
  99. package/example/node/node_modules/depd/index.js +0 -522
  100. package/example/node/node_modules/depd/lib/browser/index.js +0 -77
  101. package/example/node/node_modules/depd/lib/compat/callsite-tostring.js +0 -103
  102. package/example/node/node_modules/depd/lib/compat/event-listener-count.js +0 -22
  103. package/example/node/node_modules/depd/lib/compat/index.js +0 -79
  104. package/example/node/node_modules/depd/package.json +0 -41
  105. package/example/node/node_modules/destroy/LICENSE +0 -22
  106. package/example/node/node_modules/destroy/README.md +0 -60
  107. package/example/node/node_modules/destroy/index.js +0 -75
  108. package/example/node/node_modules/destroy/package.json +0 -37
  109. package/example/node/node_modules/ee-first/LICENSE +0 -22
  110. package/example/node/node_modules/ee-first/README.md +0 -80
  111. package/example/node/node_modules/ee-first/index.js +0 -95
  112. package/example/node/node_modules/ee-first/package.json +0 -29
  113. package/example/node/node_modules/encodeurl/HISTORY.md +0 -14
  114. package/example/node/node_modules/encodeurl/LICENSE +0 -22
  115. package/example/node/node_modules/encodeurl/README.md +0 -128
  116. package/example/node/node_modules/encodeurl/index.js +0 -60
  117. package/example/node/node_modules/encodeurl/package.json +0 -40
  118. package/example/node/node_modules/escape-html/LICENSE +0 -24
  119. package/example/node/node_modules/escape-html/Readme.md +0 -43
  120. package/example/node/node_modules/escape-html/index.js +0 -78
  121. package/example/node/node_modules/escape-html/package.json +0 -24
  122. package/example/node/node_modules/etag/HISTORY.md +0 -83
  123. package/example/node/node_modules/etag/LICENSE +0 -22
  124. package/example/node/node_modules/etag/README.md +0 -159
  125. package/example/node/node_modules/etag/index.js +0 -131
  126. package/example/node/node_modules/etag/package.json +0 -47
  127. package/example/node/node_modules/express/History.md +0 -3510
  128. package/example/node/node_modules/express/LICENSE +0 -24
  129. package/example/node/node_modules/express/Readme.md +0 -158
  130. package/example/node/node_modules/express/index.js +0 -11
  131. package/example/node/node_modules/express/lib/application.js +0 -644
  132. package/example/node/node_modules/express/lib/express.js +0 -116
  133. package/example/node/node_modules/express/lib/middleware/init.js +0 -43
  134. package/example/node/node_modules/express/lib/middleware/query.js +0 -47
  135. package/example/node/node_modules/express/lib/request.js +0 -525
  136. package/example/node/node_modules/express/lib/response.js +0 -1147
  137. package/example/node/node_modules/express/lib/router/index.js +0 -668
  138. package/example/node/node_modules/express/lib/router/layer.js +0 -181
  139. package/example/node/node_modules/express/lib/router/route.js +0 -216
  140. package/example/node/node_modules/express/lib/utils.js +0 -302
  141. package/example/node/node_modules/express/lib/view.js +0 -182
  142. package/example/node/node_modules/express/package.json +0 -99
  143. package/example/node/node_modules/finalhandler/HISTORY.md +0 -187
  144. package/example/node/node_modules/finalhandler/LICENSE +0 -22
  145. package/example/node/node_modules/finalhandler/README.md +0 -148
  146. package/example/node/node_modules/finalhandler/index.js +0 -331
  147. package/example/node/node_modules/finalhandler/package.json +0 -45
  148. package/example/node/node_modules/forwarded/HISTORY.md +0 -21
  149. package/example/node/node_modules/forwarded/LICENSE +0 -22
  150. package/example/node/node_modules/forwarded/README.md +0 -57
  151. package/example/node/node_modules/forwarded/index.js +0 -90
  152. package/example/node/node_modules/forwarded/package.json +0 -45
  153. package/example/node/node_modules/fresh/HISTORY.md +0 -70
  154. package/example/node/node_modules/fresh/LICENSE +0 -23
  155. package/example/node/node_modules/fresh/README.md +0 -119
  156. package/example/node/node_modules/fresh/index.js +0 -137
  157. package/example/node/node_modules/fresh/package.json +0 -46
  158. package/example/node/node_modules/http-errors/HISTORY.md +0 -165
  159. package/example/node/node_modules/http-errors/LICENSE +0 -23
  160. package/example/node/node_modules/http-errors/README.md +0 -169
  161. package/example/node/node_modules/http-errors/index.js +0 -299
  162. package/example/node/node_modules/http-errors/package.json +0 -49
  163. package/example/node/node_modules/iconv-lite/Changelog.md +0 -162
  164. package/example/node/node_modules/iconv-lite/LICENSE +0 -21
  165. package/example/node/node_modules/iconv-lite/README.md +0 -156
  166. package/example/node/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -555
  167. package/example/node/node_modules/iconv-lite/encodings/dbcs-data.js +0 -176
  168. package/example/node/node_modules/iconv-lite/encodings/index.js +0 -22
  169. package/example/node/node_modules/iconv-lite/encodings/internal.js +0 -188
  170. package/example/node/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -72
  171. package/example/node/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -451
  172. package/example/node/node_modules/iconv-lite/encodings/sbcs-data.js +0 -174
  173. package/example/node/node_modules/iconv-lite/encodings/tables/big5-added.json +0 -122
  174. package/example/node/node_modules/iconv-lite/encodings/tables/cp936.json +0 -264
  175. package/example/node/node_modules/iconv-lite/encodings/tables/cp949.json +0 -273
  176. package/example/node/node_modules/iconv-lite/encodings/tables/cp950.json +0 -177
  177. package/example/node/node_modules/iconv-lite/encodings/tables/eucjp.json +0 -182
  178. package/example/node/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +0 -1
  179. package/example/node/node_modules/iconv-lite/encodings/tables/gbk-added.json +0 -55
  180. package/example/node/node_modules/iconv-lite/encodings/tables/shiftjis.json +0 -125
  181. package/example/node/node_modules/iconv-lite/encodings/utf16.js +0 -177
  182. package/example/node/node_modules/iconv-lite/encodings/utf7.js +0 -290
  183. package/example/node/node_modules/iconv-lite/lib/bom-handling.js +0 -52
  184. package/example/node/node_modules/iconv-lite/lib/extend-node.js +0 -217
  185. package/example/node/node_modules/iconv-lite/lib/index.d.ts +0 -24
  186. package/example/node/node_modules/iconv-lite/lib/index.js +0 -153
  187. package/example/node/node_modules/iconv-lite/lib/streams.js +0 -121
  188. package/example/node/node_modules/iconv-lite/package.json +0 -46
  189. package/example/node/node_modules/inherits/LICENSE +0 -16
  190. package/example/node/node_modules/inherits/README.md +0 -42
  191. package/example/node/node_modules/inherits/inherits.js +0 -9
  192. package/example/node/node_modules/inherits/inherits_browser.js +0 -27
  193. package/example/node/node_modules/inherits/package.json +0 -29
  194. package/example/node/node_modules/ipaddr.js/LICENSE +0 -19
  195. package/example/node/node_modules/ipaddr.js/README.md +0 -233
  196. package/example/node/node_modules/ipaddr.js/ipaddr.min.js +0 -1
  197. package/example/node/node_modules/ipaddr.js/lib/ipaddr.js +0 -673
  198. package/example/node/node_modules/ipaddr.js/lib/ipaddr.js.d.ts +0 -68
  199. package/example/node/node_modules/ipaddr.js/package.json +0 -35
  200. package/example/node/node_modules/media-typer/HISTORY.md +0 -22
  201. package/example/node/node_modules/media-typer/LICENSE +0 -22
  202. package/example/node/node_modules/media-typer/README.md +0 -81
  203. package/example/node/node_modules/media-typer/index.js +0 -270
  204. package/example/node/node_modules/media-typer/package.json +0 -26
  205. package/example/node/node_modules/merge-descriptors/HISTORY.md +0 -21
  206. package/example/node/node_modules/merge-descriptors/LICENSE +0 -23
  207. package/example/node/node_modules/merge-descriptors/README.md +0 -48
  208. package/example/node/node_modules/merge-descriptors/index.js +0 -60
  209. package/example/node/node_modules/merge-descriptors/package.json +0 -32
  210. package/example/node/node_modules/methods/HISTORY.md +0 -29
  211. package/example/node/node_modules/methods/LICENSE +0 -24
  212. package/example/node/node_modules/methods/README.md +0 -51
  213. package/example/node/node_modules/methods/index.js +0 -69
  214. package/example/node/node_modules/methods/package.json +0 -36
  215. package/example/node/node_modules/mime/CHANGELOG.md +0 -164
  216. package/example/node/node_modules/mime/LICENSE +0 -21
  217. package/example/node/node_modules/mime/README.md +0 -90
  218. package/example/node/node_modules/mime/cli.js +0 -8
  219. package/example/node/node_modules/mime/mime.js +0 -108
  220. package/example/node/node_modules/mime/package.json +0 -44
  221. package/example/node/node_modules/mime/src/build.js +0 -53
  222. package/example/node/node_modules/mime/src/test.js +0 -60
  223. package/example/node/node_modules/mime/types.json +0 -1
  224. package/example/node/node_modules/mime-db/HISTORY.md +0 -499
  225. package/example/node/node_modules/mime-db/LICENSE +0 -22
  226. package/example/node/node_modules/mime-db/README.md +0 -100
  227. package/example/node/node_modules/mime-db/db.json +0 -8471
  228. package/example/node/node_modules/mime-db/index.js +0 -11
  229. package/example/node/node_modules/mime-db/package.json +0 -59
  230. package/example/node/node_modules/mime-types/HISTORY.md +0 -388
  231. package/example/node/node_modules/mime-types/LICENSE +0 -23
  232. package/example/node/node_modules/mime-types/README.md +0 -113
  233. package/example/node/node_modules/mime-types/index.js +0 -188
  234. package/example/node/node_modules/mime-types/package.json +0 -44
  235. package/example/node/node_modules/ms/index.js +0 -152
  236. package/example/node/node_modules/ms/license.md +0 -21
  237. package/example/node/node_modules/ms/package.json +0 -37
  238. package/example/node/node_modules/ms/readme.md +0 -51
  239. package/example/node/node_modules/negotiator/HISTORY.md +0 -103
  240. package/example/node/node_modules/negotiator/LICENSE +0 -24
  241. package/example/node/node_modules/negotiator/README.md +0 -203
  242. package/example/node/node_modules/negotiator/index.js +0 -124
  243. package/example/node/node_modules/negotiator/lib/charset.js +0 -169
  244. package/example/node/node_modules/negotiator/lib/encoding.js +0 -184
  245. package/example/node/node_modules/negotiator/lib/language.js +0 -179
  246. package/example/node/node_modules/negotiator/lib/mediaType.js +0 -294
  247. package/example/node/node_modules/negotiator/package.json +0 -42
  248. package/example/node/node_modules/on-finished/HISTORY.md +0 -88
  249. package/example/node/node_modules/on-finished/LICENSE +0 -23
  250. package/example/node/node_modules/on-finished/README.md +0 -154
  251. package/example/node/node_modules/on-finished/index.js +0 -196
  252. package/example/node/node_modules/on-finished/package.json +0 -31
  253. package/example/node/node_modules/parseurl/HISTORY.md +0 -58
  254. package/example/node/node_modules/parseurl/LICENSE +0 -24
  255. package/example/node/node_modules/parseurl/README.md +0 -133
  256. package/example/node/node_modules/parseurl/index.js +0 -158
  257. package/example/node/node_modules/parseurl/package.json +0 -40
  258. package/example/node/node_modules/path-to-regexp/History.md +0 -36
  259. package/example/node/node_modules/path-to-regexp/LICENSE +0 -21
  260. package/example/node/node_modules/path-to-regexp/Readme.md +0 -35
  261. package/example/node/node_modules/path-to-regexp/index.js +0 -129
  262. package/example/node/node_modules/path-to-regexp/package.json +0 -30
  263. package/example/node/node_modules/proxy-addr/HISTORY.md +0 -161
  264. package/example/node/node_modules/proxy-addr/LICENSE +0 -22
  265. package/example/node/node_modules/proxy-addr/README.md +0 -139
  266. package/example/node/node_modules/proxy-addr/index.js +0 -327
  267. package/example/node/node_modules/proxy-addr/package.json +0 -47
  268. package/example/node/node_modules/qs/.editorconfig +0 -39
  269. package/example/node/node_modules/qs/.eslintignore +0 -2
  270. package/example/node/node_modules/qs/.eslintrc +0 -35
  271. package/example/node/node_modules/qs/.github/FUNDING.yml +0 -12
  272. package/example/node/node_modules/qs/.nycrc +0 -13
  273. package/example/node/node_modules/qs/CHANGELOG.md +0 -359
  274. package/example/node/node_modules/qs/LICENSE.md +0 -29
  275. package/example/node/node_modules/qs/README.md +0 -604
  276. package/example/node/node_modules/qs/dist/qs.js +0 -832
  277. package/example/node/node_modules/qs/lib/formats.js +0 -23
  278. package/example/node/node_modules/qs/lib/index.js +0 -11
  279. package/example/node/node_modules/qs/lib/parse.js +0 -257
  280. package/example/node/node_modules/qs/lib/stringify.js +0 -278
  281. package/example/node/node_modules/qs/lib/utils.js +0 -251
  282. package/example/node/node_modules/qs/package.json +0 -69
  283. package/example/node/node_modules/qs/test/parse.js +0 -772
  284. package/example/node/node_modules/qs/test/stringify.js +0 -793
  285. package/example/node/node_modules/qs/test/utils.js +0 -136
  286. package/example/node/node_modules/range-parser/HISTORY.md +0 -56
  287. package/example/node/node_modules/range-parser/LICENSE +0 -23
  288. package/example/node/node_modules/range-parser/README.md +0 -84
  289. package/example/node/node_modules/range-parser/index.js +0 -162
  290. package/example/node/node_modules/range-parser/package.json +0 -44
  291. package/example/node/node_modules/raw-body/HISTORY.md +0 -284
  292. package/example/node/node_modules/raw-body/LICENSE +0 -22
  293. package/example/node/node_modules/raw-body/README.md +0 -217
  294. package/example/node/node_modules/raw-body/index.d.ts +0 -87
  295. package/example/node/node_modules/raw-body/index.js +0 -286
  296. package/example/node/node_modules/raw-body/package.json +0 -48
  297. package/example/node/node_modules/safe-buffer/LICENSE +0 -21
  298. package/example/node/node_modules/safe-buffer/README.md +0 -584
  299. package/example/node/node_modules/safe-buffer/index.d.ts +0 -187
  300. package/example/node/node_modules/safe-buffer/index.js +0 -65
  301. package/example/node/node_modules/safe-buffer/package.json +0 -51
  302. package/example/node/node_modules/safer-buffer/LICENSE +0 -21
  303. package/example/node/node_modules/safer-buffer/Porting-Buffer.md +0 -268
  304. package/example/node/node_modules/safer-buffer/Readme.md +0 -156
  305. package/example/node/node_modules/safer-buffer/dangerous.js +0 -58
  306. package/example/node/node_modules/safer-buffer/package.json +0 -34
  307. package/example/node/node_modules/safer-buffer/safer.js +0 -77
  308. package/example/node/node_modules/safer-buffer/tests.js +0 -406
  309. package/example/node/node_modules/send/HISTORY.md +0 -506
  310. package/example/node/node_modules/send/LICENSE +0 -23
  311. package/example/node/node_modules/send/README.md +0 -327
  312. package/example/node/node_modules/send/index.js +0 -1133
  313. package/example/node/node_modules/send/node_modules/.bin/mime +0 -15
  314. package/example/node/node_modules/send/node_modules/.bin/mime.cmd +0 -7
  315. package/example/node/node_modules/send/node_modules/ms/index.js +0 -162
  316. package/example/node/node_modules/send/node_modules/ms/license.md +0 -21
  317. package/example/node/node_modules/send/node_modules/ms/package.json +0 -38
  318. package/example/node/node_modules/send/node_modules/ms/readme.md +0 -59
  319. package/example/node/node_modules/send/package.json +0 -61
  320. package/example/node/node_modules/serve-static/HISTORY.md +0 -459
  321. package/example/node/node_modules/serve-static/LICENSE +0 -25
  322. package/example/node/node_modules/serve-static/README.md +0 -257
  323. package/example/node/node_modules/serve-static/index.js +0 -210
  324. package/example/node/node_modules/serve-static/package.json +0 -42
  325. package/example/node/node_modules/setprototypeof/LICENSE +0 -13
  326. package/example/node/node_modules/setprototypeof/README.md +0 -31
  327. package/example/node/node_modules/setprototypeof/index.d.ts +0 -2
  328. package/example/node/node_modules/setprototypeof/index.js +0 -17
  329. package/example/node/node_modules/setprototypeof/package.json +0 -38
  330. package/example/node/node_modules/setprototypeof/test/index.js +0 -24
  331. package/example/node/node_modules/statuses/HISTORY.md +0 -65
  332. package/example/node/node_modules/statuses/LICENSE +0 -23
  333. package/example/node/node_modules/statuses/README.md +0 -127
  334. package/example/node/node_modules/statuses/codes.json +0 -66
  335. package/example/node/node_modules/statuses/index.js +0 -113
  336. package/example/node/node_modules/statuses/package.json +0 -48
  337. package/example/node/node_modules/toidentifier/HISTORY.md +0 -9
  338. package/example/node/node_modules/toidentifier/LICENSE +0 -21
  339. package/example/node/node_modules/toidentifier/README.md +0 -61
  340. package/example/node/node_modules/toidentifier/index.js +0 -32
  341. package/example/node/node_modules/toidentifier/package.json +0 -38
  342. package/example/node/node_modules/type-is/HISTORY.md +0 -259
  343. package/example/node/node_modules/type-is/LICENSE +0 -23
  344. package/example/node/node_modules/type-is/README.md +0 -170
  345. package/example/node/node_modules/type-is/index.js +0 -266
  346. package/example/node/node_modules/type-is/package.json +0 -45
  347. package/example/node/node_modules/unpipe/HISTORY.md +0 -4
  348. package/example/node/node_modules/unpipe/LICENSE +0 -22
  349. package/example/node/node_modules/unpipe/README.md +0 -43
  350. package/example/node/node_modules/unpipe/index.js +0 -69
  351. package/example/node/node_modules/unpipe/package.json +0 -27
  352. package/example/node/node_modules/utils-merge/LICENSE +0 -20
  353. package/example/node/node_modules/utils-merge/README.md +0 -34
  354. package/example/node/node_modules/utils-merge/index.js +0 -23
  355. package/example/node/node_modules/utils-merge/package.json +0 -40
  356. package/example/node/node_modules/vary/HISTORY.md +0 -39
  357. package/example/node/node_modules/vary/LICENSE +0 -22
  358. package/example/node/node_modules/vary/README.md +0 -101
  359. package/example/node/node_modules/vary/index.js +0 -149
  360. package/example/node/node_modules/vary/package.json +0 -43
  361. package/test/lib/crawler.test.js +0 -52
@@ -1,181 +0,0 @@
1
- /*!
2
- * express
3
- * Copyright(c) 2009-2013 TJ Holowaychuk
4
- * Copyright(c) 2013 Roman Shtylman
5
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
6
- * MIT Licensed
7
- */
8
-
9
- 'use strict';
10
-
11
- /**
12
- * Module dependencies.
13
- * @private
14
- */
15
-
16
- var pathRegexp = require('path-to-regexp');
17
- var debug = require('debug')('express:router:layer');
18
-
19
- /**
20
- * Module variables.
21
- * @private
22
- */
23
-
24
- var hasOwnProperty = Object.prototype.hasOwnProperty;
25
-
26
- /**
27
- * Module exports.
28
- * @public
29
- */
30
-
31
- module.exports = Layer;
32
-
33
- function Layer(path, options, fn) {
34
- if (!(this instanceof Layer)) {
35
- return new Layer(path, options, fn);
36
- }
37
-
38
- debug('new %o', path)
39
- var opts = options || {};
40
-
41
- this.handle = fn;
42
- this.name = fn.name || '<anonymous>';
43
- this.params = undefined;
44
- this.path = undefined;
45
- this.regexp = pathRegexp(path, this.keys = [], opts);
46
-
47
- // set fast path flags
48
- this.regexp.fast_star = path === '*'
49
- this.regexp.fast_slash = path === '/' && opts.end === false
50
- }
51
-
52
- /**
53
- * Handle the error for the layer.
54
- *
55
- * @param {Error} error
56
- * @param {Request} req
57
- * @param {Response} res
58
- * @param {function} next
59
- * @api private
60
- */
61
-
62
- Layer.prototype.handle_error = function handle_error(error, req, res, next) {
63
- var fn = this.handle;
64
-
65
- if (fn.length !== 4) {
66
- // not a standard error handler
67
- return next(error);
68
- }
69
-
70
- try {
71
- fn(error, req, res, next);
72
- } catch (err) {
73
- next(err);
74
- }
75
- };
76
-
77
- /**
78
- * Handle the request for the layer.
79
- *
80
- * @param {Request} req
81
- * @param {Response} res
82
- * @param {function} next
83
- * @api private
84
- */
85
-
86
- Layer.prototype.handle_request = function handle(req, res, next) {
87
- var fn = this.handle;
88
-
89
- if (fn.length > 3) {
90
- // not a standard request handler
91
- return next();
92
- }
93
-
94
- try {
95
- fn(req, res, next);
96
- } catch (err) {
97
- next(err);
98
- }
99
- };
100
-
101
- /**
102
- * Check if this route matches `path`, if so
103
- * populate `.params`.
104
- *
105
- * @param {String} path
106
- * @return {Boolean}
107
- * @api private
108
- */
109
-
110
- Layer.prototype.match = function match(path) {
111
- var match
112
-
113
- if (path != null) {
114
- // fast path non-ending match for / (any path matches)
115
- if (this.regexp.fast_slash) {
116
- this.params = {}
117
- this.path = ''
118
- return true
119
- }
120
-
121
- // fast path for * (everything matched in a param)
122
- if (this.regexp.fast_star) {
123
- this.params = {'0': decode_param(path)}
124
- this.path = path
125
- return true
126
- }
127
-
128
- // match the path
129
- match = this.regexp.exec(path)
130
- }
131
-
132
- if (!match) {
133
- this.params = undefined;
134
- this.path = undefined;
135
- return false;
136
- }
137
-
138
- // store values
139
- this.params = {};
140
- this.path = match[0]
141
-
142
- var keys = this.keys;
143
- var params = this.params;
144
-
145
- for (var i = 1; i < match.length; i++) {
146
- var key = keys[i - 1];
147
- var prop = key.name;
148
- var val = decode_param(match[i])
149
-
150
- if (val !== undefined || !(hasOwnProperty.call(params, prop))) {
151
- params[prop] = val;
152
- }
153
- }
154
-
155
- return true;
156
- };
157
-
158
- /**
159
- * Decode param value.
160
- *
161
- * @param {string} val
162
- * @return {string}
163
- * @private
164
- */
165
-
166
- function decode_param(val) {
167
- if (typeof val !== 'string' || val.length === 0) {
168
- return val;
169
- }
170
-
171
- try {
172
- return decodeURIComponent(val);
173
- } catch (err) {
174
- if (err instanceof URIError) {
175
- err.message = 'Failed to decode param \'' + val + '\'';
176
- err.status = err.statusCode = 400;
177
- }
178
-
179
- throw err;
180
- }
181
- }
@@ -1,216 +0,0 @@
1
- /*!
2
- * express
3
- * Copyright(c) 2009-2013 TJ Holowaychuk
4
- * Copyright(c) 2013 Roman Shtylman
5
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
6
- * MIT Licensed
7
- */
8
-
9
- 'use strict';
10
-
11
- /**
12
- * Module dependencies.
13
- * @private
14
- */
15
-
16
- var debug = require('debug')('express:router:route');
17
- var flatten = require('array-flatten');
18
- var Layer = require('./layer');
19
- var methods = require('methods');
20
-
21
- /**
22
- * Module variables.
23
- * @private
24
- */
25
-
26
- var slice = Array.prototype.slice;
27
- var toString = Object.prototype.toString;
28
-
29
- /**
30
- * Module exports.
31
- * @public
32
- */
33
-
34
- module.exports = Route;
35
-
36
- /**
37
- * Initialize `Route` with the given `path`,
38
- *
39
- * @param {String} path
40
- * @public
41
- */
42
-
43
- function Route(path) {
44
- this.path = path;
45
- this.stack = [];
46
-
47
- debug('new %o', path)
48
-
49
- // route handlers for various http methods
50
- this.methods = {};
51
- }
52
-
53
- /**
54
- * Determine if the route handles a given method.
55
- * @private
56
- */
57
-
58
- Route.prototype._handles_method = function _handles_method(method) {
59
- if (this.methods._all) {
60
- return true;
61
- }
62
-
63
- var name = method.toLowerCase();
64
-
65
- if (name === 'head' && !this.methods['head']) {
66
- name = 'get';
67
- }
68
-
69
- return Boolean(this.methods[name]);
70
- };
71
-
72
- /**
73
- * @return {Array} supported HTTP methods
74
- * @private
75
- */
76
-
77
- Route.prototype._options = function _options() {
78
- var methods = Object.keys(this.methods);
79
-
80
- // append automatic head
81
- if (this.methods.get && !this.methods.head) {
82
- methods.push('head');
83
- }
84
-
85
- for (var i = 0; i < methods.length; i++) {
86
- // make upper case
87
- methods[i] = methods[i].toUpperCase();
88
- }
89
-
90
- return methods;
91
- };
92
-
93
- /**
94
- * dispatch req, res into this route
95
- * @private
96
- */
97
-
98
- Route.prototype.dispatch = function dispatch(req, res, done) {
99
- var idx = 0;
100
- var stack = this.stack;
101
- if (stack.length === 0) {
102
- return done();
103
- }
104
-
105
- var method = req.method.toLowerCase();
106
- if (method === 'head' && !this.methods['head']) {
107
- method = 'get';
108
- }
109
-
110
- req.route = this;
111
-
112
- next();
113
-
114
- function next(err) {
115
- // signal to exit route
116
- if (err && err === 'route') {
117
- return done();
118
- }
119
-
120
- // signal to exit router
121
- if (err && err === 'router') {
122
- return done(err)
123
- }
124
-
125
- var layer = stack[idx++];
126
- if (!layer) {
127
- return done(err);
128
- }
129
-
130
- if (layer.method && layer.method !== method) {
131
- return next(err);
132
- }
133
-
134
- if (err) {
135
- layer.handle_error(err, req, res, next);
136
- } else {
137
- layer.handle_request(req, res, next);
138
- }
139
- }
140
- };
141
-
142
- /**
143
- * Add a handler for all HTTP verbs to this route.
144
- *
145
- * Behaves just like middleware and can respond or call `next`
146
- * to continue processing.
147
- *
148
- * You can use multiple `.all` call to add multiple handlers.
149
- *
150
- * function check_something(req, res, next){
151
- * next();
152
- * };
153
- *
154
- * function validate_user(req, res, next){
155
- * next();
156
- * };
157
- *
158
- * route
159
- * .all(validate_user)
160
- * .all(check_something)
161
- * .get(function(req, res, next){
162
- * res.send('hello world');
163
- * });
164
- *
165
- * @param {function} handler
166
- * @return {Route} for chaining
167
- * @api public
168
- */
169
-
170
- Route.prototype.all = function all() {
171
- var handles = flatten(slice.call(arguments));
172
-
173
- for (var i = 0; i < handles.length; i++) {
174
- var handle = handles[i];
175
-
176
- if (typeof handle !== 'function') {
177
- var type = toString.call(handle);
178
- var msg = 'Route.all() requires a callback function but got a ' + type
179
- throw new TypeError(msg);
180
- }
181
-
182
- var layer = Layer('/', {}, handle);
183
- layer.method = undefined;
184
-
185
- this.methods._all = true;
186
- this.stack.push(layer);
187
- }
188
-
189
- return this;
190
- };
191
-
192
- methods.forEach(function(method){
193
- Route.prototype[method] = function(){
194
- var handles = flatten(slice.call(arguments));
195
-
196
- for (var i = 0; i < handles.length; i++) {
197
- var handle = handles[i];
198
-
199
- if (typeof handle !== 'function') {
200
- var type = toString.call(handle);
201
- var msg = 'Route.' + method + '() requires a callback function but got a ' + type
202
- throw new Error(msg);
203
- }
204
-
205
- debug('%s %o', method, this.path)
206
-
207
- var layer = Layer('/', {}, handle);
208
- layer.method = method;
209
-
210
- this.methods[method] = true;
211
- this.stack.push(layer);
212
- }
213
-
214
- return this;
215
- };
216
- });
@@ -1,302 +0,0 @@
1
- /*!
2
- * express
3
- * Copyright(c) 2009-2013 TJ Holowaychuk
4
- * Copyright(c) 2014-2015 Douglas Christopher Wilson
5
- * MIT Licensed
6
- */
7
-
8
- 'use strict';
9
-
10
- /**
11
- * Module dependencies.
12
- * @api private
13
- */
14
-
15
- var Buffer = require('safe-buffer').Buffer
16
- var contentDisposition = require('content-disposition');
17
- var contentType = require('content-type');
18
- var deprecate = require('depd')('express');
19
- var flatten = require('array-flatten');
20
- var mime = require('send').mime;
21
- var etag = require('etag');
22
- var proxyaddr = require('proxy-addr');
23
- var qs = require('qs');
24
- var querystring = require('querystring');
25
-
26
- /**
27
- * Return strong ETag for `body`.
28
- *
29
- * @param {String|Buffer} body
30
- * @param {String} [encoding]
31
- * @return {String}
32
- * @api private
33
- */
34
-
35
- exports.etag = createETagGenerator({ weak: false })
36
-
37
- /**
38
- * Return weak ETag for `body`.
39
- *
40
- * @param {String|Buffer} body
41
- * @param {String} [encoding]
42
- * @return {String}
43
- * @api private
44
- */
45
-
46
- exports.wetag = createETagGenerator({ weak: true })
47
-
48
- /**
49
- * Check if `path` looks absolute.
50
- *
51
- * @param {String} path
52
- * @return {Boolean}
53
- * @api private
54
- */
55
-
56
- exports.isAbsolute = function(path){
57
- if ('/' === path[0]) return true;
58
- if (':' === path[1] && ('\\' === path[2] || '/' === path[2])) return true; // Windows device path
59
- if ('\\\\' === path.substring(0, 2)) return true; // Microsoft Azure absolute path
60
- };
61
-
62
- /**
63
- * Flatten the given `arr`.
64
- *
65
- * @param {Array} arr
66
- * @return {Array}
67
- * @api private
68
- */
69
-
70
- exports.flatten = deprecate.function(flatten,
71
- 'utils.flatten: use array-flatten npm module instead');
72
-
73
- /**
74
- * Normalize the given `type`, for example "html" becomes "text/html".
75
- *
76
- * @param {String} type
77
- * @return {Object}
78
- * @api private
79
- */
80
-
81
- exports.normalizeType = function(type){
82
- return ~type.indexOf('/')
83
- ? acceptParams(type)
84
- : { value: mime.lookup(type), params: {} };
85
- };
86
-
87
- /**
88
- * Normalize `types`, for example "html" becomes "text/html".
89
- *
90
- * @param {Array} types
91
- * @return {Array}
92
- * @api private
93
- */
94
-
95
- exports.normalizeTypes = function(types){
96
- var ret = [];
97
-
98
- for (var i = 0; i < types.length; ++i) {
99
- ret.push(exports.normalizeType(types[i]));
100
- }
101
-
102
- return ret;
103
- };
104
-
105
- /**
106
- * Generate Content-Disposition header appropriate for the filename.
107
- * non-ascii filenames are urlencoded and a filename* parameter is added
108
- *
109
- * @param {String} filename
110
- * @return {String}
111
- * @api private
112
- */
113
-
114
- exports.contentDisposition = deprecate.function(contentDisposition,
115
- 'utils.contentDisposition: use content-disposition npm module instead');
116
-
117
- /**
118
- * Parse accept params `str` returning an
119
- * object with `.value`, `.quality` and `.params`.
120
- * also includes `.originalIndex` for stable sorting
121
- *
122
- * @param {String} str
123
- * @return {Object}
124
- * @api private
125
- */
126
-
127
- function acceptParams(str, index) {
128
- var parts = str.split(/ *; */);
129
- var ret = { value: parts[0], quality: 1, params: {}, originalIndex: index };
130
-
131
- for (var i = 1; i < parts.length; ++i) {
132
- var pms = parts[i].split(/ *= */);
133
- if ('q' === pms[0]) {
134
- ret.quality = parseFloat(pms[1]);
135
- } else {
136
- ret.params[pms[0]] = pms[1];
137
- }
138
- }
139
-
140
- return ret;
141
- }
142
-
143
- /**
144
- * Compile "etag" value to function.
145
- *
146
- * @param {Boolean|String|Function} val
147
- * @return {Function}
148
- * @api private
149
- */
150
-
151
- exports.compileETag = function(val) {
152
- var fn;
153
-
154
- if (typeof val === 'function') {
155
- return val;
156
- }
157
-
158
- switch (val) {
159
- case true:
160
- case 'weak':
161
- fn = exports.wetag;
162
- break;
163
- case false:
164
- break;
165
- case 'strong':
166
- fn = exports.etag;
167
- break;
168
- default:
169
- throw new TypeError('unknown value for etag function: ' + val);
170
- }
171
-
172
- return fn;
173
- }
174
-
175
- /**
176
- * Compile "query parser" value to function.
177
- *
178
- * @param {String|Function} val
179
- * @return {Function}
180
- * @api private
181
- */
182
-
183
- exports.compileQueryParser = function compileQueryParser(val) {
184
- var fn;
185
-
186
- if (typeof val === 'function') {
187
- return val;
188
- }
189
-
190
- switch (val) {
191
- case true:
192
- case 'simple':
193
- fn = querystring.parse;
194
- break;
195
- case false:
196
- fn = newObject;
197
- break;
198
- case 'extended':
199
- fn = parseExtendedQueryString;
200
- break;
201
- default:
202
- throw new TypeError('unknown value for query parser function: ' + val);
203
- }
204
-
205
- return fn;
206
- }
207
-
208
- /**
209
- * Compile "proxy trust" value to function.
210
- *
211
- * @param {Boolean|String|Number|Array|Function} val
212
- * @return {Function}
213
- * @api private
214
- */
215
-
216
- exports.compileTrust = function(val) {
217
- if (typeof val === 'function') return val;
218
-
219
- if (val === true) {
220
- // Support plain true/false
221
- return function(){ return true };
222
- }
223
-
224
- if (typeof val === 'number') {
225
- // Support trusting hop count
226
- return function(a, i){ return i < val };
227
- }
228
-
229
- if (typeof val === 'string') {
230
- // Support comma-separated values
231
- val = val.split(/ *, */);
232
- }
233
-
234
- return proxyaddr.compile(val || []);
235
- }
236
-
237
- /**
238
- * Set the charset in a given Content-Type string.
239
- *
240
- * @param {String} type
241
- * @param {String} charset
242
- * @return {String}
243
- * @api private
244
- */
245
-
246
- exports.setCharset = function setCharset(type, charset) {
247
- if (!type || !charset) {
248
- return type;
249
- }
250
-
251
- // parse type
252
- var parsed = contentType.parse(type);
253
-
254
- // set charset
255
- parsed.parameters.charset = charset;
256
-
257
- // format type
258
- return contentType.format(parsed);
259
- };
260
-
261
- /**
262
- * Create an ETag generator function, generating ETags with
263
- * the given options.
264
- *
265
- * @param {object} options
266
- * @return {function}
267
- * @private
268
- */
269
-
270
- function createETagGenerator (options) {
271
- return function generateETag (body, encoding) {
272
- var buf = !Buffer.isBuffer(body)
273
- ? Buffer.from(body, encoding)
274
- : body
275
-
276
- return etag(buf, options)
277
- }
278
- }
279
-
280
- /**
281
- * Parse an extended query string with qs.
282
- *
283
- * @return {Object}
284
- * @private
285
- */
286
-
287
- function parseExtendedQueryString(str) {
288
- return qs.parse(str, {
289
- allowPrototypes: true
290
- });
291
- }
292
-
293
- /**
294
- * Return new empty object.
295
- *
296
- * @return {Object}
297
- * @api private
298
- */
299
-
300
- function newObject() {
301
- return {};
302
- }