mirror of
https://github.com/fluencelabs/js-libp2p-websockets
synced 2025-03-16 13:50:55 +00:00
support for addrs with ipfs in the end as well
This commit is contained in:
parent
715682b173
commit
5eda5c447b
@ -34,6 +34,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/diasdavid/js-libp2p-websockets#readme",
|
||||
"dependencies": {
|
||||
"lodash.contains": "^2.4.3",
|
||||
"mafmt": "^2.1.0",
|
||||
"multiaddr": "^2.0.2",
|
||||
"run-parallel": "^1.1.6",
|
||||
@ -52,4 +53,4 @@
|
||||
"Francisco Baio Dias <xicombd@gmail.com>",
|
||||
"Friedel Ziegelmayer <dignifiedquire@gmail.com>"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
11
src/index.js
11
src/index.js
@ -5,6 +5,7 @@ const log = debug('libp2p:websockets')
|
||||
const SWS = require('simple-websocket')
|
||||
const mafmt = require('mafmt')
|
||||
const parallel = require('run-parallel')
|
||||
const contains = require('lodash.contains')
|
||||
|
||||
exports = module.exports = WebSockets
|
||||
|
||||
@ -44,6 +45,10 @@ function WebSockets () {
|
||||
var count = 0
|
||||
|
||||
multiaddrs.forEach((m) => {
|
||||
if (contains(m.protoNames(), 'ipfs')) {
|
||||
m = m.decapsulate('ipfs')
|
||||
}
|
||||
|
||||
const listener = SWS.createServer((conn) => {
|
||||
conn.getObservedAddrs = () => {
|
||||
return [] // TODO think if it makes sense for WebSockets
|
||||
@ -72,7 +77,13 @@ function WebSockets () {
|
||||
}
|
||||
|
||||
this.filter = (multiaddrs) => {
|
||||
if (!Array.isArray(multiaddrs)) {
|
||||
multiaddrs = [multiaddrs]
|
||||
}
|
||||
return multiaddrs.filter((ma) => {
|
||||
if (contains(ma.protoNames(), 'ipfs')) {
|
||||
ma = ma.decapsulate('ipfs')
|
||||
}
|
||||
return mafmt.WebSockets.matches(ma)
|
||||
})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user