| 125 | } |
| 126 | |
| 127 | async function getFreePort() { |
| 128 | return new Promise((resolvePromise, rejectPromise) => { |
| 129 | const server = net.createServer() |
| 130 | server.listen(0, '127.0.0.1', () => { |
| 131 | const address = server.address() |
| 132 | server.close(() => { |
| 133 | if (address && typeof address === 'object') { |
| 134 | resolvePromise(address.port) |
| 135 | return |
| 136 | } |
| 137 | rejectPromise(new Error('Could not allocate a TCP port')) |
| 138 | }) |
| 139 | }) |
| 140 | server.on('error', rejectPromise) |
| 141 | }) |
| 142 | } |
| 143 | |
| 144 | function httpGetJson(url) { |
| 145 | return new Promise((resolvePromise, rejectPromise) => { |