mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-24 22:52:34 +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
|
// Avoid uncaught errors caused by unstable connections
|
||||||
socket.on('error', err => log('socket error', err))
|
socket.on('error', err => log('socket error', err))
|
||||||
|
|
||||||
const maConn = toConnection(socket, { listeningAddr })
|
let maConn
|
||||||
log('new inbound connection %s', maConn.remoteAddr)
|
|
||||||
|
|
||||||
let conn
|
let conn
|
||||||
try {
|
try {
|
||||||
|
maConn = toConnection(socket, { listeningAddr })
|
||||||
|
log('new inbound connection %s', maConn.remoteAddr)
|
||||||
conn = await upgrader.upgradeInbound(maConn)
|
conn = await upgrader.upgradeInbound(maConn)
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
log.error('inbound connection failed to upgrade', err)
|
log.error('inbound connection failed', err)
|
||||||
return maConn.close()
|
return maConn && maConn.close()
|
||||||
}
|
}
|
||||||
|
|
||||||
log('inbound connection %s upgraded', maConn.remoteAddr)
|
log('inbound connection %s upgraded', maConn.remoteAddr)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user