async getServerAndPortNumber()

in vscode/qodana/src/core/auth/AuthorizingImpl.ts [111:128]


    async getServerAndPortNumber(): Promise<ServerAndPortNumber> {
        const server = http.createServer();
        server.listen(0, 'localhost');
        return new Promise((resolve, reject) => {
            server.once('listening', function () {
                try {
                    const address = server.address();
                    if (address) {
                        const portNumber = (address as net.AddressInfo).port;
                        resolve({ server, portNumber });
                    }
                } catch (error) {
                    telemetry.errorReceived('#freePortNumber exception');
                    reject(error);
                }
            });
        });
    }