Open In App

Node.js http.ServerResponse.writableEnded Property

Last Updated : 06 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

The httpServerResponse.writableEnded is an inbuilt application programming interface of class Server Response within http module which is used to check if response.end() has been called or not.

Syntax:

response.writableEnded

Parameters: This method does not accept any parameter.

Return Value: This method returns true if and only if response.end() has been called otherwise false.

Example 1: Filename: index.js

Javascript




// Node.js program to demonstrate the
// response.writableEnded APi
 
// 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) {
 
        // Checking if the response.end has
        // been called or not by using
        // writableEnded API
        const value = response.writableEnded;
 
 
        // Display result
        // by using end() api
        response.end("response.end() has been called : "
            + value, 'utf8', () => {
                console.log("displaying the result...");
 
                // Closing the server
                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 below command:

node index.js

Console output:

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

Browser Output: Paste the local host address http://localhost:3000/. In the search bar of the browser.

Output:

response.end() has been called : false

Example 2: Filename: index.js

Javascript




// Node.js program to demonstrate the
// response.writableEnded APi
 
// Importing http module
const http = require('http');
 
// Request and response handler
const http2Handlers = (request, response) => {
 
    // Checking if the response.end has
    // been called or not by using
    // writableEnded API
    const value = response.writableEnded;
 
    if (value)
        response.write(
            "<h1>Response.end() has been called<h1>")
    else
        response.write(
            "<h1>Response.end() has been not called<h1>")
 
    // Ending the response
    response.end()
};
 
// 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 below command:

node index.js

Console Output:

Server is running at port 3000...

Browser Output: Paste the localhost address http://localhost:3000/. In the search bar of the browser.

Output:

Response.end() has been not called

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



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads