diff --git a/src/identify/index.js b/src/identify/index.js index 392f2c3820..cde3275033 100644 --- a/src/identify/index.js +++ b/src/identify/index.js @@ -208,7 +208,7 @@ class IdentifyService { * @param {*} options.stream * @param {Connection} options.connection */ - _handleIdentify ({ connection, stream }) { + async _handleIdentify ({ connection, stream }) { let publicKey = Buffer.alloc(0) if (this.peerId.pubKey) { publicKey = this.peerId.pubKey.bytes @@ -223,12 +223,16 @@ class IdentifyService { protocols: Array.from(this._protocols.keys()) }) - pipe( - [message], - lp.encode(), - stream, - consume - ) + try { + await pipe( + [message], + lp.encode(), + stream, + consume + ) + } catch (err) { + log.error('could not respond to identify request', err) + } } /** @@ -239,17 +243,16 @@ class IdentifyService { * @param {Connection} options.connection */ async _handlePush ({ connection, stream }) { - const [data] = await pipe( - [], - stream, - lp.decode(), - take(1), - toBuffer, - collect - ) - let message try { + const [data] = await pipe( + [], + stream, + lp.decode(), + take(1), + toBuffer, + collect + ) message = Message.decode(data) } catch (err) { return log.error('received invalid message', err) diff --git a/src/metrics/index.js b/src/metrics/index.js index 0a92c036c1..cfddd837d6 100644 --- a/src/metrics/index.js +++ b/src/metrics/index.js @@ -215,7 +215,7 @@ class Metrics { const _sink = stream.sink stream.sink = source => { - pipe( + return pipe( source, tap(chunk => metrics._onMessage({ remotePeer, diff --git a/src/pnet/index.js b/src/pnet/index.js index b1a70ac315..2754e6de75 100644 --- a/src/pnet/index.js +++ b/src/pnet/index.js @@ -17,7 +17,7 @@ const handshake = require('it-handshake') const { NONCE_LENGTH } = require('./key-generator') const debug = require('debug') const log = debug('libp2p:pnet') -log.err = debug('libp2p:pnet:err') +log.error = debug('libp2p:pnet:err') /** * Takes a Private Shared Key (psk) and provides a `protect` method @@ -69,7 +69,7 @@ class Protector { // Decrypt all inbound traffic createUnboxStream(remoteNonce, this.psk), external - ) + ).catch(log.error) return internal } diff --git a/src/upgrader.js b/src/upgrader.js index c7c9d4f188..11188f962e 100644 --- a/src/upgrader.js +++ b/src/upgrader.js @@ -258,7 +258,7 @@ class Upgrader { } // Pipe all data through the muxer - pipe(upgradedConn, muxer, upgradedConn) + pipe(upgradedConn, muxer, upgradedConn).catch(log.error) } const _timeline = maConn.timeline