Socket
Socket
Sign inDemoInstall

webrtc

Package Overview
Dependencies
Maintainers
4
Versions
51
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webrtc - npm Package Compare versions

Comparing version 1.13.1 to 1.14.0

blerg.js

11

package.json
{
"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": {

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc