New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

pull-ws

Package Overview
Dependencies
Maintainers
2
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pull-ws - npm Package Compare versions

Comparing version 2.0.0 to 2.1.0

test/error.js

2

package.json
{
"name": "pull-ws",
"version": "2.0.0",
"version": "2.1.0",
"description": "Simple pull-streams for websocket client connections",

@@ -5,0 +5,0 @@ "main": "index.js",

module.exports = function(socket, callback) {
var remove = socket && (socket.removeEventListener || socket.removeListener);
function handleOpen(evt) {
function cleanup () {
if (typeof remove == 'function') {
remove.call(socket, 'open', handleOpen);
remove.call(socket, 'error', handleErr);
}
}
callback();
function handleOpen(evt) {
cleanup(); callback();
}
function handleErr (evt) {
cleanup(); callback(evt);
}
// if the socket is closing or closed, return end

@@ -23,2 +30,3 @@ if (socket.readyState >= 2) {

socket.addEventListener('open', handleOpen);
socket.addEventListener('error', handleErr);
};

@@ -40,3 +40,3 @@ var pull = require('pull-core');

if (end) {
return read(end);
return read(end, function () {});
}

@@ -43,0 +43,0 @@

var pull = require('pull-core');
var ready = require('./ready');
var EOF = [];

@@ -16,2 +15,3 @@ /**

var receiver;
var ended;

@@ -27,15 +27,28 @@ socket.addEventListener('message', function(evt) {

socket.addEventListener('close', function(evt) {
if (ended) return;
if (receiver) {
return receiver(true);
return receiver(ended = true);
}
});
buffer.push(EOF);
socket.addEventListener('error', function (evt) {
if (ended) return;
ended = evt;
if (receiver) {
receiver(ended);
}
});
function read(end, cb) {
function read(abort, cb) {
receiver = null;
//if stream has already ended.
if (ended)
return cb(ended)
// if ended, abort
if (end) {
return cb && cb(end);
if (abort) {
//this will callback when socket closes
receiver = cb
return socket.close()
}

@@ -45,13 +58,15 @@

if (end) {
return cb(end);
return cb(ended = end);
}
// read from the socket
if (buffer.length > 0) {
if (buffer[0] === EOF) {
return cb(true);
}
if (ended && ended !== true) {
return cb(ended);
}
else if (buffer.length > 0) {
return cb(null, buffer.shift());
}
else if (ended) {
return cb(true);
}

@@ -58,0 +73,0 @@ receiver = cb;

require('./read');
require('./echo');
require('./closeonend');
require('./error');
var wss = require('./server')
var tape = require('tape')
require('./all')
require('./read');
require('./echo');
require('./closeonend');
require('./error')

@@ -6,0 +9,0 @@ tape('teardown', function (t) {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc