Node.js http.ClientRequest.socket Property
The http.ClientRequest.socket is an inbuilt application programming interface of class ClientRequest within HTTP module which is used to get a Proxy object that acts as a net.Socket.
Syntax:
request.socket
Parameters: This property does not accept any argument as a parameter.
Return Value: This property returns a Proxy object that acts as a net.Socket.
Example 1: Filename: index.js
// Node.js program to demonstrate the
// request.socket property
// 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 proxy socket
// by using request.socket
const value = request.socket;
// Display result
response.end(value.remoteFamily, 'utf8', () => {
console.log("Writing remotefamily of socket...");
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...
Now open your browser and go to http://localhost:3000/, you will see the following output on your screen:
IPv6
Now close the browser and you will see the following output on your terminal screen:
Server is running at port 3000... Writing remotefamily of socket... server is closed
Example 2: Filename: index.js
// Node.js program to demonstrate the
// request.socket property
// Importing http module
const http = require('http');
// Request and response handler
const http2Handlers = (request, response) => {
// Getting proxy socket
// by using request.socket method
const value = request.socket;
// Display result
response.end(value.remoteFamily, 'utf8', () => {
console.log("Writing remotefamily of socket...");
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...
Now open your browser and go to http://localhost:3000/, you will see the following output on your screen:
IPv6
Now close the browser and you will see the following output on your terminal screen:
Server is running at port 3000... Writing remotefamily of socket... server is closed
Reference: https://nodejs.org/dist/latest-v12.x/docs/api/http.html#http_request_socket