Node.js http.server.close() Method

The http.server.close() is an inbuilt application programming interface of class Server within the HTTP module which is used to stop the server from accepting new connections.

Syntax:

const server.close([callback])

Parameters: This method accepts only one optional callback function argument as a parameter.

Return Value: This method returns nothing but a callback function.

Example 1: Filename-index.js

Javascript




// Node.js program to demonstrate the
// server.close() method
 
// Importing http module
const http = require('http');
 
// Setting up PORT
const PORT = process.env.PORT || 3000;
 
// Creating http Server
const httpServer = http.createServer(
    function (request, response) {
 
        // Getting the reference of the
        // underlying socket object
        // by using socket method
        const value = response.socket;
 
        // Display result by using end() method
        response.end("socket buffersize : "
            + value.bufferSize, 'utf8', () => {
                console.log("displaying the result...");
 
                // Closing server
                // by using close() method
                httpServer.close(() => {
                    console.log("server is closed")
                })
            });
    });
 
// Listening to http Server
httpServer.listen(PORT, () => {
    console.log("Server is running at port 3000...");
});


Run the index.js file using the following command:

node index.js

Output:

Server is running at port 3000...
displaying the result...
server is closed

Now run http://localhost:3000/ in the browser and you will see the following output on the screen:

socket buffersize : 0

Example 2: Filename-index.js

Javascript




// Node.js program to demonstrate the
// server.close() method
 
// Importing http module
const http = require('http');
 
// Request and response handler
const http2Handlers = (request, response) => {
 
    // Getting the reference of the
    // underlying socket object
    // by using socket method
    const value = response.socket;
 
    // Display result by using end() method
    response.end("socket local address : "
        + value.localAddress, 'utf8', () => {
            console.log("displaying the result...");
 
            // Closing server
            // by using close() method
            httpServer.close(() => {
                console.log("server is closed")
            })
        });
};
 
// Creating http Server
const httpServer = http.createServer(
    http2Handlers).listen(3000, () => {
        console.log("Server is running at port 3000...");
    });


Run the index.js file using the following command:

node index.js

Output:

Server is running at port 3000...
displaying the result...
server is closed

Now run http://localhost:3000/ in the browser and you will see the following output on the screen:

socket local address : ::1

Reference: https://nodejs.org/dist/latest-v12.x/docs/api/http.html#http_server_close_callback