Comparing version
{ | ||
"name": "webrtc", | ||
"version": "1.13.1", | ||
"version": "1.14.0", | ||
"keywords": [ | ||
@@ -15,7 +15,8 @@ "webrtc", | ||
"dependencies": { | ||
"filetransfer": "^2.0.0", | ||
"localmedia": "^1.0.2", | ||
"mockconsole": "0.0.1", | ||
"rtcpeerconnection": "^2.4.4", | ||
"webrtcsupport": "^1.2.4", | ||
"wildemitter": "1.x", | ||
"rtcpeerconnection": "^2.4.4", | ||
"localmedia": "^1.0.2", | ||
"mockconsole": "0.0.1" | ||
"wildemitter": "1.x" | ||
}, | ||
@@ -22,0 +23,0 @@ "devDependencies": { |
39
peer.js
@@ -5,3 +5,7 @@ var util = require('util'); | ||
var WildEmitter = require('wildemitter'); | ||
var FileTransfer = require('filetransfer'); | ||
// the inband-v1 protocol is sending metadata inband in a serialized JSON object | ||
// followed by the actual data. Receiver closes the datachannel upon completion | ||
var INBAND_FILETRANSFER_V1 = 'https://simplewebrtc.com/protocol/filetransfer#inband-v1'; | ||
@@ -71,2 +75,16 @@ function Peer(options) { | ||
this.on('channelOpen', function (channel) { | ||
if (channel.protocol === INBAND_FILETRANSFER_V1) { | ||
channel.onmessage = function (event) { | ||
var metadata = JSON.parse(event.data); | ||
var receiver = new FileTransfer.Receiver(); | ||
receiver.receive(metadata, channel); | ||
self.emit('fileTransfer', metadata, receiver); | ||
receiver.on('receivedFile', function (file, metadata) { | ||
receiver.channel.close(); | ||
}); | ||
}; | ||
} | ||
}); | ||
// proxy events to parent | ||
@@ -227,2 +245,23 @@ this.on('*', function () { | ||
Peer.prototype.sendFile = function (file) { | ||
var sender = new FileTransfer.Sender(); | ||
var dc = this.getDataChannel('filetransfer' + (new Date()).getTime(), { | ||
protocol: INBAND_FILETRANSFER_V1 | ||
}); | ||
// override onopen | ||
dc.onopen = function () { | ||
dc.send(JSON.stringify({ | ||
size: file.size, | ||
name: file.name | ||
})); | ||
sender.send(file, dc); | ||
}; | ||
// override onclose | ||
dc.onclose = function () { | ||
console.log('sender received transfer'); | ||
sender.emit('complete'); | ||
}; | ||
return sender; | ||
}; | ||
module.exports = Peer; |
Sorry, the diff of this file is too big to display
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
192142
16.4%13
18.18%5085
15.88%6
20%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added