From 144812c09316d9016a87d6a8e5096ddb7fbf5f63 Mon Sep 17 00:00:00 2001 From: Arnaldas Augutis Date: Thu, 22 Nov 2018 15:38:05 +0200 Subject: [PATCH 1/2] ability to close and restore streamin server --- lib/server.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lib/server.js b/lib/server.js index 60595a8a..2988f27e 100644 --- a/lib/server.js +++ b/lib/server.js @@ -12,11 +12,16 @@ function Server (torrent, opts = {}) { const sockets = [] const pendingReady = [] let closed = false + const _listen = server.listen + const _close = server.close - server.on('connection', onConnection) - server.on('request', onRequest) + server.listen = port => { + closed = false + server.on('connection', onConnection) + server.on('request', onRequest) + _listen.call(server, port) + } - const _close = server.close server.close = cb => { closed = true server.removeListener('connection', onConnection) @@ -25,7 +30,6 @@ function Server (torrent, opts = {}) { const onReady = pendingReady.pop() torrent.removeListener('ready', onReady) } - torrent = null _close.call(server, cb) } From 5dc293f857ddd333afbc5ec52053e7ad07bf58a0 Mon Sep 17 00:00:00 2001 From: Arnaldas Augutis Date: Thu, 22 Nov 2018 15:38:05 +0200 Subject: [PATCH 2/2] ability to close and restore streamin server --- lib/server.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/server.js b/lib/server.js index 2988f27e..cc8bd88d 100644 --- a/lib/server.js +++ b/lib/server.js @@ -15,11 +15,11 @@ function Server (torrent, opts = {}) { const _listen = server.listen const _close = server.close - server.listen = port => { + server.listen = (...args) => { closed = false server.on('connection', onConnection) server.on('request', onRequest) - _listen.call(server, port) + _listen.apply(server, args) } server.close = cb => { @@ -42,6 +42,7 @@ function Server (torrent, opts = {}) { if (!cb) cb = () => {} if (closed) process.nextTick(cb) else server.close(cb) + torrent = null } function isOriginAllowed (req) {