isomorfeus-puppetmaster 0.5.0 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (317) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -13
  3. data/lib/isomorfeus/puppetmaster/driver/puppeteer.rb +3 -3
  4. data/lib/isomorfeus/puppetmaster/driver/puppeteer_document.rb +30 -30
  5. data/lib/isomorfeus/puppetmaster/driver/puppeteer_node.rb +4 -4
  6. data/lib/isomorfeus/puppetmaster/node.rb +3 -3
  7. data/lib/isomorfeus/puppetmaster/server.rb +1 -1
  8. data/lib/isomorfeus/puppetmaster/server_registration.rb +3 -3
  9. data/lib/isomorfeus/puppetmaster/version.rb +1 -1
  10. data/lib/isomorfeus/puppetmaster.rb +2 -2
  11. data/lib/isomorfeus-puppetmaster.rb +8 -2
  12. data/node_modules/.package-lock.json +56 -45
  13. data/node_modules/debug/package.json +1 -1
  14. data/node_modules/debug/src/common.js +14 -1
  15. data/node_modules/{mkdirp → mkdirp-classic}/LICENSE +2 -2
  16. data/node_modules/mkdirp-classic/README.md +18 -0
  17. data/node_modules/{mkdirp → mkdirp-classic}/index.js +2 -3
  18. data/node_modules/mkdirp-classic/package.json +18 -0
  19. data/node_modules/node-fetch/lib/index.es.js +25 -3
  20. data/node_modules/node-fetch/lib/index.js +25 -3
  21. data/node_modules/node-fetch/lib/index.mjs +25 -3
  22. data/node_modules/node-fetch/package.json +8 -6
  23. data/node_modules/progress/lib/node-progress.js +4 -3
  24. data/node_modules/progress/package.json +1 -1
  25. data/node_modules/puppeteer-core/CHANGELOG.md +64 -0
  26. data/node_modules/puppeteer-core/README.md +13 -15
  27. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
  28. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js +5 -5
  29. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
  30. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts +20 -2
  31. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts.map +1 -1
  32. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js +20 -7
  33. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js.map +1 -1
  34. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.js +2 -2
  35. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  36. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.d.ts +8 -2
  37. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.d.ts.map +1 -1
  38. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js +26 -8
  39. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js.map +1 -1
  40. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.d.ts +18 -2
  41. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.d.ts.map +1 -1
  42. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js +16 -9
  43. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js.map +1 -1
  44. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts +4 -1
  45. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts.map +1 -1
  46. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js +26 -18
  47. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js.map +1 -1
  48. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts.map +1 -1
  49. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.js +120 -0
  50. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.js.map +1 -1
  51. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js +2 -2
  52. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js.map +1 -1
  53. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.d.ts +10 -1
  54. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
  55. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js +9 -1
  56. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js.map +1 -1
  57. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.d.ts +1 -1
  58. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.d.ts.map +1 -1
  59. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js +1 -1
  60. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js.map +1 -1
  61. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js +8 -8
  62. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js.map +1 -1
  63. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js +2 -2
  64. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js.map +1 -1
  65. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts +21 -9
  66. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts.map +1 -1
  67. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js +157 -74
  68. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  69. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts +5 -0
  70. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  71. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js +32 -29
  72. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  73. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  74. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js +14 -4
  75. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
  76. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.d.ts +2 -3
  77. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.d.ts.map +1 -1
  78. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js +3 -4
  79. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js.map +1 -1
  80. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts +27 -5
  81. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts.map +1 -1
  82. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js +46 -21
  83. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js.map +1 -1
  84. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js +1 -1
  85. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
  86. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts +1 -0
  87. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  88. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js +7 -5
  89. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  90. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.d.ts +5 -0
  91. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.d.ts.map +1 -1
  92. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.js.map +1 -1
  93. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts +51 -6
  94. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts.map +1 -1
  95. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js +157 -50
  96. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js.map +1 -1
  97. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js +5 -5
  98. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js.map +1 -1
  99. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts +3 -1
  100. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts.map +1 -1
  101. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js +3 -2
  102. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js.map +1 -1
  103. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.d.ts +21 -0
  104. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.d.ts.map +1 -0
  105. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js +30 -0
  106. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js.map +1 -0
  107. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.d.ts.map +1 -1
  108. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js +9 -3
  109. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js.map +1 -1
  110. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.d.ts +1 -0
  111. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.d.ts.map +1 -1
  112. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js +6 -1
  113. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js.map +1 -1
  114. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.js +5 -5
  115. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.js.map +1 -1
  116. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.d.ts +17 -0
  117. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.d.ts.map +1 -0
  118. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.js +3 -0
  119. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.js.map +1 -0
  120. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
  121. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js +20 -21
  122. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js.map +1 -1
  123. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  124. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js +11 -5
  125. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  126. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.d.ts +6 -2
  127. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  128. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  129. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js +30 -15
  130. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  131. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  132. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +7 -1
  133. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  134. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.js +1 -1
  135. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.js.map +1 -1
  136. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.d.ts.map +1 -1
  137. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js +17 -3
  138. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js.map +1 -1
  139. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.js +1 -1
  140. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.js.map +1 -1
  141. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.js +1 -1
  142. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.js.map +1 -1
  143. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.js +1 -1
  144. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.js.map +1 -1
  145. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -1
  146. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +5 -5
  147. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
  148. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts +20 -2
  149. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts.map +1 -1
  150. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js +16 -3
  151. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js.map +1 -1
  152. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.d.ts +8 -2
  153. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.d.ts.map +1 -1
  154. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js +23 -5
  155. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js.map +1 -1
  156. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.d.ts +18 -2
  157. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -1
  158. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js +10 -3
  159. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js.map +1 -1
  160. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts +4 -1
  161. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -1
  162. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js +16 -8
  163. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js.map +1 -1
  164. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -1
  165. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.js +120 -0
  166. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.js.map +1 -1
  167. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.d.ts +10 -1
  168. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
  169. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js +7 -0
  170. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js.map +1 -1
  171. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.d.ts +1 -1
  172. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -1
  173. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts +21 -9
  174. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -1
  175. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js +152 -69
  176. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  177. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts +5 -0
  178. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  179. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js +22 -19
  180. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  181. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  182. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js +14 -4
  183. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
  184. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.d.ts +2 -3
  185. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.d.ts.map +1 -1
  186. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js +2 -3
  187. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js.map +1 -1
  188. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts +27 -5
  189. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -1
  190. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js +35 -10
  191. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js.map +1 -1
  192. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts +1 -0
  193. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  194. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js +6 -4
  195. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  196. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.d.ts +5 -0
  197. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -1
  198. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js.map +1 -1
  199. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts +51 -6
  200. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts.map +1 -1
  201. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js +136 -29
  202. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js.map +1 -1
  203. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts +3 -1
  204. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts.map +1 -1
  205. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js +3 -2
  206. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js.map +1 -1
  207. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.d.ts +21 -0
  208. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.d.ts.map +1 -0
  209. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js +26 -0
  210. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js.map +1 -0
  211. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -1
  212. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js +8 -2
  213. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js.map +1 -1
  214. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.d.ts +1 -0
  215. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.d.ts.map +1 -1
  216. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.js +4 -0
  217. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.js.map +1 -1
  218. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.js +1 -1
  219. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.js.map +1 -1
  220. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.d.ts +17 -0
  221. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.d.ts.map +1 -0
  222. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.js +2 -0
  223. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.js.map +1 -0
  224. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -1
  225. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js +9 -10
  226. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js.map +1 -1
  227. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  228. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js +7 -1
  229. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  230. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.d.ts +6 -2
  231. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  232. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  233. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js +27 -12
  234. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  235. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  236. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js +7 -1
  237. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  238. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.d.ts.map +1 -1
  239. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.js +17 -3
  240. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.js.map +1 -1
  241. data/node_modules/puppeteer-core/lib/types.d.ts +3898 -3710
  242. data/node_modules/puppeteer-core/package.json +35 -41
  243. data/node_modules/tar-fs/.travis.yml +2 -1
  244. data/node_modules/tar-fs/README.md +4 -2
  245. data/node_modules/tar-fs/index.js +11 -8
  246. data/node_modules/tar-fs/package.json +4 -4
  247. data/node_modules/tar-fs/test/index.js +1 -1
  248. data/node_modules/tr46/.npmignore +4 -0
  249. data/node_modules/tr46/index.js +193 -0
  250. data/node_modules/tr46/lib/.gitkeep +0 -0
  251. data/node_modules/tr46/lib/mappingTable.json +1 -0
  252. data/node_modules/tr46/package.json +31 -0
  253. data/node_modules/unbzip2-stream/README.md +1 -1
  254. data/node_modules/unbzip2-stream/dist/unbzip2-stream.min.js +1 -1
  255. data/node_modules/unbzip2-stream/index.js +3 -2
  256. data/node_modules/unbzip2-stream/lib/bzip2.js +4 -6
  257. data/node_modules/unbzip2-stream/package.json +1 -1
  258. data/node_modules/webidl-conversions/LICENSE.md +12 -0
  259. data/node_modules/webidl-conversions/README.md +53 -0
  260. data/node_modules/webidl-conversions/lib/index.js +189 -0
  261. data/node_modules/webidl-conversions/package.json +23 -0
  262. data/node_modules/whatwg-url/LICENSE.txt +21 -0
  263. data/node_modules/whatwg-url/README.md +67 -0
  264. data/node_modules/whatwg-url/lib/URL-impl.js +200 -0
  265. data/node_modules/whatwg-url/lib/URL.js +196 -0
  266. data/node_modules/whatwg-url/lib/public-api.js +11 -0
  267. data/node_modules/whatwg-url/lib/url-state-machine.js +1297 -0
  268. data/node_modules/whatwg-url/lib/utils.js +20 -0
  269. data/node_modules/whatwg-url/package.json +32 -0
  270. data/node_modules/ws/LICENSE +0 -2
  271. data/node_modules/ws/README.md +49 -52
  272. data/node_modules/ws/index.js +3 -0
  273. data/node_modules/ws/lib/buffer-util.js +3 -6
  274. data/node_modules/ws/lib/constants.js +3 -1
  275. data/node_modules/ws/lib/event-target.js +172 -90
  276. data/node_modules/ws/lib/extension.js +8 -28
  277. data/node_modules/ws/lib/permessage-deflate.js +10 -16
  278. data/node_modules/ws/lib/receiver.js +143 -38
  279. data/node_modules/ws/lib/sender.js +29 -12
  280. data/node_modules/ws/lib/stream.js +20 -5
  281. data/node_modules/ws/lib/subprotocol.js +62 -0
  282. data/node_modules/ws/lib/validation.js +28 -8
  283. data/node_modules/ws/lib/websocket-server.js +129 -62
  284. data/node_modules/ws/lib/websocket.js +311 -104
  285. data/node_modules/ws/package.json +10 -5
  286. data/node_modules/ws/wrapper.mjs +8 -0
  287. data/package.json +1 -1
  288. metadata +79 -57
  289. data/node_modules/.bin/mkdirp +0 -12
  290. data/node_modules/.bin/mkdirp.cmd +0 -17
  291. data/node_modules/.bin/mkdirp.ps1 +0 -28
  292. data/node_modules/minimist/.travis.yml +0 -8
  293. data/node_modules/minimist/LICENSE +0 -18
  294. data/node_modules/minimist/example/parse.js +0 -2
  295. data/node_modules/minimist/index.js +0 -245
  296. data/node_modules/minimist/package.json +0 -45
  297. data/node_modules/minimist/readme.markdown +0 -95
  298. data/node_modules/minimist/test/all_bool.js +0 -32
  299. data/node_modules/minimist/test/bool.js +0 -178
  300. data/node_modules/minimist/test/dash.js +0 -31
  301. data/node_modules/minimist/test/default_bool.js +0 -35
  302. data/node_modules/minimist/test/dotted.js +0 -22
  303. data/node_modules/minimist/test/kv_short.js +0 -16
  304. data/node_modules/minimist/test/long.js +0 -31
  305. data/node_modules/minimist/test/num.js +0 -36
  306. data/node_modules/minimist/test/parse.js +0 -197
  307. data/node_modules/minimist/test/parse_modified.js +0 -9
  308. data/node_modules/minimist/test/proto.js +0 -44
  309. data/node_modules/minimist/test/short.js +0 -67
  310. data/node_modules/minimist/test/stop_early.js +0 -15
  311. data/node_modules/minimist/test/unknown.js +0 -102
  312. data/node_modules/minimist/test/whitespace.js +0 -8
  313. data/node_modules/mkdirp/bin/cmd.js +0 -33
  314. data/node_modules/mkdirp/bin/usage.txt +0 -12
  315. data/node_modules/mkdirp/package.json +0 -34
  316. data/node_modules/mkdirp/readme.markdown +0 -100
  317. data/node_modules/node-fetch/CHANGELOG.md +0 -272
