(host, hostname)
| 13 | const ipv6 = Server.findIp("v6", false); |
| 14 | |
| 15 | async function getAddress(host, hostname) { |
| 16 | let address; |
| 17 | |
| 18 | if ( |
| 19 | typeof host === "undefined" || |
| 20 | (typeof host === "string" && (host === "<not-specified>" || host === "::")) |
| 21 | ) { |
| 22 | address = "::"; |
| 23 | } else if (host === "0.0.0.0") { |
| 24 | address = "0.0.0.0"; |
| 25 | } else if (host === "::1") { |
| 26 | address = "::1"; |
| 27 | } else if (host === "localhost") { |
| 28 | // It can be `127.0.0.1` or `::1` on different OS |
| 29 | const server = http.createServer((req, res) => { |
| 30 | res.statusCode = 200; |
| 31 | res.setHeader("Content-Type", "text/plain"); |
| 32 | res.end("Hello World\n"); |
| 33 | }); |
| 34 | |
| 35 | await new Promise((resolve) => { |
| 36 | server.listen({ host: "localhost", port: 23100 }, resolve); |
| 37 | }); |
| 38 | |
| 39 | address = server.address().address; |
| 40 | |
| 41 | await new Promise((resolve, reject) => { |
| 42 | server.close((err) => { |
| 43 | if (err) { |
| 44 | reject(err); |
| 45 | return; |
| 46 | } |
| 47 | |
| 48 | resolve(); |
| 49 | }); |
| 50 | }); |
| 51 | } else if (host === "local-ipv6") { |
| 52 | address = "::"; |
| 53 | } else { |
| 54 | address = hostname; |
| 55 | } |
| 56 | |
| 57 | return { address }; |
| 58 | } |
| 59 | |
| 60 | describe("host", () => { |
| 61 | const hosts = [ |
no test coverage detected
searching dependent graphs…