HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall_forms/buyercall/node_modules/karma/lib/utils/net-utils.js
'use strict'

const net = require('net')

const NetUtils = {
  bindAvailablePort (port, listenAddress) {
    return new Promise((resolve, reject) => {
      const server = net.createServer()

      server
        .on('error', (err) => {
          server.close()
          if (err.code === 'EADDRINUSE' || err.code === 'EACCES') {
            server.listen(++port, listenAddress)
          } else {
            reject(new Error(`Failed to bind ${port}: ` + (err.stack || err)))
          }
        })
        .on('listening', () => {
          resolve(server)
        })
        .listen(port, listenAddress)
    })
  }
}

module.exports = NetUtils