@@ -1,16 +1,26 @@
1
+ /* eslint no-unused-vars: ["error", { "varsIgnorePattern": "^net|tls|https$" }] */
2
+
1
3
  'use strict';
2
4
 
3
5
  const EventEmitter = require('events');
6
+ const http = require('http');
7
+ const https = require('https');
8
+ const net = require('net');
9
+ const tls = require('tls');
4
10
  const { createHash } = require('crypto');
5
- const { createServer, STATUS_CODES } = require('http');
6
11
 
12
+ const extension = require('./extension');
7
13
  const PerMessageDeflate = require('./permessage-deflate');
14
+ const subprotocol = require('./subprotocol');
8
15
  const WebSocket = require('./websocket');
9
- const { format, parse } = require('./extension');
10
16
  const { GUID, kWebSocket } = require('./constants');
11
17
 
12
18
  const keyRegex = /^[+/0-9A-Za-z]{22}==$/;
13
19
 
20
+ const RUNNING = 0;
21
+ const CLOSING = 1;
22
+ const CLOSED = 2;
23
+
14
24
  /**
15
25
  * Class representing a WebSocket server.
16
26
  *
@@ -34,7 +44,10 @@ class WebSocketServer extends EventEmitter {
34
44
  * @param {(Boolean|Object)} [options.perMessageDeflate=false] Enable/disable
35
45
  * permessage-deflate
36
46
  * @param {Number} [options.port] The port where to bind the server
37
- * @param {http.Server} [options.server] A pre-created HTTP/S server to use
47
+ * @param {(http.Server|https.Server)} [options.server] A pre-created HTTP/S
48
+ * server to use
49
+ * @param {Boolean} [options.skipUTF8Validation=false] Specifies whether or
50
+ * not to skip UTF-8 validation for text and close messages
38
51
  * @param {Function} [options.verifyClient] A hook to reject connections
39
52
  * @param {Function} [callback] A listener for the `listening` event
40
53
  */
