{"_id":"upgrade","_rev":"19-be3323688d8d56ce9688aaccfbcba3ae","name":"upgrade","description":"A simple Node websocket library to handle http upgrades.","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"upgrade","version":"1.0.0","description":"A simple NodeJS websocket library to handle http upgrades.","homepage":"https://github.com/cobbdb/upgrade","main":"upgrade.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"http://github.com/cobbdb/upgrade.git"},"keywords":["websocket","http","upgrade","simple"],"dependencies":{"crypto":"*"},"author":{"name":"Dan Cobb","email":"cobbdb@gmail.com","url":"http://sites.google.com/site/petitgibier/"},"readme":"# UpgradeJS\n### A simple NodeJS websocket library to handle http upgrades.\nVersion **1.0.0**\n\n---\n* See: [NPM Page](https://npmjs.org/package/upgrade)\n* See: [Github Repo](http://www.github.com/cobbdb/UpgradeJS)\n\n### Installation\n> ```\nnpm install upgrade\n```\n\n### Usage\n###### Here is an example of a basic upgrade setup:\n> ```JavaScript\n// server.js\nvar http = require('http');\nvar upgrade = require('upgrade');\nvar server = http.createServer();\nserver.on('upgrade', function (req, socket) {\n    var send = upgrade.getSend(socket);\n    upgrade.writeHead(req, socket);\n    socket.on('data', function (buff) {\n        var data = upgrade.getData(buff);\n        console.log('> ' + data);\n    });\n    send('Welcome to the Server!');\n});\nserver.listen(8000);\n```\n```JavaScript\n// client.js\nvar socket = new WebSocket('ws://localhost:8000');\nsocket.onopen = function () {\n    socket.send('Hello Server!');\n    console.log('> Socket Open.');\n};\nsocket.onmessage = function (evt) {\n    var msg = evt.data;\n    console.log('> ' + msg);\n};\n```\n\n\n## writeHead(req, socket)\nWrite upgrade handshake header to socket.\n\n**Parameters**\n* {ServerRequest} req - ServerRequest from HTTPServer.\n* {Socket} socket - Socket from upgrade event.\n\n```JavaScript\nserver.on('upgrade', function (req, socket) {\n    upgrade.writeHead(req, socket);\n```\n\n\n## getData(buffer)\nRemoves mask from incoming frame.\n\n**Parameters**\n* {Buffer} buffer - Buffer object from data event of WebSocket.\n\n**Returns** {String} Unmasked data.\n\n```JavaScript\nsocket.on('data', function (buff) {\n    var data = upgrade.getData(buff);\n```\n\n\n## frameData(msg)\nWraps data in a websocket frame. Note that UpgradeJS does not support payloads larger than 125 bytes.\n\n**Parameters**\n* {String} msg - Some data to wrap.\n\n**Returns** {Buffer} Hex encoded Buffer.  \n**Throws** {RangeError}\n\n```JavaScript\nvar data = exports.frameData(message);\nsocket.write(data);\n```\n\n\n## getSend(socket)\nConvenience method to lock send behavior to a specific socket.\n\n**Parameters**\n* {Socket} socket - The socket to communicate over.\n\n**Returns** {Function} Send behavior using a specific socket.\n\n```JavaScript\nvar send = upgrade.getSend(socket);\nsend('foo');\nsend('bar');\n```\n\n\n## send(msg, socket)\nConvenience method for sending framed data.\n\n**Parameters**\n* {String} msg - Data to send across websocket.\n* {Socket} socket - The socket to commincate over.\n\n**Throws** {RangeError}\n\n```JavaScript\nupgrade.send('foo', socket);\nupgrade.send('bar', socket);\n```\n\n---\nBy Dan Cobb: <cobbdb@gmail.com> - [petitgibier.sytes.net](http://petitgibier.sytes.net)\n","readmeFilename":"README.md","_id":"upgrade@1.0.0","dist":{"shasum":"982a448b4626bcd70cb13501ac6cf1ab49d539bf","tarball":"https://registry.npmjs.org/upgrade/-/upgrade-1.0.0.tgz","integrity":"sha512-BgkUKKzKLL2JtU4JRfneMYvY+QqT3HHnJhZ2+8ALX8yyLAVJ7+qvWGTlMfMkEUdDF4UW8DChE2fopIdnlOb+ng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGwlrlVsAaDJ2e9JnjgfXjyi8mn05OBRj7j8zlxLLMTpAiEAgNis7fm834CxJ29azpJ1eDB+bWFNdn0UyZ+v3E23M44="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"cobbdb","email":"cobbdb@gmail.com"},"maintainers":[{"name":"cobbdb","email":"cobbdb@gmail.com"}],"directories":{}},"1.0.1":{"name":"upgrade","version":"1.0.1","description":"A simple NodeJS websocket library to handle http upgrades.","homepage":"https://github.com/cobbdb/upgrade","main":"upgrade.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"http://github.com/cobbdb/upgrade.git"},"keywords":["websocket","http","upgrade","simple"],"dependencies":{"crypto":"*"},"author":{"name":"Dan Cobb","email":"cobbdb@gmail.com","url":"http://sites.google.com/site/petitgibier/"},"readme":"# UpgradeJS\n### A simple NodeJS websocket library to handle http upgrades.\nVersion **1.0.1**\n\n---\n* See: [NPM Page](https://npmjs.org/package/upgrade)\n* See: [Github Repo](http://www.github.com/cobbdb/UpgradeJS)\n\n### Installation\n> ```\nnpm install upgrade\n```\n\n### Usage\n###### Here is an example of a basic upgrade setup:\n> ```JavaScript\n// server.js\nvar http = require('http');\nvar upgrade = require('upgrade');\nvar server = http.createServer();\nserver.on('upgrade', function (req, socket) {\n    var send = upgrade.getSend(socket);\n    upgrade.writeHead(req, socket);\n    socket.on('data', function (buff) {\n        var data = upgrade.getData(buff);\n        console.log('> ' + data);\n    });\n    send('Welcome to the Server!');\n});\nserver.listen(8000);\n```\n```JavaScript\n// client.js\nvar socket = new WebSocket('ws://localhost:8000');\nsocket.onopen = function () {\n    socket.send('Hello Server!');\n    console.log('> Socket Open.');\n};\nsocket.onmessage = function (evt) {\n    var msg = evt.data;\n    console.log('> ' + msg);\n};\n```\n\n\n## writeHead(req, socket)\nWrite upgrade handshake header to socket.\n\n**Parameters**\n\n* {ServerRequest} req - ServerRequest from HTTPServer.\n* {Socket} socket - Socket from upgrade event.\n\n```JavaScript\nserver.on('upgrade', function (req, socket) {\n    upgrade.writeHead(req, socket);\n```\n\n\n## getData(buffer)\nRemoves mask from incoming frame.\n\n**Parameters**\n\n* {Buffer} buffer - Buffer object from data event of WebSocket.\n\n**Returns** {String} Unmasked data.\n\n```JavaScript\nsocket.on('data', function (buff) {\n    var data = upgrade.getData(buff);\n```\n\n\n## frameData(msg)\nWraps data in a websocket frame. Note that UpgradeJS does not support payloads larger than 125 bytes.\n\n**Parameters**\n\n* {String} msg - Some data to wrap.\n\n**Returns** {Buffer} Hex encoded Buffer.  \n**Throws** {RangeError}\n\n```JavaScript\nvar data = exports.frameData(message);\nsocket.write(data);\n```\n\n\n## getSend(socket)\nConvenience method to lock send behavior to a specific socket.\n\n**Parameters**\n\n* {Socket} socket - The socket to communicate over.\n\n**Returns** {Function} Send behavior using a specific socket.\n\n```JavaScript\nvar send = upgrade.getSend(socket);\nsend('foo');\nsend('bar');\n```\n\n\n## send(msg, socket)\nConvenience method for sending framed data.\n\n**Parameters**\n\n* {String} msg - Data to send across websocket.\n* {Socket} socket - The socket to commincate over.\n\n**Throws** {RangeError}\n\n```JavaScript\nupgrade.send('foo', socket);\nupgrade.send('bar', socket);\n```\n\n---\nBy Dan Cobb: <cobbdb@gmail.com> - [petitgibier.sytes.net](http://petitgibier.sytes.net)\n","readmeFilename":"README.md","_id":"upgrade@1.0.1","dist":{"shasum":"531cd2bf8eccfef6344440405034fc178a556184","tarball":"https://registry.npmjs.org/upgrade/-/upgrade-1.0.1.tgz","integrity":"sha512-ZmFaU3ITi4WZW0pz6CPyva5zqiUNY9gJDdAadVIX4MEAabBgZ4kHTWXV0hO50iLuEE9B/K+JWududJszWhM/Jw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDuQ/w+064ggqp5EQgq0+oX54SdLgz9lSFlBbt2tYm5hwIgYuuZxT5LoHZtt4ZJwrRvha9mSlA2UyQmy5OpJC1Befc="}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"cobbdb","email":"cobbdb@gmail.com"},"maintainers":[{"name":"cobbdb","email":"cobbdb@gmail.com"}],"directories":{}},"1.0.2":{"name":"upgrade","version":"1.0.2","license":"MIT","description":"A simple Node websocket library to handle http upgrades.","homepage":"https://github.com/cobbdb/upgrade","main":"upgrade.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"http://github.com/cobbdb/upgrade.git"},"keywords":["websocket","http","upgrade","simple"],"dependencies":{"crypto":"*"},"author":{"name":"Dan Cobb","email":"cobbdb@gmail.com","url":"http://sites.google.com/site/petitgibier/"},"readme":"# Upgrade\n### A simple Node websocket library to handle http upgrades.\nVersion **1.0.2**\n\n---\n* See: [NPM Page](https://npmjs.org/package/upgrade)\n* See: [Github Repo](http://www.github.com/cobbdb/upgrade)\n\n### Installation\n> ```\nnpm install upgrade\n```\n\n### Usage\n###### Here is an example of a basic upgrade setup:\n> ```JavaScript\n// server.js\nvar http = require('http');\nvar upgrade = require('upgrade');\nvar server = http.createServer();\nserver.on('upgrade', function (req, socket) {\n    var send = upgrade.getSend(socket);\n    upgrade.writeHead(req, socket);\n    socket.on('data', function (buff) {\n        var data = upgrade.getData(buff);\n        console.log('> ' + data);\n    });\n    send('Welcome to the Server!');\n});\nserver.listen(8000);\n```\n```JavaScript\n// client.js\nvar socket = new WebSocket('ws://localhost:8000');\nsocket.onopen = function () {\n    socket.send('Hello Server!');\n    console.log('> Socket Open.');\n};\nsocket.onmessage = function (evt) {\n    var msg = evt.data;\n    console.log('> ' + msg);\n};\n```\n\n\n## writeHead(req, socket)\nWrite upgrade handshake header to socket.\n\n**Parameters**\n\n* {ServerRequest} req - ServerRequest from HTTPServer.\n* {Socket} socket - Socket from upgrade event.\n\n```JavaScript\nserver.on('upgrade', function (req, socket) {\n    upgrade.writeHead(req, socket);\n```\n\n\n## getData(buffer)\nRemoves mask from incoming frame.\n\n**Parameters**\n\n* {Buffer} buffer - Buffer object from data event of WebSocket.\n\n**Returns** {String} Unmasked data.\n\n```JavaScript\nsocket.on('data', function (buff) {\n    var data = upgrade.getData(buff);\n```\n\n\n## frameData(msg)\nWraps data in a websocket frame. Note that UpgradeJS does not support payloads larger than 125 bytes.\n\n**Parameters**\n\n* {String} msg - Some data to wrap.\n\n**Returns** {Buffer} Hex encoded Buffer.  \n**Throws** {RangeError}\n\n```JavaScript\nvar data = exports.frameData(message);\nsocket.write(data);\n```\n\n\n## getSend(socket)\nConvenience method to lock send behavior to a specific socket.\n\n**Parameters**\n\n* {Socket} socket - The socket to communicate over.\n\n**Returns** {Function} Send behavior using a specific socket.\n\n```JavaScript\nvar send = upgrade.getSend(socket);\nsend('foo');\nsend('bar');\n```\n\n\n## send(msg, socket)\nConvenience method for sending framed data.\n\n**Parameters**\n\n* {String} msg - Data to send across websocket.\n* {Socket} socket - The socket to commincate over.\n\n**Throws** {RangeError}\n\n```JavaScript\nupgrade.send('foo', socket);\nupgrade.send('bar', socket);\n```\n\n---\nBy Dan Cobb: <cobbdb@gmail.com> - [petitgibier.sytes.net](http://petitgibier.sytes.net)  \nLicense: MIT\n","readmeFilename":"README.md","_id":"upgrade@1.0.2","dist":{"shasum":"5c0d7181901a8039e740a0379e31c3ff3b1df1c0","tarball":"https://registry.npmjs.org/upgrade/-/upgrade-1.0.2.tgz","integrity":"sha512-Wj7xWZX/3bdzrlTTNjPPfyIS5CsadyIjawn/KocpY1DwLtkpEbNC+75JZM/tEPHX0gVS7nbwow7RYydJDlSgYQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOEVqRkFdVz7g/2O44WXcIz4ptpebtc+3Ky8I8HETAkwIhALVpyX53xvN3zOZxeltU5i1yL0CBgDsKEkEdeIhzQKZH"}]},"_from":".","_npmVersion":"1.2.18","_npmUser":{"name":"cobbdb","email":"cobbdb@gmail.com"},"maintainers":[{"name":"cobbdb","email":"cobbdb@gmail.com"}]},"1.1.0":{"name":"upgrade","version":"1.1.0","license":"MIT","description":"A simple Node websocket library to handle http upgrades.","homepage":"https://github.com/cobbdb/upgrade","main":"upgrade.js","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"repository":{"type":"git","url":"http://github.com/cobbdb/upgrade.git"},"keywords":["websocket","http","upgrade","native","simple"],"dependencies":{},"author":{"name":"Dan Cobb","email":"cobbdb@gmail.com","url":"http://sites.google.com/site/petitgibier/"},"readme":"# Upgrade\n### A simple Node websocket library to handle http upgrades.\nVersion **1.1.0**\n\n---\n* See: [NPM Page](https://npmjs.org/package/upgrade)\n* See: [Github Repo](http://www.github.com/cobbdb/upgrade)\n\n### Installation\n> ```\nnpm install upgrade\n```\n\n### Usage\n###### Here is an example of a basic upgrade setup:\n> ```JavaScript\n// server.js\nvar http = require('http');\nvar upgrade = require('upgrade');\nvar server = http.createServer();\nserver.on('upgrade', function (req, socket) {\n    var send = upgrade.getSend(socket);\n    upgrade.writeHead(req, socket);\n    socket.on('data', function (buff) {\n        var data = upgrade.getData(buff);\n        console.log('> ' + data);\n    });\n    send('Welcome to the Server!');\n});\nserver.listen(8000);\n```\n```JavaScript\n// client.js\nvar socket = new WebSocket('ws://localhost:8000');\nsocket.onopen = function () {\n    socket.send('Hello Server!');\n    console.log('> Socket Open.');\n};\nsocket.onmessage = function (evt) {\n    var msg = evt.data;\n    console.log('> ' + msg);\n};\n```\n\n\n## writeHead(req, socket)\nWrite upgrade handshake header to socket.\n\n**Parameters**\n\n* {ServerRequest} req - ServerRequest from HTTPServer.\n* {Socket} socket - Socket from upgrade event.\n\n```JavaScript\nserver.on('upgrade', function (req, socket) {\n    upgrade.writeHead(req, socket);\n```\n\n\n## getData(buffer)\nRemoves mask from incoming frame.\n\n**Parameters**\n\n* {Buffer} buffer - Buffer object from data event of WebSocket.\n\n**Returns** {String} Unmasked data.\n\n```JavaScript\nsocket.on('data', function (buff) {\n    var data = upgrade.getData(buff);\n```\n\n\n## frameData(msg)\nWraps data in a websocket frame. Note that UpgradeJS does not support payloads larger than 125 bytes.\n\n**Parameters**\n\n* {String} msg - Some data to wrap.\n\n**Returns** {Buffer} Hex encoded Buffer.  \n**Throws** {RangeError}\n\n```JavaScript\nvar data = exports.frameData(message);\nsocket.write(data);\n```\n\n\n## getSend(socket)\nConvenience method to lock send behavior to a specific socket.\n\n**Parameters**\n\n* {Socket} socket - The socket to communicate over.\n\n**Returns** {Function} Send behavior using a specific socket.\n\n```JavaScript\nvar send = upgrade.getSend(socket);\nsend('foo');\nsend('bar');\n```\n\n\n## send(msg, socket)\nConvenience method for sending framed data.\n\n**Parameters**\n\n* {String} msg - Data to send across websocket.\n* {Socket} socket - The socket to commincate over.\n\n**Throws** {RangeError}\n\n```JavaScript\nupgrade.send('foo', socket);\nupgrade.send('bar', socket);\n```\n\n---\nBy Dan Cobb: <cobbdb@gmail.com> - [petitgibier.sytes.net](http://petitgibier.sytes.net)  \nLicense: MIT\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/cobbdb/upgrade/issues"},"_id":"upgrade@1.1.0","dist":{"shasum":"4a50875ec5c715d19379799f0590a0e796958f61","tarball":"https://registry.npmjs.org/upgrade/-/upgrade-1.1.0.tgz","integrity":"sha512-NtkVvqVCqsJo5U3mYRum2Tw6uCltOxfIJ/AfTZeTmw6U39IB5X23xF+kRZ9aiPaORqeiQQ7Q209/ibhOvxzwHA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICHwYnmqQpxrNbTIiZks2zKLATmTNTV+HtPPPhVp5YqDAiEAgV3cacCMEaKNibbrgCvKN0jL6CXRE2KTMt8CmnbcP78="}]},"_from":".","_npmVersion":"1.3.8","_npmUser":{"name":"cobbdb","email":"cobbdb@gmail.com"},"maintainers":[{"name":"cobbdb","email":"cobbdb@gmail.com"}]}},"readme":"# UpgradeJS\n### A simple NodeJS websocket library to handle http upgrades.\nVersion **1.0.0**\n\n---\n* See: [NPM Page](https://npmjs.org/package/upgrade)\n* See: [Github Repo](http://www.github.com/cobbdb/UpgradeJS)\n\n### Installation\n> ```\nnpm install upgrade\n```\n\n### Usage\n###### Here is an example of a basic upgrade setup:\n> ```JavaScript\n// server.js\nvar http = require('http');\nvar upgrade = require('upgrade');\nvar server = http.createServer();\nserver.on('upgrade', function (req, socket) {\n    var send = upgrade.getSend(socket);\n    upgrade.writeHead(req, socket);\n    socket.on('data', function (buff) {\n        var data = upgrade.getData(buff);\n        console.log('> ' + data);\n    });\n    send('Welcome to the Server!');\n});\nserver.listen(8000);\n```\n```JavaScript\n// client.js\nvar socket = new WebSocket('ws://localhost:8000');\nsocket.onopen = function () {\n    socket.send('Hello Server!');\n    console.log('> Socket Open.');\n};\nsocket.onmessage = function (evt) {\n    var msg = evt.data;\n    console.log('> ' + msg);\n};\n```\n\n\n## writeHead(req, socket)\nWrite upgrade handshake header to socket.\n\n**Parameters**\n* {ServerRequest} req - ServerRequest from HTTPServer.\n* {Socket} socket - Socket from upgrade event.\n\n```JavaScript\nserver.on('upgrade', function (req, socket) {\n    upgrade.writeHead(req, socket);\n```\n\n\n## getData(buffer)\nRemoves mask from incoming frame.\n\n**Parameters**\n* {Buffer} buffer - Buffer object from data event of WebSocket.\n\n**Returns** {String} Unmasked data.\n\n```JavaScript\nsocket.on('data', function (buff) {\n    var data = upgrade.getData(buff);\n```\n\n\n## frameData(msg)\nWraps data in a websocket frame. Note that UpgradeJS does not support payloads larger than 125 bytes.\n\n**Parameters**\n* {String} msg - Some data to wrap.\n\n**Returns** {Buffer} Hex encoded Buffer.  \n**Throws** {RangeError}\n\n```JavaScript\nvar data = exports.frameData(message);\nsocket.write(data);\n```\n\n\n## getSend(socket)\nConvenience method to lock send behavior to a specific socket.\n\n**Parameters**\n* {Socket} socket - The socket to communicate over.\n\n**Returns** {Function} Send behavior using a specific socket.\n\n```JavaScript\nvar send = upgrade.getSend(socket);\nsend('foo');\nsend('bar');\n```\n\n\n## send(msg, socket)\nConvenience method for sending framed data.\n\n**Parameters**\n* {String} msg - Data to send across websocket.\n* {Socket} socket - The socket to commincate over.\n\n**Throws** {RangeError}\n\n```JavaScript\nupgrade.send('foo', socket);\nupgrade.send('bar', socket);\n```\n\n---\nBy Dan Cobb: <cobbdb@gmail.com> - [petitgibier.sytes.net](http://petitgibier.sytes.net)\n","maintainers":[{"name":"cobbdb","email":"cobbdb@gmail.com"}],"time":{"modified":"2022-06-28T05:43:09.625Z","created":"2013-04-22T07:04:46.592Z","1.0.0":"2013-04-22T07:04:49.248Z","1.0.1":"2013-04-22T19:02:21.473Z","1.0.2":"2013-05-21T03:19:53.932Z","1.1.0":"2013-10-28T16:04:36.235Z"},"author":{"name":"Dan Cobb","email":"cobbdb@gmail.com","url":"http://sites.google.com/site/petitgibier/"},"repository":{"type":"git","url":"http://github.com/cobbdb/upgrade.git"}}