net: `Server.listen`, `Server.close` and `Socket.connect` return `this`
authorMaciej Małecki <maciej.malecki@notimplemented.org>
Sun, 23 Oct 2011 09:20:03 +0000 (11:20 +0200)
committerkoichik <koichik@improvement.jp>
Mon, 24 Oct 2011 13:19:42 +0000 (22:19 +0900)
Just a syntactic sugar for doing, for example:

    var server = net.createServer(function (c) {
      c.end('goodbye, cruel world!\r\n');
      server.close().on('close', function () {
        console.log('really, goodbye!');
      });
    }).listen(1337);

Fixes #1922.

lib/net.js

index 2d09e49..2d33c46 100644 (file)
@@ -53,8 +53,7 @@ exports.connect = exports.createConnection = function(port /* [host], [cb] */) {
     s = new Socket();
   }
 
-  s.connect(port, arguments[1], arguments[2]);
-  return s;
+  return s.connect(port, arguments[1], arguments[2]);
 };
 
 /* called when creating new Socket, or when re-using a closed Socket */
@@ -536,6 +535,7 @@ Socket.prototype.connect = function(port /* [host], [cb] */) {
     debug('connect: missing host');
     connect(self, '127.0.0.1', port, 4);
   }
+  return self;
 };
 
 
@@ -739,6 +739,7 @@ Server.prototype.listen = function() {
       }
     });
   }
+  return self;
 };
 
 Server.prototype.address = function() {
@@ -787,6 +788,8 @@ Server.prototype.close = function() {
   this._handle.close();
   this._handle = null;
   this._emitCloseIfDrained();
+
+  return this;
 };
 
 Server.prototype._emitCloseIfDrained = function() {