Fast DNS resolution caching results for a while.
Ping an URL for getting the canonical URL and store the result into a cache, respecting a Time-to-Live (TTL) for the next lookup.
Suggested TTL could be:
- Very Short: 300 seconds (5 minutes).
- Short: 3600 seconds (1 hour).
- Long: 86400 seconds (24 hours).
- Insanity: 604800 seconds (7 days).
This library support any data storage provided by keyv
.
$ npm install @microlink/ping-url --save
const createPingUrl = require('@microlink/ping-url')
const cache = new Map()
const pingUrl = createPingUrl({ store: cache, ttl: 3600 })
;(async () => {
await pingUrl('https://example.com') // MISS, do the request
await pingUrl('https://example.com') // HIT, serve from cache!
})()
The payload returned by pingUrl
will be response
but without any stream object there.
See keyv#options
.
See @keyvhq/memoize
.
Type: object
Any option provided here will passed to got#options.
@microlink/ping-url © Microlink, released under the MIT License.
Authored and maintained by Kiko Beats with help from contributors.
microlink.io · GitHub microlinkhq · Twitter @microlinkhq