mirror of
https://github.com/fluencelabs/js-libp2p-websockets
synced 2025-04-26 12:32:33 +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",
|
"homepage": "https://github.com/diasdavid/js-libp2p-websockets#readme",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"lodash.contains": "^2.4.3",
|
||||||
"mafmt": "^2.1.0",
|
"mafmt": "^2.1.0",
|
||||||
"multiaddr": "^2.0.2",
|
"multiaddr": "^2.0.2",
|
||||||
"run-parallel": "^1.1.6",
|
"run-parallel": "^1.1.6",
|
||||||
|
11
src/index.js
11
src/index.js
@ -5,6 +5,7 @@ const log = debug('libp2p:websockets')
|
|||||||
const SWS = require('simple-websocket')
|
const SWS = require('simple-websocket')
|
||||||
const mafmt = require('mafmt')
|
const mafmt = require('mafmt')
|
||||||
const parallel = require('run-parallel')
|
const parallel = require('run-parallel')
|
||||||
|
const contains = require('lodash.contains')
|
||||||
|
|
||||||
exports = module.exports = WebSockets
|
exports = module.exports = WebSockets
|
||||||
|
|
||||||
@ -44,6 +45,10 @@ function WebSockets () {
|
|||||||
var count = 0
|
var count = 0
|
||||||
|
|
||||||
multiaddrs.forEach((m) => {
|
multiaddrs.forEach((m) => {
|
||||||
|
if (contains(m.protoNames(), 'ipfs')) {
|
||||||
|
m = m.decapsulate('ipfs')
|
||||||
|
}
|
||||||
|
|
||||||
const listener = SWS.createServer((conn) => {
|
const listener = SWS.createServer((conn) => {
|
||||||
conn.getObservedAddrs = () => {
|
conn.getObservedAddrs = () => {
|
||||||
return [] // TODO think if it makes sense for WebSockets
|
return [] // TODO think if it makes sense for WebSockets
|
||||||
@ -72,7 +77,13 @@ function WebSockets () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.filter = (multiaddrs) => {
|
this.filter = (multiaddrs) => {
|
||||||
|
if (!Array.isArray(multiaddrs)) {
|
||||||
|
multiaddrs = [multiaddrs]
|
||||||
|
}
|
||||||
return multiaddrs.filter((ma) => {
|
return multiaddrs.filter((ma) => {
|
||||||
|
if (contains(ma.protoNames(), 'ipfs')) {
|
||||||
|
ma = ma.decapsulate('ipfs')
|
||||||
|
}
|
||||||
return mafmt.WebSockets.matches(ma)
|
return mafmt.WebSockets.matches(ma)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user