mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-24 19:42:28 +00:00
chore: use libp2p utils for ip port to multiaddr (#116)
This commit is contained in:
parent
524acbe372
commit
7c977d3cb1
@ -33,7 +33,7 @@
|
||||
"npm": ">=3.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"aegir": "^20.0.0",
|
||||
"aegir": "^20.3.1",
|
||||
"chai": "^4.2.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"interface-transport": "^0.7.0",
|
||||
@ -44,7 +44,7 @@
|
||||
"class-is": "^1.1.0",
|
||||
"debug": "^4.1.1",
|
||||
"err-code": "^2.0.0",
|
||||
"ip-address": "^6.1.0",
|
||||
"libp2p-utils": "~0.1.0",
|
||||
"mafmt": "^7.0.0",
|
||||
"multiaddr": "^7.1.0",
|
||||
"stream-to-it": "^0.1.1"
|
||||
|
@ -1,30 +0,0 @@
|
||||
'use strict'
|
||||
|
||||
const multiaddr = require('multiaddr')
|
||||
const { Address4, Address6 } = require('ip-address')
|
||||
|
||||
module.exports = (ip, port) => {
|
||||
if (typeof ip !== 'string') {
|
||||
throw new Error('invalid ip')
|
||||
}
|
||||
|
||||
port = parseInt(port)
|
||||
|
||||
if (isNaN(port)) {
|
||||
throw new Error('invalid port')
|
||||
}
|
||||
|
||||
if (new Address4(ip).isValid()) {
|
||||
return multiaddr(`/ip4/${ip}/tcp/${port}`)
|
||||
}
|
||||
|
||||
const ip6 = new Address6(ip)
|
||||
|
||||
if (ip6.isValid()) {
|
||||
return ip6.is4()
|
||||
? multiaddr(`/ip4/${ip6.to4().correctForm()}/tcp/${port}`)
|
||||
: multiaddr(`/ip6/${ip}/tcp/${port}`)
|
||||
}
|
||||
|
||||
throw new Error('invalid ip')
|
||||
}
|
@ -3,7 +3,7 @@
|
||||
const abortable = require('abortable-iterator')
|
||||
const log = require('debug')('libp2p:tcp:socket')
|
||||
const toIterable = require('stream-to-it')
|
||||
const toMultiaddr = require('./ip-port-to-multiaddr')
|
||||
const toMultiaddr = require('libp2p-utils/src/ip-port-to-multiaddr')
|
||||
const { CLOSE_TIMEOUT } = require('./constants')
|
||||
|
||||
// Convert a socket into a MultiaddrConnection
|
||||
|
@ -1,50 +0,0 @@
|
||||
/* eslint-env mocha */
|
||||
'use strict'
|
||||
|
||||
const chai = require('chai')
|
||||
const dirtyChai = require('dirty-chai')
|
||||
const expect = chai.expect
|
||||
chai.use(dirtyChai)
|
||||
const toMultiaddr = require('../src/ip-port-to-multiaddr')
|
||||
|
||||
describe('IP and port to Multiaddr', () => {
|
||||
it('creates multiaddr from valid IPv4 IP and port', () => {
|
||||
const ip = '127.0.0.1'
|
||||
const port = '9090'
|
||||
expect(toMultiaddr(ip, port).toString()).to.equal(`/ip4/${ip}/tcp/${port}`)
|
||||
})
|
||||
|
||||
it('creates multiaddr from valid IPv4 IP and numeric port', () => {
|
||||
const ip = '127.0.0.1'
|
||||
const port = 9090
|
||||
expect(toMultiaddr(ip, port).toString()).to.equal(`/ip4/${ip}/tcp/${port}`)
|
||||
})
|
||||
|
||||
it('creates multiaddr from valid IPv4 in IPv6 IP and port', () => {
|
||||
const ip = '0:0:0:0:0:0:101.45.75.219'
|
||||
const port = '9090'
|
||||
expect(toMultiaddr(ip, port).toString()).to.equal(`/ip4/101.45.75.219/tcp/${port}`)
|
||||
})
|
||||
|
||||
it('creates multiaddr from valid IPv6 IP and port', () => {
|
||||
const ip = '::1'
|
||||
const port = '9090'
|
||||
expect(toMultiaddr(ip, port).toString()).to.equal(`/ip6/${ip}/tcp/${port}`)
|
||||
})
|
||||
|
||||
it('throws for missing IP address', () => {
|
||||
expect(() => toMultiaddr()).to.throw('invalid ip')
|
||||
})
|
||||
|
||||
it('throws for invalid IP address', () => {
|
||||
const ip = 'aewmrn4awoew'
|
||||
const port = '234'
|
||||
expect(() => toMultiaddr(ip, port)).to.throw('invalid ip')
|
||||
})
|
||||
|
||||
it('throws for invalid port', () => {
|
||||
const ip = '127.0.0.1'
|
||||
const port = 'garbage'
|
||||
expect(() => toMultiaddr(ip, port)).to.throw('invalid port')
|
||||
})
|
||||
})
|
Loading…
x
Reference in New Issue
Block a user