Binding to a random free port

To assign the server to a random free port, we simply set the port number to 0.

Let's copy the rest-server folder and call the new folder rest-server-random-port.

Now in the rest-server-random-port/index.js file, let's change our port reference near the top of the file to the following:

const port = process.env.PORT || 0 

Next we'll change our server.listen statement at the bottom of the file like so:

server.listen(port, host, () => console.log(JSON.stringify(server.address()))) 

We've added a third callback argument to server.listen. The server binding process is asynchronous, so we won't know which port we're bound to immediately. The callback is triggered once the server has bound to a port, then we can use the server.address method to get the port, host, and IP family (IPv4 or IPv6). We JSON.stringify the object returned from server.address; this way, a deployment orchestrator could easily take the data and parse it, passing it to some kind of discovery server.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.227.161.225