agent.createConnection() Method in Node.js

The agent.createConnection() method is an interface provided by the Node.js http module. This method produces a socket/stream that can be used for HTTP requests. You can override this method in custom agents for greater flexibility. A socket/stream can be returned either directly from this function or by passing it to the callback.

Syntax

agent.createConnection(options, [callback])

Parameters

The above function accepts the following parameters:

  • options - These options contain the connection details for which the stream has to be created.

  • callback - This will receive the created socket connection from the agent.

Example 1: Basic Usage

This example demonstrates how to access the createConnection method from an HTTP agent:

// Node.js program to demonstrate the creation of socket
// using agent.createConnection() method

// Importing the http module
const http = require('http');

// Creating a new agent
var agent = new http.Agent({});

// Creating connection with the above agent
var conn = agent.createConnection;
console.log('Connection method successfully accessed!');

// Printing connection details
console.log('Connection type:', typeof conn);
console.log('Connection is function:', conn instanceof Function);
Connection method successfully accessed!
Connection type: function
Connection is function: true

Example 2: Custom Agent with Options

This example shows how to create agents with different configurations:

// Node.js program to demonstrate agent creation with options

// Importing the http module
const http = require('http');

// Creating a new agent
var agent = new http.Agent({});

// Defining options for alive agent
const aliveAgent = new http.Agent({
    keepAlive: true,
    maxSockets: 5,
});

// Creating connection references
var connection = agent.createConnection;
var aliveConnection = aliveAgent.createConnection;

// Printing the connection information
console.log('Default agent connection method available:', typeof connection === 'function');
console.log('Keep-alive agent connection method available:', typeof aliveConnection === 'function');
console.log('Both agents have createConnection:', connection === aliveConnection);
Default agent connection method available: true
Keep-alive agent connection method available: true
Both agents have createConnection: false

How It Works

The createConnection() method is internally used by the HTTP module to establish socket connections. When you make HTTP requests, this method is called behind the scenes to create the underlying network connection. Custom agents can override this method to implement connection pooling, custom socket options, or proxy support.

Key Points

  • This method is primarily used internally by the HTTP module

  • Custom agents can override this method for specialized connection handling

  • The method returns a socket that can be used for HTTP communication

  • Different agent configurations affect how connections are managed

Conclusion

The agent.createConnection() method provides low-level control over HTTP socket creation. While rarely used directly, it's essential for custom agent implementations and understanding HTTP connection management in Node.js.

Updated on: 2026-03-15T23:19:00+05:30

857 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements