mirror of
https://github.com/fluencelabs/js-libp2p-tcp
synced 2025-04-25 05:42:27 +00:00
feat: relay filtering
* feat: filter IPFS addrs correctly * feat: mafmt addrs now support /ipfs no need for ad-hoc filtering * feat: skip p2p-circuit addresses
This commit is contained in:
parent
7572279838
commit
11c4f451f4
@ -62,4 +62,4 @@
|
||||
"Richard Littauer <richard.littauer@gmail.com>",
|
||||
"Stephen Whitmore <stephen.whitmore@gmail.com>"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -67,10 +67,16 @@ class TCP {
|
||||
if (!Array.isArray(multiaddrs)) {
|
||||
multiaddrs = [multiaddrs]
|
||||
}
|
||||
|
||||
return multiaddrs.filter((ma) => {
|
||||
if (includes(ma.protoNames(), 'p2p-circuit')) {
|
||||
return false
|
||||
}
|
||||
|
||||
if (includes(ma.protoNames(), 'ipfs')) {
|
||||
ma = ma.decapsulate('ipfs')
|
||||
}
|
||||
|
||||
return mafmt.TCP.matches(ma)
|
||||
})
|
||||
}
|
||||
|
@ -273,8 +273,11 @@ describe('filter addrs', () => {
|
||||
const mh2 = multiaddr('/ip4/127.0.0.1/udp/9090')
|
||||
const mh3 = multiaddr('/ip4/127.0.0.1/tcp/9090/http')
|
||||
const mh4 = multiaddr('/ip4/127.0.0.1/tcp/9090/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw')
|
||||
const mh5 = multiaddr('/ip4/127.0.0.1/tcp/9090/http/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw')
|
||||
const mh6 = multiaddr('/ip4/127.0.0.1/tcp/9090/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw' +
|
||||
'/p2p-circuit/ipfs/Qmb6owHp6eaWArVbcJJbQSyifyJBttMMjYV76N2hMbf5Vw')
|
||||
|
||||
const valid = tcp.filter([mh1, mh2, mh3, mh4])
|
||||
const valid = tcp.filter([mh1, mh2, mh3, mh4, mh5, mh6])
|
||||
expect(valid.length).to.equal(2)
|
||||
expect(valid[0]).to.deep.equal(mh1)
|
||||
expect(valid[1]).to.deep.equal(mh4)
|
||||
@ -349,6 +352,7 @@ describe('valid Connection', () => {
|
||||
const conn = tcp.dial(ma)
|
||||
|
||||
pull(conn, pull.onEnd(endHandler))
|
||||
|
||||
function endHandler () {
|
||||
conn.getPeerInfo((err, peerInfo) => {
|
||||
expect(err).to.exist()
|
||||
@ -375,6 +379,7 @@ describe('valid Connection', () => {
|
||||
const conn = tcp.dial(ma)
|
||||
|
||||
pull(conn, pull.onEnd(endHandler))
|
||||
|
||||
function endHandler () {
|
||||
conn.setPeerInfo('arroz')
|
||||
conn.getPeerInfo((err, peerInfo) => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user