mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-24 19:42:28 +00:00
fix: catch thrown maConn errors in listener (#122)
When upgrading sockets to MultiaddConnections, it's possible for an error to be thrown. This can crash the application if a client disconnects prior to the listener uprading the socket, as is likely occurring in #121. Errors will now be caught and logged when attempting to upgrade the socket.
This commit is contained in:
parent
0c2d84e395
commit
86db568cd8
@ -20,15 +20,15 @@ module.exports = ({ handler, upgrader }, options) => {
|
||||
// Avoid uncaught errors caused by unstable connections
|
||||
socket.on('error', err => log('socket error', err))
|
||||
|
||||
const maConn = toConnection(socket, { listeningAddr })
|
||||
log('new inbound connection %s', maConn.remoteAddr)
|
||||
|
||||
let maConn
|
||||
let conn
|
||||
try {
|
||||
maConn = toConnection(socket, { listeningAddr })
|
||||
log('new inbound connection %s', maConn.remoteAddr)
|
||||
conn = await upgrader.upgradeInbound(maConn)
|
||||
} catch (err) {
|
||||
log.error('inbound connection failed to upgrade', err)
|
||||
return maConn.close()
|
||||
log.error('inbound connection failed', err)
|
||||
return maConn && maConn.close()
|
||||
}
|
||||
|
||||
log('inbound connection %s upgraded', maConn.remoteAddr)
|
||||
|
Loading…
x
Reference in New Issue
Block a user