Go to file
Alan Shaw 0bcf4c9e77
chore: update travis config
License: MIT
Signed-off-by: Alan Shaw <alan.shaw@protocol.ai>
2019-08-21 11:14:58 +01:00
.gitignore initial commit 2018-03-20 14:39:26 +00:00
.travis.yml chore: update travis config 2019-08-21 11:14:58 +01:00
index.js feat: assume HTTP when multiaddr ends with /tcp (#7) 2019-08-21 11:09:35 +01:00
LICENSE initial commit 2018-03-20 14:39:26 +00:00
package-lock.json chore: udate devDependencies 2019-08-21 11:12:11 +01:00
package.json chore: update repo URL 2019-08-21 11:13:53 +01:00
README.md chore: update repo URL 2019-08-21 11:13:53 +01:00
test.js feat: assume HTTP when multiaddr ends with /tcp (#7) 2019-08-21 11:09:35 +01:00

multiaddr-to-uri

Build Status dependencies Status JavaScript Style Guide

Convert a Multiaddr to a URI /dnsaddr/ipfs.io/http -> http://ipfs.io

Install

npm install multiaddr-to-uri

Usage

const toUri = require('multiaddr-to-uri')

console.log(toUri('/dnsaddr/protocol.ai/https'))
// -> https://protocol.ai

console.log(toUri('/ip4/127.0.0.1/tcp/8080'))
// -> http://127.0.0.1:8080

console.log(toUri('/ip4/127.0.0.1/tcp/8080', { assumeHttp: false }))
// -> tcp://127.0.0.1:8080

Note:

  • When /tcp is the last (terminating) protocol HTTP is assumed by default (implicit assumeHttp: true)
    • this means produced URIs will start with http:// instead of tcp://
    • passing { assumeHttp: false } disables this behavior
  • Might be lossy - e.g. a DNSv6 multiaddr
  • Can throw if the passed multiaddr:
    • is not a valid multiaddr
    • is not supported as a URI e.g. circuit

Contribute

Feel free to dive in! Open an issue or submit PRs.

License

MIT © Alan Shaw