Spaces:
Sleeping
Sleeping
Download node_modules/@npmcli/agent/lib/dns.js from omnitool-ai/omnitool_on_hf: direct link, hf CLI and curl.
- Browser
- Download file 1.25 kB
-
https://huggingface.co/spaces/omnitool-ai/omnitool_on_hf/resolve/main/node_modules/%40npmcli/agent/lib/dns.js
- Command line
-
hf download hf://spaces/omnitool-ai/omnitool_on_hf/node_modules/@npmcli/agent/lib/dns.js
-
curl -L -o dns.js https://huggingface.co/spaces/omnitool-ai/omnitool_on_hf/resolve/main/node_modules/%40npmcli/agent/lib/dns.js
1.25 kB
| const { LRUCache } = require('lru-cache') | |
| const dns = require('dns') | |
| // this is a factory so that each request can have its own opts (i.e. ttl) | |
| // while still sharing the cache across all requests | |
| const cache = new LRUCache({ max: 50 }) | |
| const getOptions = ({ | |
| family = 0, | |
| hints = dns.ADDRCONFIG, | |
| all = false, | |
| verbatim = undefined, | |
| ttl = 5 * 60 * 1000, | |
| lookup = dns.lookup, | |
| }) => ({ | |
| // hints and lookup are returned since both are top level properties to (net|tls).connect | |
| hints, | |
| lookup: (hostname, ...args) => { | |
| const callback = args.pop() // callback is always last arg | |
| const lookupOptions = args[0] ?? {} | |
| const options = { | |
| family, | |
| hints, | |
| all, | |
| verbatim, | |
| ...(typeof lookupOptions === 'number' ? { family: lookupOptions } : lookupOptions), | |
| } | |
| const key = JSON.stringify({ hostname, ...options }) | |
| if (cache.has(key)) { | |
| const cached = cache.get(key) | |
| return process.nextTick(callback, null, ...cached) | |
| } | |
| lookup(hostname, options, (err, ...result) => { | |
| if (err) { | |
| return callback(err) | |
| } | |
| cache.set(key, result, { ttl }) | |
| return callback(null, ...result) | |
| }) | |
| }, | |
| }) | |
| module.exports = { | |
| cache, | |
| getOptions, | |
| } | |