mirror of
https://github.com/fluencelabs/js-libp2p-websockets
synced 2025-04-24 19:02:30 +00:00
feat: Split safe-socket function into its own file
This commit is contained in:
parent
fc1ea3f89c
commit
bf10e2d0e7
@ -5,6 +5,7 @@ const mafmt = require('mafmt')
|
||||
const withIs = require('class-is')
|
||||
const includes = require('lodash.includes')
|
||||
const Connection = require('interface-connection').Connection
|
||||
const safe = require('./safe-socket')
|
||||
|
||||
const maToUrl = require('./ma-to-url')
|
||||
const debug = require('debug')
|
||||
@ -30,7 +31,7 @@ class WebSockets {
|
||||
}
|
||||
})
|
||||
|
||||
const conn = new Connection(socket)
|
||||
const conn = new Connection(safe(socket))
|
||||
conn.getObservedAddrs = (cb) => cb(null, [ma])
|
||||
conn.close = (cb) => socket.close(cb)
|
||||
|
||||
|
@ -4,32 +4,10 @@ const Connection = require('interface-connection').Connection
|
||||
const includes = require('lodash.includes')
|
||||
const multiaddr = require('multiaddr')
|
||||
const os = require('os')
|
||||
const pull = require('pull-stream')
|
||||
const safe = require('./safe-socket')
|
||||
|
||||
function noop () {}
|
||||
|
||||
function handle (data) {
|
||||
if (Buffer.isBuffer(data)) return data
|
||||
try {
|
||||
return Buffer.from(data)
|
||||
} catch (e) {
|
||||
return Buffer.from('')
|
||||
}
|
||||
}
|
||||
|
||||
function safe (conn) {
|
||||
return {
|
||||
sink: pull(
|
||||
pull.map(handle),
|
||||
conn.sink
|
||||
),
|
||||
source: pull(
|
||||
conn.source,
|
||||
pull.map(handle)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const createServer = require('pull-ws/server') || noop
|
||||
|
||||
module.exports = (options, handler) => {
|
||||
|
26
src/safe-socket.js
Normal file
26
src/safe-socket.js
Normal file
@ -0,0 +1,26 @@
|
||||
'use strict'
|
||||
|
||||
const pull = require('pull-stream')
|
||||
function toBuffer (data) {
|
||||
if (Buffer.isBuffer(data)) return data
|
||||
try {
|
||||
return Buffer.from(data)
|
||||
} catch (e) {
|
||||
return Buffer.from('')
|
||||
}
|
||||
}
|
||||
|
||||
function safe (conn) {
|
||||
return {
|
||||
sink: pull(
|
||||
pull.map(toBuffer),
|
||||
conn.sink
|
||||
),
|
||||
source: pull(
|
||||
conn.source,
|
||||
pull.map(toBuffer)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = safe
|
Loading…
x
Reference in New Issue
Block a user