mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-25 17:42:22 +00:00
fix: support multiaddr7 addr filtering
License: MIT Signed-off-by: Jacob Heun <jacobheun@gmail.com>
This commit is contained in:
parent
49c7f33375
commit
5429c409db
@ -39,7 +39,8 @@
|
||||
"chai": "^4.2.0",
|
||||
"dirty-chai": "^2.0.1",
|
||||
"interface-transport": "~0.3.6",
|
||||
"pull-stream": "^3.6.14"
|
||||
"pull-stream": "^3.6.14",
|
||||
"multiaddr7": "npm:multiaddr@^7.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"class-is": "^1.1.0",
|
||||
|
@ -73,7 +73,9 @@ class TCP {
|
||||
return false
|
||||
}
|
||||
|
||||
if (includes(ma.protoNames(), 'ipfs')) {
|
||||
if (typeof ma.decapsulateCode === 'function') {
|
||||
ma = ma.decapsulateCode(421) // multiaddr 7
|
||||
} else if (includes(ma.protoNames(), 'ipfs')) {
|
||||
ma = ma.decapsulate('ipfs')
|
||||
}
|
||||
|
||||
|
@ -7,6 +7,7 @@ const expect = chai.expect
|
||||
chai.use(dirtyChai)
|
||||
const TCP = require('../src')
|
||||
const multiaddr = require('multiaddr')
|
||||
const multiaddr7 = require('multiaddr7')
|
||||
|
||||
describe('filter addrs', () => {
|
||||
const base = '/ip4/127.0.0.1'
|
||||
@ -27,11 +28,13 @@ describe('filter addrs', () => {
|
||||
const ma6 = multiaddr('/ip4/127.0.0.1/tcp/9090/p2p-circuit' + ipfs)
|
||||
const ma7 = multiaddr('/dns4/libp2p.io/tcp/9090')
|
||||
const ma8 = multiaddr('/dnsaddr/libp2p.io/tcp/9090')
|
||||
const ma9 = multiaddr7(base + '/tcp/9090/p2p/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw')
|
||||
|
||||
const valid = tcp.filter([ma1, ma2, ma3, ma4, ma5, ma6, ma7, ma8])
|
||||
expect(valid.length).to.equal(4)
|
||||
const valid = tcp.filter([ma1, ma2, ma3, ma4, ma5, ma6, ma7, ma8, ma9])
|
||||
expect(valid.length).to.equal(5)
|
||||
expect(valid[0]).to.deep.equal(ma1)
|
||||
expect(valid[1]).to.deep.equal(ma4)
|
||||
expect(valid[4]).to.deep.equal(ma9)
|
||||
})
|
||||
|
||||
it('filter a single addr for this transport', () => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user