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,154 +0,0 @@
1
- # on-finished
2
-
3
- [![NPM Version][npm-image]][npm-url]
4
- [![NPM Downloads][downloads-image]][downloads-url]
5
- [![Node.js Version][node-version-image]][node-version-url]
6
- [![Build Status][travis-image]][travis-url]
7
- [![Test Coverage][coveralls-image]][coveralls-url]
8
-
9
- Execute a callback when a HTTP request closes, finishes, or errors.
10
-
11
- ## Install
12
-
13
- ```sh
14
- $ npm install on-finished
15
- ```
16
-
17
- ## API
18
-
19
- ```js
20
- var onFinished = require('on-finished')
21
- ```
22
-
23
- ### onFinished(res, listener)
24
-
25
- Attach a listener to listen for the response to finish. The listener will
26
- be invoked only once when the response finished. If the response finished
27
- to an error, the first argument will contain the error. If the response
28
- has already finished, the listener will be invoked.
29
-
30
- Listening to the end of a response would be used to close things associated
31
- with the response, like open files.
32
-
33
- Listener is invoked as `listener(err, res)`.
34
-
35
- ```js
36
- onFinished(res, function (err, res) {
37
- // clean up open fds, etc.
38
- // err contains the error is request error'd
39
- })
40
- ```
41
-
42
- ### onFinished(req, listener)
43
-
44
- Attach a listener to listen for the request to finish. The listener will
45
- be invoked only once when the request finished. If the request finished
46
- to an error, the first argument will contain the error. If the request
47
- has already finished, the listener will be invoked.
48
-
49
- Listening to the end of a request would be used to know when to continue
50
- after reading the data.
51
-
52
- Listener is invoked as `listener(err, req)`.
53
-
54
- ```js
55
- var data = ''
56
-
57
- req.setEncoding('utf8')
58
- res.on('data', function (str) {
59
- data += str
60
- })
61
-
62
- onFinished(req, function (err, req) {
63
- // data is read unless there is err
64
- })
65
- ```
66
-
67
- ### onFinished.isFinished(res)
68
-
69
- Determine if `res` is already finished. This would be useful to check and
70
- not even start certain operations if the response has already finished.
71
-
72
- ### onFinished.isFinished(req)
73
-
74
- Determine if `req` is already finished. This would be useful to check and
75
- not even start certain operations if the request has already finished.
76
-
77
- ## Special Node.js requests
78
-
79
- ### HTTP CONNECT method
80
-
81
- The meaning of the `CONNECT` method from RFC 7231, section 4.3.6:
82
-
83
- > The CONNECT method requests that the recipient establish a tunnel to
84
- > the destination origin server identified by the request-target and,
85
- > if successful, thereafter restrict its behavior to blind forwarding
86
- > of packets, in both directions, until the tunnel is closed. Tunnels
87
- > are commonly used to create an end-to-end virtual connection, through
88
- > one or more proxies, which can then be secured using TLS (Transport
89
- > Layer Security, [RFC5246]).
90
-
91
- In Node.js, these request objects come from the `'connect'` event on
92
- the HTTP server.
93
-
94
- When this module is used on a HTTP `CONNECT` request, the request is
95
- considered "finished" immediately, **due to limitations in the Node.js
96
- interface**. This means if the `CONNECT` request contains a request entity,
97
- the request will be considered "finished" even before it has been read.
98
-
99
- There is no such thing as a response object to a `CONNECT` request in
100
- Node.js, so there is no support for for one.
101
-
102
- ### HTTP Upgrade request
103
-
104
- The meaning of the `Upgrade` header from RFC 7230, section 6.1:
105
-
106
- > The "Upgrade" header field is intended to provide a simple mechanism
107
- > for transitioning from HTTP/1.1 to some other protocol on the same
108
- > connection.
109
-
110
- In Node.js, these request objects come from the `'upgrade'` event on
111
- the HTTP server.
112
-
113
- When this module is used on a HTTP request with an `Upgrade` header, the
114
- request is considered "finished" immediately, **due to limitations in the
115
- Node.js interface**. This means if the `Upgrade` request contains a request
116
- entity, the request will be considered "finished" even before it has been
117
- read.
118
-
119
- There is no such thing as a response object to a `Upgrade` request in
120
- Node.js, so there is no support for for one.
121
-
122
- ## Example
123
-
124
- The following code ensures that file descriptors are always closed
125
- once the response finishes.
126
-
127
- ```js
128
- var destroy = require('destroy')
129
- var http = require('http')
130
- var onFinished = require('on-finished')
131
-
132
- http.createServer(function onRequest(req, res) {
133
- var stream = fs.createReadStream('package.json')
134
- stream.pipe(res)
135
- onFinished(res, function (err) {
136
- destroy(stream)
137
- })
138
- })
139
- ```
140
-
141
- ## License
142
-
143
- [MIT](LICENSE)
144
-
145
- [npm-image]: https://img.shields.io/npm/v/on-finished.svg
146
- [npm-url]: https://npmjs.org/package/on-finished
147
- [node-version-image]: https://img.shields.io/node/v/on-finished.svg
148
- [node-version-url]: http://nodejs.org/download/
149
- [travis-image]: https://img.shields.io/travis/jshttp/on-finished/master.svg
150
- [travis-url]: https://travis-ci.org/jshttp/on-finished
151
- [coveralls-image]: https://img.shields.io/coveralls/jshttp/on-finished/master.svg
152
- [coveralls-url]: https://coveralls.io/r/jshttp/on-finished?branch=master
153
- [downloads-image]: https://img.shields.io/npm/dm/on-finished.svg
154
- [downloads-url]: https://npmjs.org/package/on-finished
@@ -1,196 +0,0 @@
1
- /*!
2
- * on-finished
3
- * Copyright(c) 2013 Jonathan Ong
4
- * Copyright(c) 2014 Douglas Christopher Wilson
5
- * MIT Licensed
6
- */
7
-
8
- 'use strict'
9
-
10
- /**
11
- * Module exports.
12
- * @public
13
- */
14
-
15
- module.exports = onFinished
16
- module.exports.isFinished = isFinished
17
-
18
- /**
19
- * Module dependencies.
20
- * @private
21
- */
22
-
23
- var first = require('ee-first')
24
-
25
- /**
26
- * Variables.
27
- * @private
28
- */
29
-
30
- /* istanbul ignore next */
31
- var defer = typeof setImmediate === 'function'
32
- ? setImmediate
33
- : function(fn){ process.nextTick(fn.bind.apply(fn, arguments)) }
34
-
35
- /**
36
- * Invoke callback when the response has finished, useful for
37
- * cleaning up resources afterwards.
38
- *
39
- * @param {object} msg
40
- * @param {function} listener
41
- * @return {object}
42
- * @public
43
- */
44
-
45
- function onFinished(msg, listener) {
46
- if (isFinished(msg) !== false) {
47
- defer(listener, null, msg)
48
- return msg
49
- }
50
-
51
- // attach the listener to the message
52
- attachListener(msg, listener)
53
-
54
- return msg
55
- }
56
-
57
- /**
58
- * Determine if message is already finished.
59
- *
60
- * @param {object} msg
61
- * @return {boolean}
62
- * @public
63
- */
64
-
65
- function isFinished(msg) {
66
- var socket = msg.socket
67
-
68
- if (typeof msg.finished === 'boolean') {
69
- // OutgoingMessage
70
- return Boolean(msg.finished || (socket && !socket.writable))
71
- }
72
-
73
- if (typeof msg.complete === 'boolean') {
74
- // IncomingMessage
75
- return Boolean(msg.upgrade || !socket || !socket.readable || (msg.complete && !msg.readable))
76
- }
77
-
78
- // don't know
79
- return undefined
80
- }
81
-
82
- /**
83
- * Attach a finished listener to the message.
84
- *
85
- * @param {object} msg
86
- * @param {function} callback
87
- * @private
88
- */
89
-
90
- function attachFinishedListener(msg, callback) {
91
- var eeMsg
92
- var eeSocket
93
- var finished = false
94
-
95
- function onFinish(error) {
96
- eeMsg.cancel()
97
- eeSocket.cancel()
98
-
99
- finished = true
100
- callback(error)
101
- }
102
-
103
- // finished on first message event
104
- eeMsg = eeSocket = first([[msg, 'end', 'finish']], onFinish)
105
-
106
- function onSocket(socket) {
107
- // remove listener
108
- msg.removeListener('socket', onSocket)
109
-
110
- if (finished) return
111
- if (eeMsg !== eeSocket) return
112
-
113
- // finished on first socket event
114
- eeSocket = first([[socket, 'error', 'close']], onFinish)
115
- }
116
-
117
- if (msg.socket) {
118
- // socket already assigned
119
- onSocket(msg.socket)
120
- return
121
- }
122
-
123
- // wait for socket to be assigned
124
- msg.on('socket', onSocket)
125
-
126
- if (msg.socket === undefined) {
127
- // node.js 0.8 patch
128
- patchAssignSocket(msg, onSocket)
129
- }
130
- }
131
-
132
- /**
133
- * Attach the listener to the message.
134
- *
135
- * @param {object} msg
136
- * @return {function}
137
- * @private
138
- */
139
-
140
- function attachListener(msg, listener) {
141
- var attached = msg.__onFinished
142
-
143
- // create a private single listener with queue
144
- if (!attached || !attached.queue) {
145
- attached = msg.__onFinished = createListener(msg)
146
- attachFinishedListener(msg, attached)
147
- }
148
-
149
- attached.queue.push(listener)
150
- }
151
-
152
- /**
153
- * Create listener on message.
154
- *
155
- * @param {object} msg
156
- * @return {function}
157
- * @private
158
- */
159
-
160
- function createListener(msg) {
161
- function listener(err) {
162
- if (msg.__onFinished === listener) msg.__onFinished = null
163
- if (!listener.queue) return
164
-
165
- var queue = listener.queue
166
- listener.queue = null
167
-
168
- for (var i = 0; i < queue.length; i++) {
169
- queue[i](err, msg)
170
- }
171
- }
172
-
173
- listener.queue = []
174
-
175
- return listener
176
- }
177
-
178
- /**
179
- * Patch ServerResponse.prototype.assignSocket for node.js 0.8.
180
- *
181
- * @param {ServerResponse} res
182
- * @param {function} callback
183
- * @private
184
- */
185
-
186
- function patchAssignSocket(res, callback) {
187
- var assignSocket = res.assignSocket
188
-
189
- if (typeof assignSocket !== 'function') return
190
-
191
- // res.on('socket', callback) is broken in 0.8
192
- res.assignSocket = function _assignSocket(socket) {
193
- assignSocket.call(this, socket)
194
- callback(socket)
195
- }
196
- }
@@ -1,31 +0,0 @@
1
- {
2
- "name": "on-finished",
3
- "description": "Execute a callback when a request closes, finishes, or errors",
4
- "version": "2.3.0",
5
- "contributors": [
6
- "Douglas Christopher Wilson <doug@somethingdoug.com>",
7
- "Jonathan Ong <me@jongleberry.com> (http://jongleberry.com)"
8
- ],
9
- "license": "MIT",
10
- "repository": "jshttp/on-finished",
11
- "dependencies": {
12
- "ee-first": "1.1.1"
13
- },
14
- "devDependencies": {
15
- "istanbul": "0.3.9",
16
- "mocha": "2.2.5"
17
- },
18
- "engines": {
19
- "node": ">= 0.8"
20
- },
21
- "files": [
22
- "HISTORY.md",
23
- "LICENSE",
24
- "index.js"
25
- ],
26
- "scripts": {
27
- "test": "mocha --reporter spec --bail --check-leaks test/",
28
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/",
29
- "test-travis": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/"
30
- }
31
- }
@@ -1,58 +0,0 @@
1
- 1.3.3 / 2019-04-15
2
- ==================
3
-
4
- * Fix Node.js 0.8 return value inconsistencies
5
-
6
- 1.3.2 / 2017-09-09
7
- ==================
8
-
9
- * perf: reduce overhead for full URLs
10
- * perf: unroll the "fast-path" `RegExp`
11
-
12
- 1.3.1 / 2016-01-17
13
- ==================
14
-
15
- * perf: enable strict mode
16
-
17
- 1.3.0 / 2014-08-09
18
- ==================
19
-
20
- * Add `parseurl.original` for parsing `req.originalUrl` with fallback
21
- * Return `undefined` if `req.url` is `undefined`
22
-
23
- 1.2.0 / 2014-07-21
24
- ==================
25
-
26
- * Cache URLs based on original value
27
- * Remove no-longer-needed URL mis-parse work-around
28
- * Simplify the "fast-path" `RegExp`
29
-
30
- 1.1.3 / 2014-07-08
31
- ==================
32
-
33
- * Fix typo
34
-
35
- 1.1.2 / 2014-07-08
36
- ==================
37
-
38
- * Seriously fix Node.js 0.8 compatibility
39
-
40
- 1.1.1 / 2014-07-08
41
- ==================
42
-
43
- * Fix Node.js 0.8 compatibility
44
-
45
- 1.1.0 / 2014-07-08
46
- ==================
47
-
48
- * Incorporate URL href-only parse fast-path
49
-
50
- 1.0.1 / 2014-03-08
51
- ==================
52
-
53
- * Add missing `require`
54
-
55
- 1.0.0 / 2014-03-08
56
- ==================
57
-
58
- * Genesis from `connect`
@@ -1,24 +0,0 @@
1
-
2
- (The MIT License)
3
-
4
- Copyright (c) 2014 Jonathan Ong <me@jongleberry.com>
5
- Copyright (c) 2014-2017 Douglas Christopher Wilson <doug@somethingdoug.com>
6
-
7
- Permission is hereby granted, free of charge, to any person obtaining
8
- a copy of this software and associated documentation files (the
9
- 'Software'), to deal in the Software without restriction, including
10
- without limitation the rights to use, copy, modify, merge, publish,
11
- distribute, sublicense, and/or sell copies of the Software, and to
12
- permit persons to whom the Software is furnished to do so, subject to
13
- the following conditions:
14
-
15
- The above copyright notice and this permission notice shall be
16
- included in all copies or substantial portions of the Software.
17
-
18
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
19
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
22
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,133 +0,0 @@
1
- # parseurl
2
-
3
- [![NPM Version][npm-version-image]][npm-url]
4
- [![NPM Downloads][npm-downloads-image]][npm-url]
5
- [![Node.js Version][node-image]][node-url]
6
- [![Build Status][travis-image]][travis-url]
7
- [![Test Coverage][coveralls-image]][coveralls-url]
8
-
9
- Parse a URL with memoization.
10
-
11
- ## Install
12
-
13
- This is a [Node.js](https://nodejs.org/en/) module available through the
14
- [npm registry](https://www.npmjs.com/). Installation is done using the
15
- [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
16
-
17
- ```sh
18
- $ npm install parseurl
19
- ```
20
-
21
- ## API
22
-
23
- ```js
24
- var parseurl = require('parseurl')
25
- ```
26
-
27
- ### parseurl(req)
28
-
29
- Parse the URL of the given request object (looks at the `req.url` property)
30
- and return the result. The result is the same as `url.parse` in Node.js core.
31
- Calling this function multiple times on the same `req` where `req.url` does
32
- not change will return a cached parsed object, rather than parsing again.
33
-
34
- ### parseurl.original(req)
35
-
36
- Parse the original URL of the given request object and return the result.
37
- This works by trying to parse `req.originalUrl` if it is a string, otherwise
38
- parses `req.url`. The result is the same as `url.parse` in Node.js core.
39
- Calling this function multiple times on the same `req` where `req.originalUrl`
40
- does not change will return a cached parsed object, rather than parsing again.
41
-
42
- ## Benchmark
43
-
44
- ```bash
45
- $ npm run-script bench
46
-
47
- > parseurl@1.3.3 bench nodejs-parseurl
48
- > node benchmark/index.js
49
-
50
- http_parser@2.8.0
51
- node@10.6.0
52
- v8@6.7.288.46-node.13
53
- uv@1.21.0
54
- zlib@1.2.11
55
- ares@1.14.0
56
- modules@64
57
- nghttp2@1.32.0
58
- napi@3
59
- openssl@1.1.0h
60
- icu@61.1
61
- unicode@10.0
62
- cldr@33.0
63
- tz@2018c
64
-
65
- > node benchmark/fullurl.js
66
-
67
- Parsing URL "http://localhost:8888/foo/bar?user=tj&pet=fluffy"
68
-
69
- 4 tests completed.
70
-
71
- fasturl x 2,207,842 ops/sec ±3.76% (184 runs sampled)
72
- nativeurl - legacy x 507,180 ops/sec ±0.82% (191 runs sampled)
73
- nativeurl - whatwg x 290,044 ops/sec ±1.96% (189 runs sampled)
74
- parseurl x 488,907 ops/sec ±2.13% (192 runs sampled)
75
-
76
- > node benchmark/pathquery.js
77
-
78
- Parsing URL "/foo/bar?user=tj&pet=fluffy"
79
-
80
- 4 tests completed.
81
-
82
- fasturl x 3,812,564 ops/sec ±3.15% (188 runs sampled)
83
- nativeurl - legacy x 2,651,631 ops/sec ±1.68% (189 runs sampled)
84
- nativeurl - whatwg x 161,837 ops/sec ±2.26% (189 runs sampled)
85
- parseurl x 4,166,338 ops/sec ±2.23% (184 runs sampled)
86
-
87
- > node benchmark/samerequest.js
88
-
89
- Parsing URL "/foo/bar?user=tj&pet=fluffy" on same request object
90
-
91
- 4 tests completed.
92
-
93
- fasturl x 3,821,651 ops/sec ±2.42% (185 runs sampled)
94
- nativeurl - legacy x 2,651,162 ops/sec ±1.90% (187 runs sampled)
95
- nativeurl - whatwg x 175,166 ops/sec ±1.44% (188 runs sampled)
96
- parseurl x 14,912,606 ops/sec ±3.59% (183 runs sampled)
97
-
98
- > node benchmark/simplepath.js
99
-
100
- Parsing URL "/foo/bar"
101
-
102
- 4 tests completed.
103
-
104
- fasturl x 12,421,765 ops/sec ±2.04% (191 runs sampled)
105
- nativeurl - legacy x 7,546,036 ops/sec ±1.41% (188 runs sampled)
106
- nativeurl - whatwg x 198,843 ops/sec ±1.83% (189 runs sampled)
107
- parseurl x 24,244,006 ops/sec ±0.51% (194 runs sampled)
108
-
109
- > node benchmark/slash.js
110
-
111
- Parsing URL "/"
112
-
113
- 4 tests completed.
114
-
115
- fasturl x 17,159,456 ops/sec ±3.25% (188 runs sampled)
116
- nativeurl - legacy x 11,635,097 ops/sec ±3.79% (184 runs sampled)
117
- nativeurl - whatwg x 240,693 ops/sec ±0.83% (189 runs sampled)
118
- parseurl x 42,279,067 ops/sec ±0.55% (190 runs sampled)
119
- ```
120
-
121
- ## License
122
-
123
- [MIT](LICENSE)
124
-
125
- [coveralls-image]: https://badgen.net/coveralls/c/github/pillarjs/parseurl/master
126
- [coveralls-url]: https://coveralls.io/r/pillarjs/parseurl?branch=master
127
- [node-image]: https://badgen.net/npm/node/parseurl
128
- [node-url]: https://nodejs.org/en/download
129
- [npm-downloads-image]: https://badgen.net/npm/dm/parseurl
130
- [npm-url]: https://npmjs.org/package/parseurl
131
- [npm-version-image]: https://badgen.net/npm/v/parseurl
132
- [travis-image]: https://badgen.net/travis/pillarjs/parseurl/master
133
- [travis-url]: https://travis-ci.org/pillarjs/parseurl