websocket-stream
Advanced tools
Comparing version 1.1.1 to 1.2.0
@@ -6,3 +6,4 @@ ## Collaborators | ||
<table><tbody><tr><th align="left">maxogden</th><td><a href="https://github.com/maxogden">GitHub/maxogden</a></td></tr> | ||
<tr><th align="left">mcollina</th><td><a href="https://github.com/mcollina">GitHub/mcollina</a></td></tr> | ||
<tr><th align="left">mafintosh</th><td><a href="https://github.com/mafintosh">GitHub/mafintosh</a></td></tr> | ||
</tbody></table> |
@@ -34,7 +34,6 @@ var through = require('through2') | ||
proxy.destroy = destroy; | ||
proxy.on('close', destroy) | ||
function socketWrite(chunk, enc, next) { | ||
socket.send(chunk) | ||
next() | ||
socket.send(chunk, next) | ||
} | ||
@@ -41,0 +40,0 @@ |
{ | ||
"name": "websocket-stream", | ||
"version": "1.1.1", | ||
"version": "1.2.0", | ||
"description": "Use websockets with the node streams API. Works in browser and node", | ||
@@ -5,0 +5,0 @@ "scripts": { |
@@ -1,2 +0,2 @@ | ||
var ws = require('websocket-stream') | ||
var ws = require('./') | ||
var test = require('tape') | ||
@@ -11,3 +11,3 @@ | ||
}) | ||
stream.write(new Buffer('hello')) | ||
stream.write(new Buffer('hello')) | ||
}) |
98
test.js
var test = require('tape') | ||
var websocket = require('./') | ||
var echo = require("./echo-server") | ||
var WebSocketServer = require('ws').Server | ||
var http = require('http') | ||
@@ -22,5 +24,5 @@ test('echo server', function(t) { | ||
client.write('hello world') | ||
}); | ||
}) | ||
}); | ||
}) | ||
@@ -45,5 +47,5 @@ test('emitting not connected errors', function(t) { | ||
client.write('hello world') | ||
}); | ||
}) | ||
}); | ||
}) | ||
@@ -73,5 +75,5 @@ test('passes options to websocket constructor', function(t) { | ||
client.write('hello world') | ||
}); | ||
}) | ||
}); | ||
}) | ||
@@ -92,6 +94,82 @@ | ||
setTimeout(function() { | ||
client.destroy(); | ||
}, 200); | ||
}); | ||
client.destroy() | ||
}, 200) | ||
}) | ||
}); | ||
}) | ||
test('emit sending errors if the socket is closed by the other party', function(t) { | ||
var server = http.createServer() | ||
var wss = new WebSocketServer({ server: server }) | ||
server.listen(8344, function() { | ||
var client = websocket('ws://localhost:8344') | ||
wss.on('connection', function(ws) { | ||
var stream = websocket(ws) | ||
client.destroy() | ||
setTimeout(function() { | ||
stream.write('hello world') | ||
}, 50) | ||
stream.on('error', function(err) { | ||
t.ok(err, 'client errors') | ||
server.close(t.end.bind(t)) | ||
}) | ||
}) | ||
}) | ||
}) | ||
test('destroy client pipe should close server pipe', function(t) { | ||
t.plan(1) | ||
var clientDestroy = function() { | ||
var client = websocket(echo.url, echo.options) | ||
client.on('data', function(o) { | ||
client.destroy() | ||
}) | ||
client.write(new Buffer('hello')) | ||
} | ||
var opts = {} | ||
var server = http.createServer() | ||
opts.server = server | ||
var wss = new WebSocketServer(opts) | ||
wss.on('connection', function(ws) { | ||
var stream = websocket(ws) | ||
stream.on('close', function() { | ||
server.close(function() { | ||
t.pass('close is called') | ||
}) | ||
}) | ||
stream.pipe(stream) | ||
}) | ||
server.listen(echo.port, clientDestroy) | ||
}) | ||
test('error on socket should forward it to pipe', function(t) { | ||
t.plan(1) | ||
var clientConnect = function() { | ||
websocket(echo.url, echo.options) | ||
} | ||
var opts = {} | ||
var server = http.createServer() | ||
opts.server = server | ||
var wss = new WebSocketServer(opts) | ||
wss.on('connection', function(ws) { | ||
var stream = websocket(ws) | ||
stream.on('error', function() { | ||
server.close(function() { | ||
t.pass('error is called') | ||
}) | ||
}) | ||
stream.socket.emit('error', 'Fake error') | ||
}) | ||
server.listen(echo.port, clientConnect) | ||
}) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
10615
244
3