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

abstract-socket

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

abstract-socket - npm Package Compare versions

Comparing version 1.1.0 to 2.0.0

.jshintrc

84

lib/abstract_socket.js

@@ -0,10 +1,10 @@

'use strict';
var net = require('net');
var util = require('util');
var binding = require('bindings')('abstract_socket.node');
const net = require('net');
const binding = require('bindings')('abstract_socket.node');
var socket = binding.socket;
var bind = binding.bind;
var connect = binding.connect;
var close = binding.close;
const socket = binding.socket;
const bind = binding.bind;
const connect = binding.connect;
const close = binding.close;

@@ -14,3 +14,3 @@

// TODO: having the errno message here would be nice
var e = new Error(syscall + ' ' + errorno);
const e = new Error(syscall + ' ' + errorno);
e.errno = e.code = errorno;

@@ -22,37 +22,45 @@ e.syscall = syscall;

function AbstractSocketServer(connectionListener) {
net.Server.call(this, connectionListener);
}
util.inherits(AbstractSocketServer, net.Server);
class AbstractSocketServer extends net.Server {
constructor(listener) {
super(listener);
}
listen(name, listener) {
let err = socket();
if (err < 0) {
this.emit(errnoException(err, 'socket'));
}
AbstractSocketServer.prototype.listen = function(name, listeningListener) {
var err = socket();
if (err < 0)
throw errnoException(err, 'socket');
const handle = {fd: err};
var handle = {fd: err};
err = bind(err, name);
if (err < 0) {
close(handle.fd);
throw errnoException(err, 'bind');
err = bind(err, name);
if (err < 0) {
close(handle.fd);
this.emit(errnoException(err, 'bind'));
}
super.listen(handle, listener);
}
}
net.Server.prototype.listen.call(this, handle, listeningListener);
exports.createServer = function(listener) {
return new AbstractSocketServer(listener);
};
exports.createServer = function(connectionListener) {
return new AbstractSocketServer(connectionListener);
};
exports.connect = exports.createConnection = function(name, connectListener) {
const defaultOptions = {
readable: true,
writable: true
};
let err = socket();
if (err < 0) {
const sock = new net.Socket(defaultOptions);
setImmediate(() => sock.emit('error', errnoException(err, 'socket')));
return sock;
}
exports.connect = function(name, connectListener) {
var err = socket();
if (err < 0)
throw errnoException(err, 'socket');
const options = Object.assign({fd: err}, defaultOptions);
var options = {fd: err, readable: true, writable: true};
// yes, connect is synchronous, so sue me

@@ -62,9 +70,13 @@ err = connect(err, name);

close(options.fd);
throw errnoException(err, 'connect');
const sock = new net.Socket(defaultOptions);
setImmediate(() => sock.emit('error', errnoException(err, 'connect')));
return sock;
}
return new net.Socket(options);
const sock = new net.Socket(options);
if (typeof connectListener === 'function') {
setImmediate(() => connectListener(sock));
}
return sock;
};
exports.createConnection = exports.connect;
{
"author": {
"name": "Saúl Ibarra Corretgé",
"email": "saghul@gmail.com",
"url": "http://bettercallsaghul.com"
},
"name": "abstract-socket",
"version": "1.1.0",
"description": "Abstract domain socket support for Node / io.js",
"main": "lib/abstract_socket",
"homepage": "https://github.com/saghul/node-abstractsocket",
"license": "MIT",
"repository": {
"type": "git",
"url": "git://github.com/saghul/node-abstractsocket.git"
},
"engines": {
"node": ">=0.10.0"
},
"dependencies": {
"bindings": "^1.2.1",
"nan": "^2.0.9"
},
"os": [
"linux"
]
"author": {
"name": "Saúl Ibarra Corretgé",
"email": "saghul@gmail.com",
"url": "http://bettercallsaghul.com"
},
"scripts": {
"test": "./node_modules/.bin/mocha --growl --timeout 10000 test/*.test.js"
},
"name": "abstract-socket",
"version": "2.0.0",
"description": "Abstract domain socket support for Node",
"main": "lib/abstract_socket",
"homepage": "https://github.com/saghul/node-abstractsocket",
"license": "MIT",
"repository": {
"type": "git",
"url": "git://github.com/saghul/node-abstractsocket.git"
},
"engines": {
"node": ">=4.0.0"
},
"dependencies": {
"bindings": "^1.2.1",
"nan": "^2.0.9"
},
"devDependencies": {
"should": "8.2.x",
"mocha": "2.4.x"
},
"os": [
"linux"
]
}

@@ -19,5 +19,5 @@ # node-abstractsocket

// abstract echo server
var abs = require('./lib/abstract_socket');
const abs = require('./lib/abstract_socket');
var server = abs.createServer(function(c) { //'connection' listener
const server = abs.createServer(function(c) { //'connection' listener
console.log('client connected');

@@ -37,3 +37,3 @@ c.on('end', function() {

```js
var abs = require('./lib/abstract_socket');
const abs = require('./lib/abstract_socket');

@@ -50,3 +50,3 @@ var client = abs.connect('\0foo', function() { //'connect' listener

process.stdin.on('readable', function() {
var chunk = process.stdin.read();
const chunk = process.stdin.read();
if (chunk !== null)

@@ -68,3 +68,3 @@ client.write(chunk);

Throws an exception if the `socket(2)` system call fails.
Emits an error if the `socket(2)` system call fails.

@@ -75,3 +75,3 @@ ### AbstractSocketServer.listen(name, [callback]

Throws an exception if the `bind(2)` system call fails, or the given `name`
Emits an error if the `bind(2)` system call fails, or the given `name`
is invalid.

@@ -89,8 +89,11 @@

Returns a new and connected net.Socket object.
Returns a new net.Socket object.
Throws an exception if the `socket(2)` or `connect(2)` system calls fail,
Emits an error if the `socket(2)` or `connect(2)` system calls fail,
or the given `name` is invalid.
## Tests
Run tests with `npm test`.
## Thanks

@@ -101,2 +104,3 @@

@mmalecki taught me how to inherit like a pro.
@randunel refactored it heavily in v2.
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