UNPKG

dd-trace

Version:

Datadog APM tracing client for JavaScript

45 lines (33 loc) 956 B
'use strict' const http = require('http') const https = require('https') const { storage } = require('../../../../datadog-core') const legacyStorage = storage('legacy') const keepAlive = true const maxSockets = 1 function createAgentClass (BaseAgent) { class CustomAgent extends BaseAgent { constructor () { super({ keepAlive, maxSockets }) } createConnection (...args) { return this._noop(() => super.createConnection(...args)) } keepSocketAlive (...args) { return this._noop(() => super.keepSocketAlive(...args)) } reuseSocket (...args) { return this._noop(() => super.reuseSocket(...args)) } _noop (callback) { return legacyStorage.run({ noop: true }, callback) } } return CustomAgent } const HttpAgent = createAgentClass(http.Agent) const HttpsAgent = createAgentClass(https.Agent) module.exports = { httpAgent: new HttpAgent(), httpsAgent: new HttpsAgent(), }