@@ -43,6 +56,7 @@ class WebSocketServer extends EventEmitter {
43
56
 
44
57
  options = {
45
58
  maxPayload: 100 * 1024 * 1024,
59
+ skipUTF8Validation: false,
46
60
  perMessageDeflate: false,
47
61
  handleProtocols: null,
48
62
  clientTracking: true,
@@ -56,15 +70,20 @@ class WebSocketServer extends EventEmitter {
56
70
  ...options
57
71
  };
58
72
 
59
- if (options.port == null && !options.server && !options.noServer) {
73
+ if (
74
+ (options.port == null && !options.server && !options.noServer) ||
75
+ (options.port != null && (options.server || options.noServer)) ||
76
+ (options.server && options.noServer)
77
+ ) {
60
78
  throw new TypeError(
61
- 'One of the "port", "server", or "noServer" options must be specified'
79
+ 'One and only one of the "port", "server", or "noServer" options ' +
80
+ 'must be specified'
62
81
  );
63
82
  }
64
83
 
65
84
  if (options.port != null) {
66
- this._server = createServer((req, res) => {
67
- const body = STATUS_CODES[426];
85
+ this._server = http.createServer((req, res) => {
86
+ const body = http.STATUS_CODES[426];
68
87
 
69
88
  res.writeHead(426, {
70
89
  'Content-Length': body.length,
@@ -95,8 +114,13 @@ class WebSocketServer extends EventEmitter {
95
114
  }
96
115
 
97
116
  if (options.perMessageDeflate === true) options.perMessageDeflate = {};
98
- if (options.clientTracking) this.clients = new Set();
117
+ if (options.clientTracking) {
118
+ this.clients = new Set();
119
+ this._shouldEmitClose = false;
120
+ }
121
+
99
122
  this.options = options;
123
+ this._state = RUNNING;
100
124
  }
101
125
 
102
126
  /**
@@ -118,37 +142,58 @@ class WebSocketServer extends EventEmitter {
118
142
  }
119
143
 
120
144
  /**
121
- * Close the server.
145
+ * Stop the server from accepting new connections and emit the `'close'` event
146
+ * when all existing connections are closed.
122
147
  *
123
- * @param {Function} [cb] Callback
148
+ * @param {Function} [cb] A one-time listener for the `'close'` event
124
149
  * @public
125
150
  */
126
151
  close(cb) {
127
- if (cb) this.once('close', cb);
152
+ if (this._state === CLOSED) {
153
+ if (cb) {
154
+ this.once('close', () => {
155
+ cb(new Error('The server is not running'));
156
+ });
157
+ }
128
158
 
129
- //
130
- // Terminate all associated clients.
131
- //
132
- if (this.clients) {
133
- for (const client of this.clients) client.terminate();
159
+ process.nextTick(emitClose, this);
160
+ return;
134
161
  }
135
162
 
136
- const server = this._server;
163
+ if (cb) this.once('close', cb);
164
+
165
+ if (this._state === CLOSING) return;
166
+ this._state = CLOSING;
167
+
168
+ if (this.options.noServer || this.options.server) {
169
+ if (this._server) {
170
+ this._removeListeners();
171
+ this._removeListeners = this._server = null;
172
+ }
173
+
174
+ if (this.clients) {
175
+ if (!this.clients.size) {
176
+ process.nextTick(emitClose, this);
177
+ } else {
178
+ this._shouldEmitClose = true;
179
+ }
180
+ } else {
181
+ process.nextTick(emitClose, this);
182
+ }
183
+ } else {
184
+ const server = this._server;
137
185
 
138
- if (server) {
139
186
  this._removeListeners();
140
187
  this._removeListeners = this._server = null;
141
188
 
142
189
  //
143
- // Close the http server if it was internally created.
190
+ // The HTTP/S server was created internally. Close it, and rely on its
191
+ // `'close'` event.
144
192
  //
145
- if (this.options.port != null) {
146
- server.close(() => this.emit('close'));
147
- return;
148
- }
193
+ server.close(() => {
194
+ emitClose(this);
195
+ });
149
196
  }
150
-
151
- process.nextTick(emitClose, this);
152
197
  }
153
198
 
154
199
  /**
@@ -173,7 +218,8 @@ class WebSocketServer extends EventEmitter {
173
218
  * Handle a HTTP Upgrade request.
174
219
  *
175
220
  * @param {http.IncomingMessage} req The request object
176
- * @param {net.Socket} socket The network socket between the server and client
221
+ * @param {(net.Socket|tls.Socket)} socket The network socket between the
222
+ * server and client
177
223
  * @param {Buffer} head The first packet of the upgraded stream
178
224
  * @param {Function} cb Callback
179
225
  * @public
@@ -183,10 +229,9 @@ class WebSocketServer extends EventEmitter {
183
229
 
184
230
  const key =
185
231
  req.headers['sec-websocket-key'] !== undefined
186
- ? req.headers['sec-websocket-key'].trim()
232
+ ? req.headers['sec-websocket-key']
187
233
  : false;
188
234
  const version = +req.headers['sec-websocket-version'];
189
- const extensions = {};
190
235
 
191
236
  if (
192
237
  req.method !== 'GET' ||
@@ -199,7 +244,24 @@ class WebSocketServer extends EventEmitter {
199
244
  return abortHandshake(socket, 400);
200
245
  }
201
246
 
202
- if (this.options.perMessageDeflate) {
247
+ const secWebSocketProtocol = req.headers['sec-websocket-protocol'];
248
+ let protocols = new Set();
249
+
250
+ if (secWebSocketProtocol !== undefined) {
251
+ try {
252
+ protocols = subprotocol.parse(secWebSocketProtocol);
253
+ } catch (err) {
254
+ return abortHandshake(socket, 400);
255
+ }
256
+ }
257
+
258
+ const secWebSocketExtensions = req.headers['sec-websocket-extensions'];
259
+ const extensions = {};
260
+
261
+ if (
262
+ this.options.perMessageDeflate &&
263
+ secWebSocketExtensions !== undefined
264
+ ) {
203
265
  const perMessageDeflate = new PerMessageDeflate(
204
266
  this.options.perMessageDeflate,
205
267
  true,
@@ -207,7 +269,7 @@ class WebSocketServer extends EventEmitter {
207
269
  );
208
270
 
209
271
  try {
210
- const offers = parse(req.headers['sec-websocket-extensions']);
272
+ const offers = extension.parse(secWebSocketExtensions);
211
273
 
212
274
  if (offers[PerMessageDeflate.extensionName]) {
213
275
  perMessageDeflate.accept(offers[PerMessageDeflate.extensionName]);
@@ -235,7 +297,15 @@ class WebSocketServer extends EventEmitter {
235
297
  return abortHandshake(socket, code || 401, message, headers);
236
298
  }
237
299
 
238
- this.completeUpgrade(key, extensions, req, socket, head, cb);
300
+ this.completeUpgrade(
301
+ extensions,
302
+ key,
303
+ protocols,
304
+ req,
305
+ socket,
306
+ head,
307
+ cb
308
+ );
239
309
  });
240
310
  return;
241
311
  }
@@ -243,22 +313,24 @@ class WebSocketServer extends EventEmitter {
243
313
  if (!this.options.verifyClient(info)) return abortHandshake(socket, 401);
244
314
  }
245
315
 
246
- this.completeUpgrade(key, extensions, req, socket, head, cb);
316
+ this.completeUpgrade(extensions, key, protocols, req, socket, head, cb);
247
317
  }
248
318
 
249
319
  /**
250
320
  * Upgrade the connection to WebSocket.
251
321
  *
252
- * @param {String} key The value of the `Sec-WebSocket-Key` header
253
322
  * @param {Object} extensions The accepted extensions
323
+ * @param {String} key The value of the `Sec-WebSocket-Key` header
324
+ * @param {Set} protocols The subprotocols
254
325
  * @param {http.IncomingMessage} req The request object
255
- * @param {net.Socket} socket The network socket between the server and client
326
+ * @param {(net.Socket|tls.Socket)} socket The network socket between the
327
+ * server and client
256
328
  * @param {Buffer} head The first packet of the upgraded stream
257
329
  * @param {Function} cb Callback
258
330
  * @throws {Error} If called more than once with the same socket
259
331
  * @private
260
332
  */
261
- completeUpgrade(key, extensions, req, socket, head, cb) {
333
+ completeUpgrade(extensions, key, protocols, req, socket, head, cb) {
262
334
  //
263
335
  // Destroy the socket if the client has already sent a FIN packet.
264
336
  //
@@ -271,6 +343,8 @@ class WebSocketServer extends EventEmitter {
271
343
  );
272
344
  }
273
345
 
346
+ if (this._state > RUNNING) return abortHandshake(socket, 503);
347
+
274
348
  const digest = createHash('sha1')
275
349
  .update(key + GUID)
276
350
  .digest('base64');
@@ -283,19 +357,14 @@ class WebSocketServer extends EventEmitter {
283
357
  ];
284
358
 
285
359
  const ws = new WebSocket(null);
286
- let protocol = req.headers['sec-websocket-protocol'];
287
-
288
- if (protocol) {
289
- protocol = protocol.split(',').map(trim);
290
360
 
361
+ if (protocols.size) {
291
362
  //
292
363
  // Optionally call external protocol selection handler.
293
364
  //
294
- if (this.options.handleProtocols) {
295
- protocol = this.options.handleProtocols(protocol, req);
296
- } else {
297
- protocol = protocol[0];
298
- }
365
+ const protocol = this.options.handleProtocols
366
+ ? this.options.handleProtocols(protocols, req)
367
+ : protocols.values().next().value;
299
368
 
300
369
  if (protocol) {
301
370
  headers.push(`Sec-WebSocket-Protocol: ${protocol}`);
@@ -305,7 +374,7 @@ class WebSocketServer extends EventEmitter {
305
374
 
306
375
  if (extensions[PerMessageDeflate.extensionName]) {
307
376
  const params = extensions[PerMessageDeflate.extensionName].params;
308
- const value = format({
377
+ const value = extension.format({
309
378
  [PerMessageDeflate.extensionName]: [params]
310
379
  });
311
380
  headers.push(`Sec-WebSocket-Extensions: ${value}`);
@@ -320,11 +389,20 @@ class WebSocketServer extends EventEmitter {
320
389
  socket.write(headers.concat('\r\n').join('\r\n'));
321
390
  socket.removeListener('error', socketOnError);
322
391
 
323
- ws.setSocket(socket, head, this.options.maxPayload);
392
+ ws.setSocket(socket, head, {
393
+ maxPayload: this.options.maxPayload,
394
+ skipUTF8Validation: this.options.skipUTF8Validation
395
+ });
324
396
 
325
397
  if (this.clients) {
326
398
  this.clients.add(ws);
327
- ws.on('close', () => this.clients.delete(ws));
399
+ ws.on('close', () => {
400
+ this.clients.delete(ws);
401
+
402
+ if (this._shouldEmitClose && !this.clients.size) {
403
+ process.nextTick(emitClose, this);
404
+ }
405
+ });
328
406
  }
329
407
 
330
408
  cb(ws, req);
@@ -360,6 +438,7 @@ function addListeners(server, map) {
360
438
  * @private
361
439
  */
362
440
  function emitClose(server) {
441
+ server._state = CLOSED;
363
442
  server.emit('close');
364
443
  }
365
444
 
@@ -375,7 +454,7 @@ function socketOnError() {
375
454
  /**
376
455
  * Close the connection when preconditions are not fulfilled.
377
456
  *
378
- * @param {net.Socket} socket The socket of the upgrade request
457
+ * @param {(net.Socket|tls.Socket)} socket The socket of the upgrade request
379
458
  * @param {Number} code The HTTP response status code
380
459
  * @param {String} [message] The HTTP response body
381
460
  * @param {Object} [headers] Additional HTTP response headers
@@ -383,7 +462,7 @@ function socketOnError() {
383
462
  */
384
463
  function abortHandshake(socket, code, message, headers) {
385
464
  if (socket.writable) {
386
- message = message || STATUS_CODES[code];
465
+ message = message || http.STATUS_CODES[code];
387
466
  headers = {
388
467
  Connection: 'close',
389
468
  'Content-Type': 'text/html',
@@ -392,7 +471,7 @@ function abortHandshake(socket, code, message, headers) {
392
471
  };
393
472
 
394
473
  socket.write(
395
- `HTTP/1.1 ${code} ${STATUS_CODES[code]}\r\n` +
474
+ `HTTP/1.1 ${code} ${http.STATUS_CODES[code]}\r\n` +
396
475
  Object.keys(headers)
397
476
  .map((h) => `${h}: ${headers[h]}`)
398
477
  .join('\r\n') +
@@ -404,15 +483,3 @@ function abortHandshake(socket, code, message, headers) {
404
483
  socket.removeListener('error', socketOnError);
405
484
  socket.destroy();
406
485
  }
407
-
408
- /**
409
- * Remove whitespace characters from both ends of a string.
410
- *
411
- * @param {String} str The string
412
- * @return {String} A new string representing `str` stripped of whitespace
413
- * characters from both its beginning and end
414
- * @private
415
- */
416
- function trim(str) {
417
- return str.trim();
418
- }