This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

dat-link-resolve

2.3.1 • Public • Published

deprecated

More info on active projects and modules at dat-ecosystem.org


dat-link-resolve

resolve urls, links to a dat key using common methods

npm travis standard

Supports

  • Common dat key representations (dat://, etc.)
  • URLs with keys in them (datproject.org/6161616161616161616161616161616161616161616161616161616161616161)
  • hyperdrive-key or dat-key headers
  • Url to JSON http request that returns {key: <dat-key>}
  • Dat-DNS resolution (via dat-dns)

Install

npm install dat-link-resolve

Usage

var datResolve = require('dat-link-resolve')

datResolve(link, function (err, key) {
  console.log('found key', key)
})

API

datResolve(link, callback(err, key))

Link can be string or buffer.

Resolution order:

  1. Validate buffers or any strings with 64 character hashes in them via dat-encoding
  2. Check headers in http request
  3. Check JSON request response for key
  4. Dat-DNS resolution via dat-dns

Refering to dats

Trying to tighten up a bit dat-link-resolve (and its dependencies dat-dns and dat-decode). I am noticing a few inconsistencies as I'm writing dat-shell.

Ideally, I'd like to launch dat-shell like this:

$ dat-shell dat://40a7f6b6147ae695bcbcff432f684c7bb5291ea339c28c1755896cdeb80bd2f9+5/path4

and have it open the dat at version 5 and change directory to /path4.

Currently dat-shell google-fonts-kewitz.hashbase.io/fonts/ fails somewhere in dat-link-resolve.

Examples

Note that dat-link-resolve also supports other methods, such as detection of dat keys in paths and http headers.

Simplest

  • Plain: 40a7f6b6147ae695bcbcff432f684c7bb5291ea339c28c1755896cdeb80bd2f9
  • DNS: pfrazee.hashbase.io

With version

  • Plain: 40a7f6b6147ae695bcbcff432f684c7bb5291ea339c28c1755896cdeb80bd2f9+5
  • DNS: pfrazee.hashbase.io+5

With scheme

With path

  • https: 40a7f6b6147ae695bcbcff432f684c7bb5291ea339c28c1755896cdeb80bd2f9/path1
  • dat: pfrazee.hashbase.io/path2

Combinations

Notes

  1. browsers expect http and https schemes with traditional hostname, not a dat key
  2. browsers expect http and https schemes with traditional hostname, no +5 (version) support

Contributing

Contributions welcome! Please read the contributing guidelines first.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i dat-link-resolve

Weekly Downloads

57

Version

2.3.1

License

MIT

Unpacked Size

11.6 kB

Total Files

6

Last publish

Collaborators

  • cblgh
  • frando
  • jhand
  • juliangruber
  • leichtgewicht
  • ninabreznik
  • pfrazee
  • rangermauve
  • serapath
  • the-real-dk
  • zootella