{"_id":"websocket-driver","_rev":"56-c20e55c0d305351cde26934086679e88","name":"websocket-driver","dist-tags":{"latest":"0.7.5"},"versions":{"0.1.0":{"name":"websocket-driver","version":"0.1.0","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"_id":"websocket-driver@0.1.0","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":"http://github.com/faye/websocket-driver-node/issues","dist":{"shasum":"14bdc1f671d8df4311cd29b92162786b396e893e","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.1.0.tgz","integrity":"sha512-tCHUNi2umvexj6J+desW0lH5ljO8pTzHIGpY9Rj/x3ogj4vqN6WzIF4zolBq++E5AI7D9uusrprX1TYGEUuYgA==","signatures":[{"sig":"MEUCIQCSJTZ5j2oymvabYbjRl/4RqL2+DvBwpsmudQ0psnO0dgIgUbBoUjMelki6UOH6vN8qGHmygocszP18/lSWulynwM8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","engines":{"node":">=0.4.0"},"scripts":{"test":"node spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"licenses":[{"url":"http://www.opensource.org/licenses/mit-license.php","type":"MIT"}],"_npmVersion":"1.2.18","description":"WebSocket protocol handler with pluggable I/O","directories":{},"repositories":[{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"}],"devDependencies":{"jsclass":""}},"0.2.0":{"name":"websocket-driver","version":"0.2.0","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"_id":"websocket-driver@0.2.0","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":"http://github.com/faye/websocket-driver-node/issues","dist":{"shasum":"d344ae28f46b411d0ecb5088f10bec6ace721920","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.2.0.tgz","integrity":"sha512-lKPf0Y1jQnO/yQAFGQlupRa5TUcBvwt7noKxE7362WHUznii2zdbcQyNNetUW9LFS/YWWLo1zV3nQUobV2xjqA==","signatures":[{"sig":"MEQCIC70CClVg/fmk/jldtocPPsJ0oTDwYLGo8vfpe2EUKn2AiAX8SJBP9bmF/Kq8ZMd3bfYhlFvfccwIfkvfROh0lNs0w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","engines":{"node":">=0.4.0"},"scripts":{"test":"node spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"licenses":[{"url":"http://www.opensource.org/licenses/mit-license.php","type":"MIT"}],"_npmVersion":"1.2.18","description":"WebSocket protocol handler with pluggable I/O","directories":{},"repositories":[{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"}],"devDependencies":{"jsclass":""}},"0.2.1":{"name":"websocket-driver","version":"0.2.1","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"_id":"websocket-driver@0.2.1","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":"http://github.com/faye/websocket-driver-node/issues","dist":{"shasum":"666622a997665e21268a89b30c05b7b739e9afa7","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.2.1.tgz","integrity":"sha512-zVwnqynf14mpCQyNjWaCLHr4Alzay/+pyqTiXDlBOIKuTram6BCVvl//UCGVLZvsP6CEDIRbCV4f3HQCftgRzQ==","signatures":[{"sig":"MEUCIHaoEG80itJhfiZqTmHu1Sw4nxgYAmn1P1LShAO+bogDAiEAmokBVK/0cNMKkgn08uzneNHnA5tfV8g+d1D2qLoEak8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","engines":{"node":">=0.4.0"},"scripts":{"test":"node spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"licenses":[{"url":"http://www.opensource.org/licenses/mit-license.php","type":"MIT"}],"_npmVersion":"1.2.18","description":"WebSocket protocol handler with pluggable I/O","directories":{},"repositories":[{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"}],"devDependencies":{"jsclass":""}},"0.2.2":{"name":"websocket-driver","version":"0.2.2","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.2.2","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"998bc1855d8cd0d1e9aa8f8056b83b46ac3e81ef","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.2.2.tgz","integrity":"sha512-uT5GgW1KDyOkP6Ox9O1vnNEzTE6rDvw4w96Qg9XpxlLGbup12pGIhQ9offy3jLezNecdFCTZVUNKJZIWAztgZg==","signatures":[{"sig":"MEUCIQCzWTsWPBbhg7qYKBDwNd6UgOOBcjegjAyRqpXS6UO62wIgHAyt4qHTMzfDq+Pg20I8rVqIFnTZAEvbCPHVDnDbDsE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","engines":{"node":">=0.4.0"},"scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.2.32","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.3.0":{"name":"websocket-driver","version":"0.3.0","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.3.0","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"497b258c508b987249ab9b6f79f0c21dd3467c64","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.0.tgz","integrity":"sha512-o+PIGd9bRdVyd/ZK2EAQDK58/pIuLVHenhvPomV/Yxk0ZQRpkcelW7fpCiFuASMxvQ0ewdeRRYJwtFgJhyjecA==","signatures":[{"sig":"MEUCIQCtPF6T4wV1PaYKDRZpmanxbY0jlpwJuu8rjdu9NpTFdQIgDlF2w4Fc3Q+pvKVdf2UDtFOPdq63IdyZBjJmun8xACQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","engines":{"node":">=0.4.0"},"scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.3.8","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.3.1":{"name":"websocket-driver","version":"0.3.1","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.3.1","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"25f86b4e7ca9d8f8136cd225ffcee71a3d2869cf","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.1.tgz","integrity":"sha512-sPyUYDLWA5tLGbXoqntT89BF/UhXphDHqhe3uEpdJrG5V2i3UulBmSzgfoab2+/GzYCVcMTfn9RgFBLS2BQVOQ==","signatures":[{"sig":"MEUCIQDFTltFtuLkk7ZG59DR0DCoowr5I9TtJIHaW4BDec6GKQIgDEmRScGxiwD3ngs9FcBogbH6dM1p5q8LgNd0+UB1OCs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","engines":{"node":">=0.4.0"},"scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.3.14","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.3.2":{"name":"websocket-driver","version":"0.3.2","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.3.2","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"f177ef6611390e2401ae47f35e8386dda987daca","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.2.tgz","integrity":"sha512-ZdeJVyQ0luRSCZuq3r/eawKtI0w2jngclN1DmYnKZDahsMgShKo/ObKw/pIwpoUFFX80ISNsWwa4ucmSEfD96A==","signatures":[{"sig":"MEUCIGs9hHnM9pclWSqToMKSemSyrdfPRJv3RYoLpkZcshldAiEAhDKDwHrNflxou3Dazml3bkCxIYGz7ACkBaqLHRUX/p0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","engines":{"node":">=0.4.0"},"scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.3.21","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.3.3":{"name":"websocket-driver","version":"0.3.3","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.3.3","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"11a8986d26bd81a684048a21b18c0f2ef292ef06","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.3.tgz","integrity":"sha512-2VGAPS5F0YbrAfe9vt/kmsNY8QsfULx1XQnT2r6LXCzxDuz0aj8sWjZnlZZIhtw+d4lGBbZKeqUU/wb/eShIAg==","signatures":[{"sig":"MEUCIBzsCTqurAjXpvPHGrsRqzuI5Pzn8+rAYIYGNdRUAS+yAiEAugu1U2TjIZ7GHyC6jS6KcKQC49cC6kO3X/+SOcSboA4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","engines":{"node":">=0.4.0"},"scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.4.3","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.3.4":{"name":"websocket-driver","version":"0.3.4","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.3.4","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"f37ab303f6a602c4b0dbcaa1cdd771e442b04ea7","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.4.tgz","integrity":"sha512-Aq0vxNjG5ax9o7z39846nCRTJY+8gKAnw9frdi/sNvwb4jchotTMR6ouS6uKKpp2GYXd7raTsFhKwpB5RevSvQ==","signatures":[{"sig":"MEUCICEqzrK7MsTg70RB+/D5rE8UrQM3VPaJMFqIeY1pT852AiEAjyvW8MOGi3aLbN5G+OdU2msfShm+U0/SSWyduEYdeYg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"f37ab303f6a602c4b0dbcaa1cdd771e442b04ea7","engines":{"node":">=0.4.0"},"scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.4.9","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.3.5":{"name":"websocket-driver","version":"0.3.5","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.3.5","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"e3a51ff538f1653a49e62d78ecfc1eb1bde9e5a0","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.5.tgz","integrity":"sha512-3V7MaTczwV/LbpKgJNgNc4o00uUzk1fCJaIWHBk4WK8jt0xFzJJYcCmU2/PTosIr97biDmHBRhHY0QIaWu4gaA==","signatures":[{"sig":"MEYCIQCMURfICVqHDs2ugStNo9m2GnMuFsW2Uj/gVjo7s7Jf6gIhAMw9PDXjIOp48I/S5DEa1ZTqMd1yFy+LOO1Tej54ZZNQ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"e3a51ff538f1653a49e62d78ecfc1eb1bde9e5a0","engines":{"node":">=0.4.0"},"gitHead":"dbedb370b791a6af9ca5dcb939123552cdd88990","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.4.20","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.3.6":{"name":"websocket-driver","version":"0.3.6","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.3.6","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"85d03e26be0b820b4466a78bbf36a6596bc2aa75","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.3.6.tgz","integrity":"sha512-vYVVzFB6ZnGmL5jKMNWeFtbaxfkMptyLTX/jYcGNnmbi3LvgrD1KOY+vNWAlTDWclZnxH6syBNv/p5yib0hkAA==","signatures":[{"sig":"MEUCIQD9F0N7Ttl7ygB7j9VXn6o1oCwyuj/j9SCEIN3C6155NgIgItBGGCBVsxsjpyhuKPOkBGHpJFKhGt3S9G5//5Xb0o4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"85d03e26be0b820b4466a78bbf36a6596bc2aa75","engines":{"node":">=0.4.0"},"gitHead":"1c33c0ce5698c43e24e043b647fa6a965b075d60","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.4.28","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.4.0":{"name":"websocket-driver","version":"0.4.0","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.4.0","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"71fa992e5d41c2cc5e290420687d0601efd06b7a","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.4.0.tgz","integrity":"sha512-d84PZf3da9EsIkJ4wA37Qx0+YY6lUABpqUjdBkEcqZ3gOgd68+jQ0Mn5HkY8g+KDMbSlZteBZ5PntHPXltvrsA==","signatures":[{"sig":"MEUCIHWJCPUnPxCW03GsULyGdzCNhOwcN6aDt1Mp+A+seJUEAiEAqeWD9zlUNoh84xewf87Z1KSx4+duWXW5VlOcXEym75w=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"71fa992e5d41c2cc5e290420687d0601efd06b7a","engines":{"node":">=0.4.0"},"gitHead":"22d483a5ee76f7f4b16e92b8500c0b7706b5b3dc","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.4.28","description":"WebSocket protocol handler with pluggable I/O","directories":{},"devDependencies":{"jstest":""}},"0.5.0":{"name":"websocket-driver","version":"0.5.0","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.5.0","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"7dc0d0c2d77975d55494ff85e67400841887aca1","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.5.0.tgz","integrity":"sha512-0cLA24mEw00xrmWIik6dn671ZI9cP0hnp6avCNFwR+uzMRhTiivMkvNsZQ10gUwo8S82PUh9rcWszjXHmmoLPg==","signatures":[{"sig":"MEUCIQCjD9GJaj2qLarsLL45jHrO4MczXx9X+LZIPWIe4STI/AIgXK4q8u5vkQnSt3lObbKWUYXNFvbdg1C1xwfPg9+NbIk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"7dc0d0c2d77975d55494ff85e67400841887aca1","engines":{"node":">=0.6.0"},"gitHead":"e8992add2335f8bec677c59273b3f32d6925097a","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.4.28","description":"WebSocket protocol handler with pluggable I/O","directories":{},"dependencies":{"websocket-extensions":">=0.1.0"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.5.1":{"name":"websocket-driver","version":"0.5.1","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.5.1","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"dd954c0a42a9962a31296f84cc465ca4b74c2611","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.5.1.tgz","integrity":"sha512-QZsnlUhAIL7gyK5Xn2UofX/BT9HcvH+ha/7NoXBcZWre9EsMknWWXZeC99NDk7DyoGwmFCs9s9udTCH2iP/BGg==","signatures":[{"sig":"MEUCIFOMaOuiCBQIhfDd19+JLoYDQMAvvVq4XfOW0sZEkEaHAiEAhl4zFM/Y9RWEl9m7ox4D92/8VyfbJ5clzZeKxG51H4M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"dd954c0a42a9962a31296f84cc465ca4b74c2611","engines":{"node":">=0.6.0"},"gitHead":"57e74231cf24e63b902347a8a5d5836247762559","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"1.4.28","description":"WebSocket protocol handler with pluggable I/O","directories":{},"dependencies":{"websocket-extensions":">=0.1.0"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.5.2":{"name":"websocket-driver","version":"0.5.2","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.5.2","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"8c7c85da0713b4060556b4d71c01775ee1269eb9","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.5.2.tgz","integrity":"sha512-JweDDGJyDaKKokKUWIP3ZThzGZv9GgcIMO0VMK2n4wdXH8WzuHNJWy8WNeSji4zuaBWZfoVId9pdHk8a5FJg0w==","signatures":[{"sig":"MEYCIQCsHx7qYgZ96x7r3lApwo6coLtW1DGEkJAOuu5z8nlPIwIhAIkx194T9lOc/AzIpYrjh26kEF/A2HaoQ7/7r4ygcNz0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"8c7c85da0713b4060556b4d71c01775ee1269eb9","engines":{"node":">=0.6.0"},"gitHead":"0b7eedc3b55db9cbd8a482a009c229380201da97","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"2.5.1","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"0.12.0","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.5.3":{"name":"websocket-driver","version":"0.5.3","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.5.3","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"775d079018f8985e1c255eb8efa9224895acacc3","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.5.3.tgz","integrity":"sha512-KhDnHiC4A3WlgrHPbWb67Gec29WFDqR6JxJlwFBVty+eN3kUv5vbf0xI3xea86fqNHt2PAH6dQDS8tOfEQnRAQ==","signatures":[{"sig":"MEQCIEFOa+FxQyyIf/utHds9JE17lhxmoPOLshJztJPdbp73AiATUioykKSfZoNjR/MwMisJab0PCyrbno0zNpi8kMvsWw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"775d079018f8985e1c255eb8efa9224895acacc3","engines":{"node":">=0.6.0"},"gitHead":"2b99c23788a2341baf5aaa23f2cf2c044d109cc5","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"2.5.1","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"0.12.0","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.5.4":{"name":"websocket-driver","version":"0.5.4","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.5.4","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"4c65278c92929384eacfcd908d3e9e0a5691c29e","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.5.4.tgz","integrity":"sha512-o7rtnCnhRcU3tZk968+WHPHJJwB1UEyIfrdXwN4Xe6FMEW5BmeGm0fS73V7igTErFCts6Ve18ViS6oSvh+rNFA==","signatures":[{"sig":"MEUCIHtJ8krGACM7zjv/F3KjJdlCj7lOQAu9xzm6yrYda3jHAiEA/PGN5DxY0GQ6XNUY3R5tU8ymUmbRRGqL4VCIUW5Zxns=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"4c65278c92929384eacfcd908d3e9e0a5691c29e","engines":{"node":">=0.6.0"},"gitHead":"1cc0f33e1c82d9ed93ba8fa40b4bbd2dd9368d9c","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"2.5.1","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"0.12.1","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.6.0":{"name":"websocket-driver","version":"0.6.0","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.6.0","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"0d9e0e0ea66e392f0c613c535d806e076b42ff5d","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.0.tgz","integrity":"sha512-5nqOUX6Yqt2nrP7qwsL3DTf5XLJA497ZZCOVePBWaonWytc6xDSQbnl51mfkaZfH7QFVvYqowk2/LhpjHedSIg==","signatures":[{"sig":"MEQCICZQa9owjb0B4OnjhpeOc7zIDmb/kDmoznUvBBYHJve/AiAxvFelJxN0ytoMqxCvN+S57Uu6YthBVYB1cxy3htdBcw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"0d9e0e0ea66e392f0c613c535d806e076b42ff5d","engines":{"node":">=0.6.0"},"gitHead":"7a1cb15b8c20d7e225172e7631133fd84c505b5f","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"2.11.2","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"0.12.6","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.6.1":{"name":"websocket-driver","version":"0.6.1","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.6.1","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"8b86f082e48f306f597e98e60092810501f09725","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.1.tgz","integrity":"sha512-gUfEfxbAB6VCGS9eMzILUwRfoD35glklLdn45BraimiMKSf7ZmxDsbH5MLw2SmgJ1PZaFAo0KdYfSD15lsYeFA==","signatures":[{"sig":"MEQCIG+VyKaaFhxttxUxQxa6NOhZ54yGI/OZtn7CWKSnVuoYAiBIRdCLXx4+wbI3COQp6D2ARu9XffQeGQLq5J9OeVJnOg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"8b86f082e48f306f597e98e60092810501f09725","engines":{"node":">=0.6.0"},"gitHead":"c84cce9a1f9e4273d8c39a4533963b4eb8fd459b","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"2.11.3","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"0.12.7","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.6.2":{"name":"websocket-driver","version":"0.6.2","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.6.2","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"8281dba3e299e5bd7a42b65d4577a8928c26f898","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.2.tgz","integrity":"sha512-jupKAsWz/HZcK2GU0QSSqT7DlGa90Mk0pZ187foQJoffZEzyFbOI+Un5aDbvn/BcPOYMeLFJM6ePuXrSEqsg+A==","signatures":[{"sig":"MEYCIQD3/1guaEMn2VSgY1qhDu1iXWi72JQeeVunXIDe7Sp+WAIhAIF9Gd/UqCrpEy9q8DEHsfGCPPvw62mrTeUoZl4mcrzS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"8281dba3e299e5bd7a42b65d4577a8928c26f898","engines":{"node":">=0.6.0"},"gitHead":"fa8b82d424bddef1eba51e725ddc6a48965fd605","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"2.11.3","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"0.12.7","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.6.3":{"name":"websocket-driver","version":"0.6.3","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.6.3","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"http://github.com/faye/websocket-driver-node","bugs":{"url":"http://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"fd21911bb46dee34ad85bdbc5676bf9024ed087b","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.3.tgz","integrity":"sha512-bjCbud3r9eMVUr7DKf40oQ71hfht2+teLcs0nOTd4WwsWtx/8KzliVawMj9Etzp96Mqi/KI1o47gSh0D7q3Ijg==","signatures":[{"sig":"MEYCIQCQYacYPE/ZdCtzcWJAROYRyL2kKi2iUHjTLjs2GgFX7gIhAPr1j0nYZxnv6ASd25eDX8DIBbU1QVUUhpZe9+cTp68m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"fd21911bb46dee34ad85bdbc5676bf9024ed087b","engines":{"node":">=0.6.0"},"gitHead":"10481b81dbf80f83dbacffd8439405ba0a90e477","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"3.3.6","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"5.0.0","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.6.4":{"name":"websocket-driver","version":"0.6.4","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.6.4","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"https://github.com/faye/websocket-driver-node","bugs":{"url":"https://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"65b84d02113480d3fc05e63e809322042bdc940b","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.4.tgz","integrity":"sha512-atbcQUKqc92CrGseGMiQBYjAKC0CXNsnALo7cvHoalMcfKMzxcjs9VxHq1T22nDCICuC5GB/ZTJAtiNyq0V19g==","signatures":[{"sig":"MEQCIF4HDvw32eWCXpN3FdIarz49fYETqq1cYEAfduvCRDR2AiAYnuMSaef3cfT6FTQFRogI66m9ehHx1JkgrYtIM+rB0g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"65b84d02113480d3fc05e63e809322042bdc940b","engines":{"node":">=0.6.0"},"gitHead":"2be829546b462aa7d552214e17d6f3e42b6a4bd0","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"3.3.12","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"5.2.0","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""}},"0.6.5":{"name":"websocket-driver","version":"0.6.5","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.6.5","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"https://github.com/faye/websocket-driver-node","bugs":{"url":"https://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"5cb2556ceb85f4373c6d8238aa691c8454e13a36","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz","integrity":"sha512-oBx6ZM1Gs5q2jwZuSN/Qxyy/fbgomV8+vqsmipaPKB/74hjHlKuM07jNmRhn4qa2AdUwsgxrltq+gaPsHgcl0Q==","signatures":[{"sig":"MEUCIQD6hAVNLDzIYrIcASYtJGvZW4jYajGYrGP8PbQtzfbUZQIgQN0l5HaOgarrtaJWiDhLVABf+CdQdAK6IOpyF6WcREo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","_shasum":"5cb2556ceb85f4373c6d8238aa691c8454e13a36","engines":{"node":">=0.6.0"},"gitHead":"c4494ff88ac196f726bbb77a301c2177124b199e","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"2.15.1","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"4.4.4","dependencies":{"websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"","permessage-deflate":""},"_npmOperationalInternal":{"tmp":"tmp/websocket-driver-0.6.5.tgz_1463730072239_0.9899731166660786","host":"packages-12-west.internal.npmjs.com"}},"0.7.0":{"name":"websocket-driver","version":"0.7.0","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"MIT","_id":"websocket-driver@0.7.0","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"https://github.com/faye/websocket-driver-node","bugs":{"url":"https://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz","integrity":"sha512-0alHnh9Shp5baNrZpTDA0Y20qqB46BHNCNIlQazhaTjMY7gAHZXOIg1yzVI7GoNhw8PFPt9N5Iwu4XhoiMn9QQ==","signatures":[{"sig":"MEYCIQCgh9UQn66yShXPXG7wONglYLVWUnsdzMjZSY4QwWgl8QIhANAtcmfzHKSJzD14FUaDFTzzdrRUdFKeedzVa12+xeo7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"./lib/websocket/driver","_from":".","files":["lib"],"_shasum":"0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb","engines":{"node":">=0.8.0"},"gitHead":"8128bec1e03c4eeb3c3bdb250a4356a4c69fe10f","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"2.15.11","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"4.8.4","dependencies":{"http-parser-js":">=0.4.0","websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"*","permessage-deflate":"*"},"_npmOperationalInternal":{"tmp":"tmp/websocket-driver-0.7.0.tgz_1505163256798_0.4708031218033284","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"websocket-driver","version":"0.7.1","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"Apache-2.0","_id":"websocket-driver@0.7.1","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"https://github.com/faye/websocket-driver-node","bugs":{"url":"https://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"d58fa3269f51e480f5af051db7f5c5c1a1092d20","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.1.tgz","fileCount":18,"integrity":"sha512-EC4YX5LEHtiB1XjaCh6++35jGaFmhT7687pySyCfPX9bB8Quw7+Fpx8gSCpkD78tPjalxuoOm8TtTz8K4dAQEg==","signatures":[{"sig":"MEYCIQC6Y8ae+GTk7aR09v3KBFmA4aoh91kICbNGcNx6L+je9gIhANOnZO5QWnSrCJF4R8AQBftr6fGF73N4q3FiuzUOylZ1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66849,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/j3jCRA9TVsSAnZWagAAb6MQAIEZRr0sgqXYfO8WVdEN\nO3LTJNnfRjbiED3X0DKdLOoCpA7H0zvVGAQRnXxOhvdcp4KeZwO49x78Cp6P\nlkJ8AVcTIrodC6qGkynyc80qzGIT5UZg35oIxv7/4+gOhS5RXKXVS0u7c4UO\n00A33VLzS3vzgV9647u21bVJPmBNCXH2AHu03xhSja24PGTA9t5n6tiIC3T4\nhshZr+JAGqtEiMnCunKK9fxu9aOsT4UZoRFJCm5/1illS2FsxqEjl+4FrQx1\ndMe0+A1glwxMYKtFWOXKnhOvMskEBFSFoQUmq/lb29oZ/F0mC58c1VyeSUUt\ng/mTF7EBfC5JMiXuCu2978mhwwBtaWYaWijBXVK6ChivQPzoDdLRPcHw+Cri\nHlvFoa4OH9/4YC9A0tIJxqlwLf78PpVcdLGKcO/6EkntsK+2p8odxOddV5Ty\nASG/TepUHMy/vHCSmuH3QRJacXrFLc42jnFbDfCTCxK53zLrudycCrYTop7k\n8yoJ1hV+uaFNUaL4w1XSfkrIDLPIvcv3HgQBbL05jK9Iqs3Q6DWw10sSZzeV\nKXDjmmWpvJXhh3kQHvl3KbzDh8EvkzohuvbDsEIhS5wVuEMFEQ4UmZS6kvRJ\ngPV03Wd8NkR2nkU2ERxXHWsifeNPErEb3t/lc/H0Qg0zbRycRYNpKxRblK6P\n9d0X\r\n=0c4o\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/websocket/driver","engines":{"node":">=0.8.0"},"gitHead":"b5ac8564438b21faaac12b8b62897ced90e1c176","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"6.9.0","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"12.4.0","dependencies":{"safe-buffer":">=5.1.1","http-parser-js":">=0.4.0","websocket-extensions":">=0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jstest":"*","permessage-deflate":"*"},"_npmOperationalInternal":{"tmp":"tmp/websocket-driver_0.7.1_1560165858709_0.33665151907526014","host":"s3://npm-registry-packages"}},"0.7.3":{"name":"websocket-driver","version":"0.7.3","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"Apache-2.0","_id":"websocket-driver@0.7.3","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"https://github.com/faye/websocket-driver-node","bugs":{"url":"https://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"a2d4e0d4f4f116f1e6297eba58b05d430100e9f9","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz","fileCount":18,"integrity":"sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==","signatures":[{"sig":"MEQCIDAJe96hqdAbSxpKobA+eXeMQmpbwVrvd22GHVFsaSDbAiAzAa6yg3dts0rQMTKamI9rsBR/hPHWX9dMHprVcUGsnQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67219,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAm60CRA9TVsSAnZWagAAp/AP/A/hJd3gs3SWezEyTgP7\nGEK/8gTlL1dlCm0zaXFW6mfY6GmZ24OB3PqVR77fJaKiip2fL6PGAbhaMyPo\nW0vj/YpYvpyPyL7omwxjqoc/AOTAn9iSQdac8Gfs9MEbf9krXTgDlRP5GGew\n8BMJncAARGAjC2w4prDJk3nlXJP+YnnoBGuuZ6S0FCzGhETez6+SCu3/Ul18\nVT6TpJIN262dlmW9xILIbVmjOfEmjvamBP7IA6xEND0yWiFdgnz6ABnvdj78\n0GDoHsYU8hb6KSbw1ZD+gGJ4P7eXQrncFmLvE0XP3Z/mckdhT4XUmx9Te21v\nDGojJVHmz/djGPHo5GzDOsmHhuOj5AoVebjH02cEWnXom64QNS4Kea+HWPyn\nB9T6PKjvJnXuPfds7NbbNLikFflX519xQt9nvZjIuPuXuN+nRBIn6MQJVZqo\nGedQXSQoyJ+b2BeF5SxvnKKk0oUiBZRcHyASH6mg7V/d8kuyYqop/RUXuqb6\n98xb5Byv70x3/zM5nm2wSgvNEFgetrNzdAByoS3WzmB13ISMHifiop19vOad\nrVg3EHeA0c/DGXTzl7MERonql6jLTvQtPRrQzWxyu6n9JGP1cDz91pw08RXV\nbEwZuD2IeA3Jwrm8Z8VRe4lLvGsegAc8JPqeSpapoen77gP0A672DmDwnJ8z\ny/8v\r\n=ul2X\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/websocket/driver","engines":{"node":">=0.8.0"},"gitHead":"03aebd19fb2b5f8fece4fff054ea034a54640ff3","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"6.9.0","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"12.4.0","dependencies":{"safe-buffer":">=5.1.0","http-parser-js":">=0.4.0 <0.4.11","websocket-extensions":">=0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jstest":"*","permessage-deflate":"*"},"_npmOperationalInternal":{"tmp":"tmp/websocket-driver_0.7.3_1560440499731_0.8651938304954445","host":"s3://npm-registry-packages"}},"0.7.4":{"name":"websocket-driver","version":"0.7.4","keywords":["websocket"],"author":{"url":"http://jcoglan.com/","name":"James Coglan","email":"jcoglan@gmail.com"},"license":"Apache-2.0","_id":"websocket-driver@0.7.4","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"homepage":"https://github.com/faye/websocket-driver-node","bugs":{"url":"https://github.com/faye/websocket-driver-node/issues"},"dist":{"shasum":"89ad5295bbf64b480abcba31e4953aca706f5760","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz","fileCount":18,"integrity":"sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==","signatures":[{"sig":"MEUCIQCosE0sN5uGR6DAWKsXrKgT4ZlXWj+gZsM7oG03Zsa3cAIgbd+eE+XcotQX6YClTHFUXrexcim0NG4EHYHWKclEM9c=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67439,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJex+l7CRA9TVsSAnZWagAA07sP/2qjaq/S4+7L8g59srrf\n5aiA8rYmL7cx9s+GWzeWzlgtoIgalXUPZKaCibOFeHLkIGrbpKmhWTZ4ogMT\n8fj9xiRf/0g/B5G4dSiFBIcu6VNVX9VSrt3x8Wfy6EQJv0lTuAvBiQ6tvVyv\nOZv6WjwwPvFS+Sp9lILieizFXUygjpjakatc/yBPyDVDA2uSmrp3j9MflQKA\nBmkef/ysQzbwsoYmdnBLJKp92zn/zYZXlAcRtT0ADF/aFdBfsl7mAC7cxnep\ntqGp9ZyUxYOHyt0MDJTBzRWCLmyuOqfkJ8/e2s1K8qQTSRiTXmvMwJUapD4h\nNLdZ260y1qG/1kaXRAX7WmlKMeEy2IxjO5dFq7GA9iW3xgzJHy1zMB6lBpWu\nm+/D1YrwbdHmYhF0cEk8XDda1x5t/hHzPkeIflLAvx+/tttOzEfm3D493Kc7\nsOxTWz8AWre4Bt8DdbRkLROlErl/6ny/bpRH7uBiPhLtmxjhK0vXMrfx0Fu+\nDspyLxdq6BIjSupiSfcS7yBLpRbTPtmQy8FRHEf8slg2Df4Qkj12R2uhSlWT\ntPSFhAIbgmfTnvV7IYTE8IirTiarJckQ81kVTBZ6TLeofBLWHoKbRVwSIYo1\nPylXwZNCARDgmjv8jzS0twcMTHH0wVx2Q5lleUJd1xeKpBnPVAhydDcoB7Q6\ns2RM\r\n=NYqI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./lib/websocket/driver","engines":{"node":">=0.8.0"},"gitHead":"5f711f089234a46f8d1e50054115ea169257eaa4","scripts":{"test":"jstest spec/runner.js"},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"repository":{"url":"git://github.com/faye/websocket-driver-node.git","type":"git"},"_npmVersion":"6.14.5","description":"WebSocket protocol handler with pluggable I/O","directories":{},"_nodeVersion":"14.3.0","dependencies":{"safe-buffer":">=5.1.0","http-parser-js":">=0.5.1","websocket-extensions":">=0.1.1"},"_hasShrinkwrap":false,"devDependencies":{"jstest":"*","permessage-deflate":"*"},"_npmOperationalInternal":{"tmp":"tmp/websocket-driver_0.7.4_1590159738877_0.13982233289170365","host":"s3://npm-registry-packages"}},"0.7.5":{"name":"websocket-driver","description":"WebSocket protocol handler with pluggable I/O","homepage":"https://github.com/faye/websocket-driver-node","author":{"name":"James Coglan","email":"jcoglan@gmail.com","url":"http://jcoglan.com/"},"keywords":["websocket"],"license":"Apache-2.0","version":"0.7.5","engines":{"node":">=0.8.0"},"main":"./lib/websocket/driver","dependencies":{"http-parser-js":">=0.5.1","safe-buffer":">=5.1.0","websocket-extensions":">=0.1.1"},"devDependencies":{"jstest":"*","permessage-deflate":"*"},"scripts":{"test":"jstest spec/runner.js"},"repository":{"type":"git","url":"git://github.com/faye/websocket-driver-node.git"},"bugs":{"url":"https://github.com/faye/websocket-driver-node/issues"},"_id":"websocket-driver@0.7.5","_integrity":"sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==","_resolved":"/Users/jcoglan/projects/faye/node/driver/websocket-driver-0.7.5.tgz","_from":"file:websocket-driver-0.7.5.tgz","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-ZL2+3c7kMBdIRCMz6l8jQMHyGVxj+UL+xVk74Ombiciboca8rHa15L86B19E5oh1pL9Ii/uj54gtsIrZGMo6zA==","shasum":"569d22764ab21f2de20af0e74b411e8ae5a0fa46","tarball":"https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.5.tgz","fileCount":17,"unpackedSize":63382,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHdqD/blc4uzFc7o/a21hETpXboYqMuxbbITxMeJkmFEAiBdn6fqgLAnzhC7uZu/kxFFTI49SaphaOPBWh74+u9b8w=="}]},"_npmUser":{"name":"jcoglan","email":"jcoglan@gmail.com"},"directories":{},"maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/websocket-driver_0.7.5_1780591349444_0.09410564909304742"},"_hasShrinkwrap":false}},"time":{"created":"2013-05-04T19:42:42.782Z","modified":"2026-06-04T16:42:29.997Z","0.1.0":"2013-05-04T19:42:46.505Z","0.2.0":"2013-05-12T14:20:55.284Z","0.2.1":"2013-05-17T10:52:13.231Z","0.2.2":"2013-07-05T14:17:43.729Z","0.3.0":"2013-09-09T21:17:15.895Z","0.3.1":"2013-12-03T00:47:11.161Z","0.3.2":"2013-12-29T12:25:51.236Z","0.3.3":"2014-04-24T22:33:58.247Z","0.3.4":"2014-05-08T01:19:47.964Z","0.3.5":"2014-07-06T09:20:17.409Z","0.3.6":"2014-10-04T07:32:33.399Z","0.4.0":"2014-11-08T19:47:11.581Z","0.5.0":"2014-12-13T13:11:19.014Z","0.5.1":"2014-12-18T02:24:20.881Z","0.5.2":"2015-02-19T09:51:28.802Z","0.5.3":"2015-02-22T21:14:08.632Z","0.5.4":"2015-03-29T22:13:46.951Z","0.6.0":"2015-07-08T20:02:22.490Z","0.6.1":"2015-07-13T19:24:51.453Z","0.6.2":"2015-07-18T16:48:39.984Z","0.6.3":"2015-11-06T22:17:25.225Z","0.6.4":"2016-01-07T08:58:34.783Z","0.6.5":"2016-05-20T07:41:14.593Z","0.7.0":"2017-09-11T20:54:17.920Z","0.7.1":"2019-06-10T11:24:18.915Z","0.7.2":"2019-06-13T06:48:01.916Z","0.7.3":"2019-06-13T15:41:39.923Z","0.7.4":"2020-05-22T15:02:19.046Z","0.7.5":"2026-06-04T16:42:29.597Z"},"bugs":{"url":"https://github.com/faye/websocket-driver-node/issues"},"author":{"name":"James Coglan","email":"jcoglan@gmail.com","url":"http://jcoglan.com/"},"license":"Apache-2.0","homepage":"https://github.com/faye/websocket-driver-node","keywords":["websocket"],"repository":{"type":"git","url":"git://github.com/faye/websocket-driver-node.git"},"description":"WebSocket protocol handler with pluggable I/O","maintainers":[{"name":"jcoglan","email":"jcoglan@gmail.com"}],"readme":"# websocket-driver\n\nThis module provides a complete implementation of the WebSocket protocols that\ncan be hooked up to any I/O stream. It aims to simplify things by decoupling the\nprotocol details from the I/O layer, such that users only need to implement code\nto stream data in and out of it without needing to know anything about how the\nprotocol actually works. Think of it as a complete WebSocket system with\npluggable I/O.\n\nDue to this design, you get a lot of things for free. In particular, if you hook\nthis module up to some I/O object, it will do all of this for you:\n\n- Select the correct server-side driver to talk to the client\n- Generate and send both server- and client-side handshakes\n- Recognize when the handshake phase completes and the WS protocol begins\n- Negotiate subprotocol selection based on `Sec-WebSocket-Protocol`\n- Negotiate and use extensions via the\n  [websocket-extensions](https://github.com/faye/websocket-extensions-node)\n  module\n- Buffer sent messages until the handshake process is finished\n- Deal with proxies that defer delivery of the draft-76 handshake body\n- Notify you when the socket is open and closed and when messages arrive\n- Recombine fragmented messages\n- Dispatch text, binary, ping, pong and close frames\n- Manage the socket-closing handshake process\n- Automatically reply to ping frames with a matching pong\n- Apply masking to messages sent by the client\n\nThis library was originally extracted from the [Faye](http://faye.jcoglan.com)\nproject but now aims to provide simple WebSocket support for any Node-based\nproject.\n\n\n## Installation\n\n```\n$ npm install websocket-driver\n```\n\n\n## Usage\n\nThis module provides protocol drivers that have the same interface on the server\nand on the client. A WebSocket driver is an object with two duplex streams\nattached; one for incoming/outgoing messages and one for managing the wire\nprotocol over an I/O stream. The full API is described below.\n\n\n### Server-side with HTTP\n\nA Node webserver emits a special event for 'upgrade' requests, and this is where\nyou should handle WebSockets. You first check whether the request is a\nWebSocket, and if so you can create a driver and attach the request's I/O stream\nto it.\n\n```js\nvar http = require('http'),\n    websocket = require('websocket-driver');\n\nvar server = http.createServer();\n\nserver.on('upgrade', function(request, socket, body) {\n  if (!websocket.isWebSocket(request)) return;\n\n  var driver = websocket.http(request);\n\n  driver.io.write(body);\n  socket.pipe(driver.io).pipe(socket);\n\n  driver.messages.on('data', function(message) {\n    console.log('Got a message', message);\n  });\n\n  driver.start();\n});\n```\n\nNote the line `driver.io.write(body)` - you must pass the `body` buffer to the\nsocket driver in order to make certain versions of the protocol work.\n\n\n### Server-side with TCP\n\nYou can also handle WebSocket connections in a bare TCP server, if you're not\nusing an HTTP server and don't want to implement HTTP parsing yourself.\n\nThe driver will emit a `connect` event when a request is received, and at this\npoint you can detect whether it's a WebSocket and handle it as such. Here's an\nexample using the Node `net` module:\n\n```js\nvar net = require('net'),\n    websocket = require('websocket-driver');\n\nvar server = net.createServer(function(connection) {\n  var driver = websocket.server();\n\n  driver.on('connect', function() {\n    if (websocket.isWebSocket(driver)) {\n      driver.start();\n    } else {\n      // handle other HTTP requests\n    }\n  });\n\n  driver.on('close', function() { connection.end() });\n  connection.on('error', function() {});\n\n  connection.pipe(driver.io).pipe(connection);\n\n  driver.messages.pipe(driver.messages);\n});\n\nserver.listen(4180);\n```\n\nIn the `connect` event, the driver gains several properties to describe the\nrequest, similar to a Node request object, such as `method`, `url` and\n`headers`. However you should remember it's not a real request object; you\ncannot write data to it, it only tells you what request data we parsed from the\ninput.\n\nIf the request has a body, it will be in the `driver.body` buffer, but only as\nmuch of the body as has been piped into the driver when the `connect` event\nfires.\n\n\n### Client-side\n\nSimilarly, to implement a WebSocket client you just need to make a driver by\npassing in a URL. After this you use the driver API as described below to\nprocess incoming data and send outgoing data.\n\n\n```js\nvar net = require('net'),\n    websocket = require('websocket-driver');\n\nvar driver = websocket.client('ws://www.example.com/socket'),\n    tcp = net.connect(80, 'www.example.com');\n\ntcp.pipe(driver.io).pipe(tcp);\n\ntcp.on('connect', function() {\n  driver.start();\n});\n\ndriver.messages.on('data', function(message) {\n  console.log('Got a message', message);\n});\n```\n\nClient drivers have two additional properties for reading the HTTP data that was\nsent back by the server:\n\n- `driver.statusCode` - the integer value of the HTTP status code\n- `driver.headers` - an object containing the response headers\n\n\n### HTTP Proxies\n\nThe client driver supports connections via HTTP proxies using the `CONNECT`\nmethod. Instead of sending the WebSocket handshake immediately, it will send a\n`CONNECT` request, wait for a `200` response, and then proceed as normal.\n\nTo use this feature, call `driver.proxy(url)` where `url` is the origin of the\nproxy, including a username and password if required. This produces a duplex\nstream that you should pipe in and out of your TCP connection to the proxy\nserver. When the proxy emits `connect`, you can then pipe `driver.io` to your\nTCP stream and call `driver.start()`.\n\n```js\nvar net = require('net'),\n    websocket = require('websocket-driver');\n\nvar driver = websocket.client('ws://www.example.com/socket'),\n    proxy  = driver.proxy('http://username:password@proxy.example.com'),\n    tcp    = net.connect(80, 'proxy.example.com');\n\ntcp.pipe(proxy).pipe(tcp, { end: false });\n\ntcp.on('connect', function() {\n  proxy.start();\n});\n\nproxy.on('connect', function() {\n  driver.io.pipe(tcp).pipe(driver.io);\n  driver.start();\n});\n\ndriver.messages.on('data', function(message) {\n  console.log('Got a message', message);\n});\n```\n\nThe proxy's `connect` event is also where you should perform a TLS handshake on\nyour TCP stream, if you are connecting to a `wss:` endpoint.\n\nIn the event that proxy connection fails, `proxy` will emit an `error`. You can\ninspect the proxy's response via `proxy.statusCode` and `proxy.headers`.\n\n```js\nproxy.on('error', function(error) {\n  console.error(error.message);\n  console.log(proxy.statusCode);\n  console.log(proxy.headers);\n});\n```\n\nBefore calling `proxy.start()` you can set custom headers using\n`proxy.setHeader()`:\n\n```js\nproxy.setHeader('User-Agent', 'node');\nproxy.start();\n```\n\n\n### Driver API\n\nDrivers are created using one of the following methods:\n\n```js\ndriver = websocket.http(request, options)\ndriver = websocket.server(options)\ndriver = websocket.client(url, options)\n```\n\nThe `http` method returns a driver chosen using the headers from a Node HTTP\nrequest object. The `server` method returns a driver that will parse an HTTP\nrequest and then decide which driver to use for it using the `http` method. The\n`client` method always returns a driver for the RFC version of the protocol with\nmasking enabled on outgoing frames.\n\nThe `options` argument is optional, and is an object. It may contain the\nfollowing fields:\n\n- `maxLength` - the maximum allowed size of incoming message frames, in bytes.\n  The default value is `2^26 - 1`, or 1 byte short of 64 MiB.\n- `protocols` - an array of strings representing acceptable subprotocols for use\n  over the socket. The driver will negotiate one of these to use via the\n  `Sec-WebSocket-Protocol` header if supported by the other peer.\n\nA driver has two duplex streams attached to it:\n\n- **`driver.io`** - this stream should be attached to an I/O socket like a TCP\n  stream. Pipe incoming TCP chunks to this stream for them to be parsed, and\n  pipe this stream back into TCP to send outgoing frames.\n- **`driver.messages`** - this stream emits messages received over the\n  WebSocket.  Writing to it sends messages to the other peer by emitting frames\n  via the `driver.io` stream.\n\nAll drivers respond to the following API methods, but some of them are no-ops\ndepending on whether the client supports the behaviour.\n\nNote that most of these methods are commands: if they produce data that should\nbe sent over the socket, they will give this to you by emitting `data` events on\nthe `driver.io` stream.\n\n#### `driver.on('open', function(event) {})`\n\nAdds a callback to execute when the socket becomes open.\n\n#### `driver.on('message', function(event) {})`\n\nAdds a callback to execute when a message is received. `event` will have a\n`data` attribute containing either a string in the case of a text message or a\n`Buffer` in the case of a binary message.\n\nYou can also listen for messages using the `driver.messages.on('data')` event,\nwhich emits strings for text messages and buffers for binary messages.\n\n#### `driver.on('error', function(event) {})`\n\nAdds a callback to execute when a protocol error occurs due to the other peer\nsending an invalid byte sequence. `event` will have a `message` attribute\ndescribing the error.\n\n#### `driver.on('close', function(event) {})`\n\nAdds a callback to execute when the socket becomes closed. The `event` object\nhas `code` and `reason` attributes.\n\n#### `driver.on('ping', function(event) {})`\n\nAdds a callback block to execute when a ping is received. You do not need to\nhandle this by sending a pong frame yourself; the driver handles this for you.\n\n#### `driver.on('pong', function(event) {})`\n\nAdds a callback block to execute when a pong is received. If this was in\nresponse to a ping you sent, you can also handle this event via the\n`driver.ping(message, function() { ... })` callback.\n\n#### `driver.addExtension(extension)`\n\nRegisters a protocol extension whose operation will be negotiated via the\n`Sec-WebSocket-Extensions` header. `extension` is any extension compatible with\nthe [websocket-extensions](https://github.com/faye/websocket-extensions-node)\nframework.\n\n#### `driver.setHeader(name, value)`\n\nSets a custom header to be sent as part of the handshake response, either from\nthe server or from the client. Must be called before `start()`, since this is\nwhen the headers are serialized and sent.\n\n#### `driver.start()`\n\nInitiates the protocol by sending the handshake - either the response for a\nserver-side driver or the request for a client-side one. This should be the\nfirst method you invoke.  Returns `true` if and only if a handshake was sent.\n\n#### `driver.parse(string)`\n\nTakes a string and parses it, potentially resulting in message events being\nemitted (see `on('message')` above) or in data being sent to `driver.io`.  You\nshould send all data you receive via I/O to this method by piping a stream into\n`driver.io`.\n\n#### `driver.text(string)`\n\nSends a text message over the socket. If the socket handshake is not yet\ncomplete, the message will be queued until it is. Returns `true` if the message\nwas sent or queued, and `false` if the socket can no longer send messages.\n\nThis method is equivalent to `driver.messages.write(string)`.\n\n#### `driver.binary(buffer)`\n\nTakes a `Buffer` and sends it as a binary message. Will queue and return `true`\nor `false` the same way as the `text` method. It will also return `false` if the\ndriver does not support binary messages.\n\nThis method is equivalent to `driver.messages.write(buffer)`.\n\n#### `driver.ping(string = '', function() {})`\n\nSends a ping frame over the socket, queueing it if necessary. `string` and the\ncallback are both optional. If a callback is given, it will be invoked when the\nsocket receives a pong frame whose content matches `string`. Returns `false` if\nframes can no longer be sent, or if the driver does not support ping/pong.\n\n#### `driver.pong(string = '')`\n\nSends a pong frame over the socket, queueing it if necessary. `string` is\noptional. Returns `false` if frames can no longer be sent, or if the driver does\nnot support ping/pong.\n\nYou don't need to call this when a ping frame is received; pings are replied to\nautomatically by the driver. This method is for sending unsolicited pongs.\n\n#### `driver.close()`\n\nInitiates the closing handshake if the socket is still open. For drivers with no\nclosing handshake, this will result in the immediate execution of the\n`on('close')` driver. For drivers with a closing handshake, this sends a closing\nframe and `emit('close')` will execute when a response is received or a protocol\nerror occurs.\n\n#### `driver.version`\n\nReturns the WebSocket version in use as a string. Will either be `hixie-75`,\n`hixie-76` or `hybi-$version`.\n\n#### `driver.protocol`\n\nReturns a string containing the selected subprotocol, if any was agreed upon\nusing the `Sec-WebSocket-Protocol` mechanism. This value becomes available after\n`emit('open')` has fired.\n","readmeFilename":"README.md","users":{"asilvas":true,"staydan":true,"hollobit":true,"jimknopf":true,"huangjia86":true,"brianloveswords":true}}