fix: catch inbound upgrade errors (#96)

License: MIT
Signed-off-by: Jacob Heun <jacobheun@gmail.com>
This commit is contained in:
Jacob Heun 2019-10-30 13:35:26 +01:00 committed by GitHub
parent b5496fbc21
commit 5b59fc3a47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4,8 +4,9 @@ const EventEmitter = require('events')
const os = require('os') const os = require('os')
const multiaddr = require('multiaddr') const multiaddr = require('multiaddr')
const { createServer } = require('it-ws') const { createServer } = require('it-ws')
const debug = require('debug')
const log = require('debug')('libp2p:websockets:listener') const log = debug('libp2p:websockets:listener')
log.error = debug('libp2p:websockets:listener:error')
const toConnection = require('./socket-to-conn') const toConnection = require('./socket-to-conn')
@ -17,7 +18,14 @@ module.exports = ({ handler, upgrader }, options = {}) => {
log('new inbound connection %s', maConn.remoteAddr) log('new inbound connection %s', maConn.remoteAddr)
const conn = await upgrader.upgradeInbound(maConn) let conn
try {
conn = await upgrader.upgradeInbound(maConn)
} catch (err) {
log.error('inbound connection failed to upgrade', err)
return maConn.close()
}
log('inbound connection %s upgraded', maConn.remoteAddr) log('inbound connection %s upgraded', maConn.remoteAddr)
trackConn(server, maConn) trackConn(server, maConn)