From 4b2c756bfc4dea51236161d7e0c519a0c6918221 Mon Sep 17 00:00:00 2001 From: Sam Roberts <vieuxtech@gmail.com> Date: Mon, 5 Jun 2017 12:35:43 -0700 Subject: [PATCH] lib: return this from net.Socket.end() PR-URL: https://github.com/nodejs/node/pull/13481 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Brian White <mscdex@mscdex.net> --- doc/api/net.md | 2 ++ lib/net.js | 2 ++ test/parallel/test-socket-write-after-fin.js | 5 +++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/doc/api/net.md b/doc/api/net.md index fc0ea4cc12dd02..d35ec06c2431be 100644 --- a/doc/api/net.md +++ b/doc/api/net.md @@ -648,6 +648,8 @@ server will still send some data. If `data` is specified, it is equivalent to calling `socket.write(data, encoding)` followed by [`socket.end()`][]. +Returns `socket`. + ### socket.localAddress <!-- YAML added: v0.9.6 diff --git a/lib/net.js b/lib/net.js index 3bd3de9ed3079e..67c231ef25607a 100644 --- a/lib/net.js +++ b/lib/net.js @@ -497,6 +497,8 @@ Socket.prototype.end = function(data, encoding) { this.read(0); else maybeDestroy(this); + + return this; }; diff --git a/test/parallel/test-socket-write-after-fin.js b/test/parallel/test-socket-write-after-fin.js index c8ff56871734af..2551d3f54f651f 100644 --- a/test/parallel/test-socket-write-after-fin.js +++ b/test/parallel/test-socket-write-after-fin.js @@ -2,7 +2,7 @@ const common = require('../common'); const assert = require('assert'); const net = require('net'); -const expected = 'hello1hello2hello3\nTHUNDERMUSCLE!'; +const expected = 'hello1hello2hello3\nbye'; const server = net.createServer({ allowHalfOpen: true @@ -35,5 +35,6 @@ server.listen(0, common.mustCall(function() { sock.write('hello1'); sock.write('hello2'); sock.write('hello3\n'); - sock.end('THUNDERMUSCLE!'); + assert.strictEqual(sock.end('bye'), sock); + }));