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,331 +0,0 @@
1
- /*!
2
- * finalhandler
3
- * Copyright(c) 2014-2017 Douglas Christopher Wilson
4
- * MIT Licensed
5
- */
6
-
7
- 'use strict'
8
-
9
- /**
10
- * Module dependencies.
11
- * @private
12
- */
13
-
14
- var debug = require('debug')('finalhandler')
15
- var encodeUrl = require('encodeurl')
16
- var escapeHtml = require('escape-html')
17
- var onFinished = require('on-finished')
18
- var parseUrl = require('parseurl')
19
- var statuses = require('statuses')
20
- var unpipe = require('unpipe')
21
-
22
- /**
23
- * Module variables.
24
- * @private
25
- */
26
-
27
- var DOUBLE_SPACE_REGEXP = /\x20{2}/g
28
- var NEWLINE_REGEXP = /\n/g
29
-
30
- /* istanbul ignore next */
31
- var defer = typeof setImmediate === 'function'
32
- ? setImmediate
33
- : function (fn) { process.nextTick(fn.bind.apply(fn, arguments)) }
34
- var isFinished = onFinished.isFinished
35
-
36
- /**
37
- * Create a minimal HTML document.
38
- *
39
- * @param {string} message
40
- * @private
41
- */
42
-
43
- function createHtmlDocument (message) {
44
- var body = escapeHtml(message)
45
- .replace(NEWLINE_REGEXP, '<br>')
46
- .replace(DOUBLE_SPACE_REGEXP, ' &nbsp;')
47
-
48
- return '<!DOCTYPE html>\n' +
49
- '<html lang="en">\n' +
50
- '<head>\n' +
51
- '<meta charset="utf-8">\n' +
52
- '<title>Error</title>\n' +
53
- '</head>\n' +
54
- '<body>\n' +
55
- '<pre>' + body + '</pre>\n' +
56
- '</body>\n' +
57
- '</html>\n'
58
- }
59
-
60
- /**
61
- * Module exports.
62
- * @public
63
- */
64
-
65
- module.exports = finalhandler
66
-
67
- /**
68
- * Create a function to handle the final response.
69
- *
70
- * @param {Request} req
71
- * @param {Response} res
72
- * @param {Object} [options]
73
- * @return {Function}
74
- * @public
75
- */
76
-
77
- function finalhandler (req, res, options) {
78
- var opts = options || {}
79
-
80
- // get environment
81
- var env = opts.env || process.env.NODE_ENV || 'development'
82
-
83
- // get error callback
84
- var onerror = opts.onerror
85
-
86
- return function (err) {
87
- var headers
88
- var msg
89
- var status
90
-
91
- // ignore 404 on in-flight response
92
- if (!err && headersSent(res)) {
93
- debug('cannot 404 after headers sent')
94
- return
95
- }
96
-
97
- // unhandled error
98
- if (err) {
99
- // respect status code from error
100
- status = getErrorStatusCode(err)
101
-
102
- if (status === undefined) {
103
- // fallback to status code on response
104
- status = getResponseStatusCode(res)
105
- } else {
106
- // respect headers from error
107
- headers = getErrorHeaders(err)
108
- }
109
-
110
- // get error message
111
- msg = getErrorMessage(err, status, env)
112
- } else {
113
- // not found
114
- status = 404
115
- msg = 'Cannot ' + req.method + ' ' + encodeUrl(getResourceName(req))
116
- }
117
-
118
- debug('default %s', status)
119
-
120
- // schedule onerror callback
121
- if (err && onerror) {
122
- defer(onerror, err, req, res)
123
- }
124
-
125
- // cannot actually respond
126
- if (headersSent(res)) {
127
- debug('cannot %d after headers sent', status)
128
- req.socket.destroy()
129
- return
130
- }
131
-
132
- // send response
133
- send(req, res, status, headers, msg)
134
- }
135
- }
136
-
137
- /**
138
- * Get headers from Error object.
139
- *
140
- * @param {Error} err
141
- * @return {object}
142
- * @private
143
- */
144
-
145
- function getErrorHeaders (err) {
146
- if (!err.headers || typeof err.headers !== 'object') {
147
- return undefined
148
- }
149
-
150
- var headers = Object.create(null)
151
- var keys = Object.keys(err.headers)
152
-
153
- for (var i = 0; i < keys.length; i++) {
154
- var key = keys[i]
155
- headers[key] = err.headers[key]
156
- }
157
-
158
- return headers
159
- }
160
-
161
- /**
162
- * Get message from Error object, fallback to status message.
163
- *
164
- * @param {Error} err
165
- * @param {number} status
166
- * @param {string} env
167
- * @return {string}
168
- * @private
169
- */
170
-
171
- function getErrorMessage (err, status, env) {
172
- var msg
173
-
174
- if (env !== 'production') {
175
- // use err.stack, which typically includes err.message
176
- msg = err.stack
177
-
178
- // fallback to err.toString() when possible
179
- if (!msg && typeof err.toString === 'function') {
180
- msg = err.toString()
181
- }
182
- }
183
-
184
- return msg || statuses[status]
185
- }
186
-
187
- /**
188
- * Get status code from Error object.
189
- *
190
- * @param {Error} err
191
- * @return {number}
192
- * @private
193
- */
194
-
195
- function getErrorStatusCode (err) {
196
- // check err.status
197
- if (typeof err.status === 'number' && err.status >= 400 && err.status < 600) {
198
- return err.status
199
- }
200
-
201
- // check err.statusCode
202
- if (typeof err.statusCode === 'number' && err.statusCode >= 400 && err.statusCode < 600) {
203
- return err.statusCode
204
- }
205
-
206
- return undefined
207
- }
208
-
209
- /**
210
- * Get resource name for the request.
211
- *
212
- * This is typically just the original pathname of the request
213
- * but will fallback to "resource" is that cannot be determined.
214
- *
215
- * @param {IncomingMessage} req
216
- * @return {string}
217
- * @private
218
- */
219
-
220
- function getResourceName (req) {
221
- try {
222
- return parseUrl.original(req).pathname
223
- } catch (e) {
224
- return 'resource'
225
- }
226
- }
227
-
228
- /**
229
- * Get status code from response.
230
- *
231
- * @param {OutgoingMessage} res
232
- * @return {number}
233
- * @private
234
- */
235
-
236
- function getResponseStatusCode (res) {
237
- var status = res.statusCode
238
-
239
- // default status code to 500 if outside valid range
240
- if (typeof status !== 'number' || status < 400 || status > 599) {
241
- status = 500
242
- }
243
-
244
- return status
245
- }
246
-
247
- /**
248
- * Determine if the response headers have been sent.
249
- *
250
- * @param {object} res
251
- * @returns {boolean}
252
- * @private
253
- */
254
-
255
- function headersSent (res) {
256
- return typeof res.headersSent !== 'boolean'
257
- ? Boolean(res._header)
258
- : res.headersSent
259
- }
260
-
261
- /**
262
- * Send response.
263
- *
264
- * @param {IncomingMessage} req
265
- * @param {OutgoingMessage} res
266
- * @param {number} status
267
- * @param {object} headers
268
- * @param {string} message
269
- * @private
270
- */
271
-
272
- function send (req, res, status, headers, message) {
273
- function write () {
274
- // response body
275
- var body = createHtmlDocument(message)
276
-
277
- // response status
278
- res.statusCode = status
279
- res.statusMessage = statuses[status]
280
-
281
- // response headers
282
- setHeaders(res, headers)
283
-
284
- // security headers
285
- res.setHeader('Content-Security-Policy', "default-src 'none'")
286
- res.setHeader('X-Content-Type-Options', 'nosniff')
287
-
288
- // standard headers
289
- res.setHeader('Content-Type', 'text/html; charset=utf-8')
290
- res.setHeader('Content-Length', Buffer.byteLength(body, 'utf8'))
291
-
292
- if (req.method === 'HEAD') {
293
- res.end()
294
- return
295
- }
296
-
297
- res.end(body, 'utf8')
298
- }
299
-
300
- if (isFinished(req)) {
301
- write()
302
- return
303
- }
304
-
305
- // unpipe everything from the request
306
- unpipe(req)
307
-
308
- // flush the request
309
- onFinished(req, write)
310
- req.resume()
311
- }
312
-
313
- /**
314
- * Set response headers from an object.
315
- *
316
- * @param {OutgoingMessage} res
317
- * @param {object} headers
318
- * @private
319
- */
320
-
321
- function setHeaders (res, headers) {
322
- if (!headers) {
323
- return
324
- }
325
-
326
- var keys = Object.keys(headers)
327
- for (var i = 0; i < keys.length; i++) {
328
- var key = keys[i]
329
- res.setHeader(key, headers[key])
330
- }
331
- }
@@ -1,45 +0,0 @@
1
- {
2
- "name": "finalhandler",
3
- "description": "Node.js final http responder",
4
- "version": "1.1.2",
5
- "author": "Douglas Christopher Wilson <doug@somethingdoug.com>",
6
- "license": "MIT",
7
- "repository": "pillarjs/finalhandler",
8
- "dependencies": {
9
- "debug": "2.6.9",
10
- "encodeurl": "~1.0.2",
11
- "escape-html": "~1.0.3",
12
- "on-finished": "~2.3.0",
13
- "parseurl": "~1.3.3",
14
- "statuses": "~1.5.0",
15
- "unpipe": "~1.0.0"
16
- },
17
- "devDependencies": {
18
- "eslint": "5.16.0",
19
- "eslint-config-standard": "12.0.0",
20
- "eslint-plugin-import": "2.17.2",
21
- "eslint-plugin-markdown": "1.0.0",
22
- "eslint-plugin-node": "8.0.1",
23
- "eslint-plugin-promise": "4.1.1",
24
- "eslint-plugin-standard": "4.0.0",
25
- "istanbul": "0.4.5",
26
- "mocha": "6.1.4",
27
- "readable-stream": "2.3.6",
28
- "safe-buffer": "5.1.2",
29
- "supertest": "4.0.2"
30
- },
31
- "files": [
32
- "LICENSE",
33
- "HISTORY.md",
34
- "index.js"
35
- ],
36
- "engines": {
37
- "node": ">= 0.8"
38
- },
39
- "scripts": {
40
- "lint": "eslint --plugin markdown --ext js,md .",
41
- "test": "mocha --reporter spec --bail --check-leaks test/",
42
- "test-ci": "istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --reporter spec --check-leaks test/",
43
- "test-cov": "istanbul cover node_modules/mocha/bin/_mocha -- --reporter dot --check-leaks test/"
44
- }
45
- }
@@ -1,21 +0,0 @@
1
- 0.2.0 / 2021-05-31
2
- ==================
3
-
4
- * Use `req.socket` over deprecated `req.connection`
5
-
6
- 0.1.2 / 2017-09-14
7
- ==================
8
-
9
- * perf: improve header parsing
10
- * perf: reduce overhead when no `X-Forwarded-For` header
11
-
12
- 0.1.1 / 2017-09-10
13
- ==================
14
-
15
- * Fix trimming leading / trailing OWS
16
- * perf: hoist regular expression
17
-
18
- 0.1.0 / 2014-09-21
19
- ==================
20
-
21
- * Initial release
@@ -1,22 +0,0 @@
1
- (The MIT License)
2
-
3
- Copyright (c) 2014-2017 Douglas Christopher Wilson
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- 'Software'), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,57 +0,0 @@
1
- # forwarded
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][ci-image]][ci-url]
7
- [![Test Coverage][coveralls-image]][coveralls-url]
8
-
9
- Parse HTTP X-Forwarded-For header
10
-
11
- ## Installation
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 forwarded
19
- ```
20
-
21
- ## API
22
-
23
- ```js
24
- var forwarded = require('forwarded')
25
- ```
26
-
27
- ### forwarded(req)
28
-
29
- ```js
30
- var addresses = forwarded(req)
31
- ```
32
-
33
- Parse the `X-Forwarded-For` header from the request. Returns an array
34
- of the addresses, including the socket address for the `req`, in reverse
35
- order (i.e. index `0` is the socket address and the last index is the
36
- furthest address, typically the end-user).
37
-
38
- ## Testing
39
-
40
- ```sh
41
- $ npm test
42
- ```
43
-
44
- ## License
45
-
46
- [MIT](LICENSE)
47
-
48
- [ci-image]: https://badgen.net/github/checks/jshttp/forwarded/master?label=ci
49
- [ci-url]: https://github.com/jshttp/forwarded/actions?query=workflow%3Aci
50
- [npm-image]: https://img.shields.io/npm/v/forwarded.svg
51
- [npm-url]: https://npmjs.org/package/forwarded
52
- [node-version-image]: https://img.shields.io/node/v/forwarded.svg
53
- [node-version-url]: https://nodejs.org/en/download/
54
- [coveralls-image]: https://img.shields.io/coveralls/jshttp/forwarded/master.svg
55
- [coveralls-url]: https://coveralls.io/r/jshttp/forwarded?branch=master
56
- [downloads-image]: https://img.shields.io/npm/dm/forwarded.svg
57
- [downloads-url]: https://npmjs.org/package/forwarded
@@ -1,90 +0,0 @@
1
- /*!
2
- * forwarded
3
- * Copyright(c) 2014-2017 Douglas Christopher Wilson
4
- * MIT Licensed
5
- */
6
-
7
- 'use strict'
8
-
9
- /**
10
- * Module exports.
11
- * @public
12
- */
13
-
14
- module.exports = forwarded
15
-
16
- /**
17
- * Get all addresses in the request, using the `X-Forwarded-For` header.
18
- *
19
- * @param {object} req
20
- * @return {array}
21
- * @public
22
- */
23
-
24
- function forwarded (req) {
25
- if (!req) {
26
- throw new TypeError('argument req is required')
27
- }
28
-
29
- // simple header parsing
30
- var proxyAddrs = parse(req.headers['x-forwarded-for'] || '')
31
- var socketAddr = getSocketAddr(req)
32
- var addrs = [socketAddr].concat(proxyAddrs)
33
-
34
- // return all addresses
35
- return addrs
36
- }
37
-
38
- /**
39
- * Get the socket address for a request.
40
- *
41
- * @param {object} req
42
- * @return {string}
43
- * @private
44
- */
45
-
46
- function getSocketAddr (req) {
47
- return req.socket
48
- ? req.socket.remoteAddress
49
- : req.connection.remoteAddress
50
- }
51
-
52
- /**
53
- * Parse the X-Forwarded-For header.
54
- *
55
- * @param {string} header
56
- * @private
57
- */
58
-
59
- function parse (header) {
60
- var end = header.length
61
- var list = []
62
- var start = header.length
63
-
64
- // gather addresses, backwards
65
- for (var i = header.length - 1; i >= 0; i--) {
66
- switch (header.charCodeAt(i)) {
67
- case 0x20: /* */
68
- if (start === end) {
69
- start = end = i
70
- }
71
- break
72
- case 0x2c: /* , */
73
- if (start !== end) {
74
- list.push(header.substring(start, end))
75
- }
76
- start = end = i
77
- break
78
- default:
79
- start = i
80
- break
81
- }
82
- }
83
-
84
- // final address
85
- if (start !== end) {
86
- list.push(header.substring(start, end))
87
- }
88
-
89
- return list
90
- }
@@ -1,45 +0,0 @@
1
- {
2
- "name": "forwarded",
3
- "description": "Parse HTTP X-Forwarded-For header",
4
- "version": "0.2.0",
5
- "contributors": [
6
- "Douglas Christopher Wilson <doug@somethingdoug.com>"
7
- ],
8
- "license": "MIT",
9
- "keywords": [
10
- "x-forwarded-for",
11
- "http",
12
- "req"
13
- ],
14
- "repository": "jshttp/forwarded",
15
- "devDependencies": {
16
- "beautify-benchmark": "0.2.4",
17
- "benchmark": "2.1.4",
18
- "deep-equal": "1.0.1",
19
- "eslint": "7.27.0",
20
- "eslint-config-standard": "14.1.1",
21
- "eslint-plugin-import": "2.23.4",
22
- "eslint-plugin-node": "11.1.0",
23
- "eslint-plugin-promise": "4.3.1",
24
- "eslint-plugin-standard": "4.1.0",
25
- "mocha": "8.4.0",
26
- "nyc": "15.1.0"
27
- },
28
- "files": [
29
- "LICENSE",
30
- "HISTORY.md",
31
- "README.md",
32
- "index.js"
33
- ],
34
- "engines": {
35
- "node": ">= 0.6"
36
- },
37
- "scripts": {
38
- "bench": "node benchmark/index.js",
39
- "lint": "eslint .",
40
- "test": "mocha --reporter spec --bail --check-leaks test/",
41
- "test-ci": "nyc --reporter=lcov --reporter=text npm test",
42
- "test-cov": "nyc --reporter=html --reporter=text npm test",
43
- "version": "node scripts/version-history.js && git add HISTORY.md"
44
- }
45
- }
@@ -1,70 +0,0 @@
1
- 0.5.2 / 2017-09-13
2
- ==================
3
-
4
- * Fix regression matching multiple ETags in `If-None-Match`
5
- * perf: improve `If-None-Match` token parsing
6
-
7
- 0.5.1 / 2017-09-11
8
- ==================
9
-
10
- * Fix handling of modified headers with invalid dates
11
- * perf: improve ETag match loop
12
-
13
- 0.5.0 / 2017-02-21
14
- ==================
15
-
16
- * Fix incorrect result when `If-None-Match` has both `*` and ETags
17
- * Fix weak `ETag` matching to match spec
18
- * perf: delay reading header values until needed
19
- * perf: skip checking modified time if ETag check failed
20
- * perf: skip parsing `If-None-Match` when no `ETag` header
21
- * perf: use `Date.parse` instead of `new Date`
22
-
23
- 0.4.0 / 2017-02-05
24
- ==================
25
-
26
- * Fix false detection of `no-cache` request directive
27
- * perf: enable strict mode
28
- * perf: hoist regular expressions
29
- * perf: remove duplicate conditional
30
- * perf: remove unnecessary boolean coercions
31
-
32
- 0.3.0 / 2015-05-12
33
- ==================
34
-
35
- * Add weak `ETag` matching support
36
-
37
- 0.2.4 / 2014-09-07
38
- ==================
39
-
40
- * Support Node.js 0.6
41
-
42
- 0.2.3 / 2014-09-07
43
- ==================
44
-
45
- * Move repository to jshttp
46
-
47
- 0.2.2 / 2014-02-19
48
- ==================
49
-
50
- * Revert "Fix for blank page on Safari reload"
51
-
52
- 0.2.1 / 2014-01-29
53
- ==================
54
-
55
- * Fix for blank page on Safari reload
56
-
57
- 0.2.0 / 2013-08-11
58
- ==================
59
-
60
- * Return stale for `Cache-Control: no-cache`
61
-
62
- 0.1.0 / 2012-06-15
63
- ==================
64
-
65
- * Add `If-None-Match: *` support
66
-
67
- 0.0.1 / 2012-06-10
68
- ==================
69
-
70
- * Initial release
@@ -1,23 +0,0 @@
1
- (The MIT License)
2
-
3
- Copyright (c) 2012 TJ Holowaychuk <tj@vision-media.ca>
4
- Copyright (c) 2016-2017 Douglas Christopher Wilson <doug@somethingdoug.com>
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining
7
- a copy of this software and associated documentation files (the
8
- 'Software'), to deal in the Software without restriction, including
9
- without limitation the rights to use, copy, modify, merge, publish,
10
- distribute, sublicense, and/or sell copies of the Software, and to
11
- permit persons to whom the Software is furnished to do so, subject to
12
- the following conditions:
13
-
14
- The above copyright notice and this permission notice shall be
15
- included in all copies or substantial portions of the Software.
16
-
17
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
18
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
20
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
21
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
22
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
23
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.