From 283afb28a590041fa3910da18521ef6a9307295a Mon Sep 17 00:00:00 2001
From: cgeek <cem.moreau@gmail.com>
Date: Mon, 25 Sep 2017 14:50:35 +0200
Subject: [PATCH] [fix] #1116 Do not start a new stream with a WS2P connection
 which is not connected yet

---
 app/lib/streams/WS2PStreamer.ts    |  1 +
 app/modules/ws2p/lib/WS2PClient.ts | 10 ++++++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/app/lib/streams/WS2PStreamer.ts b/app/lib/streams/WS2PStreamer.ts
index 5b9af6253..12b41e09b 100644
--- a/app/lib/streams/WS2PStreamer.ts
+++ b/app/lib/streams/WS2PStreamer.ts
@@ -32,6 +32,7 @@ export class WS2PStreamer extends stream.Transform {
       }
     } catch (e) {
       logger.warn('WS2P >> Streamer >>', e)
+      this.ws2pc.close()
     }
     done && done();
   }
diff --git a/app/modules/ws2p/lib/WS2PClient.ts b/app/modules/ws2p/lib/WS2PClient.ts
index f30c10503..1571bae35 100644
--- a/app/modules/ws2p/lib/WS2PClient.ts
+++ b/app/modules/ws2p/lib/WS2PClient.ts
@@ -22,9 +22,15 @@ export class WS2PClient {
       },
       expectedPub
     )
-    // Streaming
     const streamer = new WS2PStreamer(c)
-    server.pipe(streamer)
+    c.connected
+      .then(() => {
+        // Streaming
+        server.pipe(streamer)
+      })
+      .catch(() => {
+        server.unpipe(streamer)
+      })
     c.closed.then(() => {
       server.unpipe(streamer)
     })
-- 
GitLab