%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); // This test checks that calling `net.connect` internally calls // `Socket.prototype.connect`. // // This is important for people who monkey-patch `Socket.prototype.connect` // since it's not possible to monkey-patch `net.connect` directly (as the core // `connect` function is called internally in Node instead of calling the // `exports.connect` function). // // Monkey-patching of `Socket.prototype.connect` is done by - among others - // most APM vendors, the async-listener module and the // continuation-local-storage module. // // Related: // - https://github.com/nodejs/node/pull/12342 // - https://github.com/nodejs/node/pull/12852 const net = require('net'); const Socket = net.Socket; // Monkey patch Socket.prototype.connect to check that it's called. const orig = Socket.prototype.connect; Socket.prototype.connect = common.mustCall(function() { return orig.apply(this, arguments); }); const server = net.createServer(); server.listen(common.mustCall(function() { const port = server.address().port; const client = net.connect({ port }, common.mustCall(function() { client.end(); })); client.on('end', common.mustCall(function() { server.close(); })); }));