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