deno.land / std@0.166.0 / node / _tools / test / parallel / test-net-dns-custom-lookup.js

test-net-dns-custom-lookup.js
نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// deno-fmt-ignore-file// deno-lint-ignore-file
// Copyright Joyent and Node contributors. All rights reserved. MIT license.// Taken from Node 18.12.0// This file is automatically generated by "node/_tools/setup.ts". Do not modify this file manually
'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' }));}
std

Version Info

Tagged at
a year ago