Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

native-dns-cache

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

native-dns-cache

DNS Caching Library

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
6.2K
decreased by-47.21%
Maintainers
1
Weekly downloads
 
Created
Source

Cache

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)

Methods:

  • 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

Methods:

  • 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('example.com', 'www', cb) you are really asking for www.example.com.
  • cb(err, results) -- results is an object of types and array of answers
  • { 1: [{address: '127.0.0.1', 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('example.com', 'www', {1: [{class:1, type:1, ttl:300, address:'127.0.0.1'}]}, 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.

Lookup

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

Given example.com previous added to a store:

  • www.example.com CNAME foo.bar.example.com.
  • *.example.com A 127.0.0.1

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

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

Keywords

FAQs

Package last updated on 25 Mar 2013

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc