%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'); const assert = require('assert'); const net = require('net'); function check(addressType, cb) { const server = net.createServer(function(client) { client.end(); server.close(); cb && cb(); }); const address = addressType === 4 ? common.localhostIPv4 : '::1'; server.listen(0, address, common.mustCall(function() { net.connect({ port: this.address().port, host: 'localhost', family: addressType, lookup: lookup }).on('lookup', common.mustCall(function(err, ip, type) { assert.strictEqual(err, null); assert.strictEqual(address, ip); assert.strictEqual(type, addressType); })); })); function lookup(host, dnsopts, cb) { dnsopts.family = addressType; if (addressType === 4) { process.nextTick(function() { cb(null, common.localhostIPv4, 4); }); } else { process.nextTick(function() { cb(null, '::1', 6); }); } } } check(4, function() { common.hasIPv6 && check(6); }); // Verify that bad lookup() IPs are handled. { net.connect({ host: 'localhost', port: 80, lookup(host, dnsopts, cb) { cb(null, undefined, 4); } }).on('error', common.expectsError({ code: 'ERR_INVALID_IP_ADDRESS' })); }