Notary Public Mystifier


    0.0.2 • Public • Published


    If you perform a query on an A or AAAA type and it doesn't exist, the cache will attempt to lookup a CNAME and then resolve that.

    The constructor takes an optional object with the following properties:

    • store -- implements the cache store model (optional, default MemoryStore)


    • lookup(question, cb) -- for a given question check the cache store for existence
    • store(packet) -- iterates over the resource records in a packet and sends them to the cache store
    • purge() -- clears the cache store of all entries

    MemoryStore / Cache store model

    MemoryStore(opts) -- An in memory store based on a js object


    • get(domain, key, cb)
    • domain is the holder under which keys will be applied, key is the subdomain that is being queried for. If you get('', 'www', cb) you are really asking for
    • cb(err, results) -- results is an object of types and array of answers
    • { 1: [{address: '', ttl: 300, type: 1, class: 1}] }
    • set(domain, key, data, cb)
    • domain is the parent under which this key is stored. key is the subdomain we are storing, data is an object of types with an array of answers.
    • set('', 'www', {1: [{class:1, type:1, ttl:300, address:''}]}, cb)
    • cb(err, data) -- cb merely returns the data that was passed.
    • delete(domain[, key[, type]], cb) -- delete all from a domain, a domain and key, or a domain a key and a type.


    Is a mechanism that given a store performs the common resolution pattern.

    Given previous added to a store:

    • CNAME
    • * A

    A Lookup(store, '', {name:'', type:1}, cb) will resolve www to the CNAME and then search for which will return no results, and then search for * which will also return no results, and ultimately searches for * which will return the desired record.

    Callback will be called with (err, results) where results is an array suitable for use in Packet.answer




    npm i native-dns-cache

    DownloadsWeekly Downloads






    Last publish


    • tjfontaine