Socket
Socket
Sign inDemoInstall

engine.io-parser

Package Overview
Dependencies
Maintainers
1
Versions
52
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

engine.io-parser - npm Package Compare versions

Comparing version 1.0.0 to 1.0.1

.zuul.yml

7

History.md
1.0.1 / 2014-03-06
==================
* implement `blob` module to simplify code
* bump `arraybuffer.slice`
* style fixes
1.0.0 / 2014-02-18

@@ -3,0 +10,0 @@ ==================

126

lib/browser.js

@@ -11,9 +11,2 @@ /**

/**
* A utility for doing slicing, even when ArrayBuffer.prototype.slice doesn't
* exist
*
* @api private
*/
/**
* Current protocol version.

@@ -47,32 +40,8 @@ */

/**
* Create a blob builder even when vendor prefixes exist
* Create a blob api even for blob builder when vendor prefixes exist
*/
var BlobBuilder = global.BlobBuilder
|| global.WebKitBlobBuilder
|| global.MSBlobBuilder
|| global.MozBlobBuilder;
var Blob = require('blob');
/**
* Check if Blob constructor is supported
*/
var blobSupported = (function() {
try {
var b = new Blob(['hi']);
return b.size == 2;
} catch(e) {
return false;
}
})();
/**
* Check if BlobBuilder is supported
*/
var blobBuilderSupported = !!BlobBuilder
&& !!BlobBuilder.prototype.append
&& !!BlobBuilder.prototype.getBlob;
/**
* Encodes a packet.

@@ -101,7 +70,7 @@ *

? undefined
: packet.data.buffer || packet.data;
: packet.data.buffer || packet.data;
if (global.ArrayBuffer && data instanceof ArrayBuffer) {
return encodeArrayBuffer(packet, supportsBinary, callback);
} else if (blobSupported && data instanceof Blob) {
} else if (Blob && data instanceof Blob) {
return encodeBlob(packet, supportsBinary, callback);

@@ -141,3 +110,3 @@ }

return callback(resultBuffer.buffer);
};
}

@@ -155,3 +124,3 @@ function encodeBlobAsArrayBuffer(packet, supportsBinary, callback) {

return fr.readAsArrayBuffer(packet.data);
};
}

@@ -165,14 +134,6 @@ function encodeBlob(packet, supportsBinary, callback) {

length[0] = packets[packet.type];
var blob;
if (blobSupported) {
blob = new Blob([length.buffer, packet.data]);
} else {
var bb = new BlobBuilder();
bb.append(length);
bb.append(packet.data);
blob = bb.getBlob();
}
var blob = new Blob([length.buffer, packet.data]);
return callback(blob);
};
}

@@ -188,3 +149,3 @@ /**

var message = 'b' + exports.packets[packet.type];
if (blobSupported && packet.data instanceof Blob) {
if (Blob && packet.data instanceof Blob) {
var fr = new FileReader();

@@ -223,3 +184,3 @@ fr.onload = function() {

// String data
if (typeof data == 'string' || data === undefined) {
if (typeof data == 'string' || data === undefined) {
if (data.charAt(0) == 'b') {

@@ -241,18 +202,14 @@ return exports.decodeBase64Packet(data.substr(1), binaryType);

}
var asArray = new Uint8Array(data);
var type = asArray[0];
var rest = sliceBuffer(data, 1);
if (blobSupported && binaryType === 'blob') {
if (Blob && binaryType === 'blob') {
rest = new Blob([rest]);
} else if (blobBuilderSupported && binaryType === 'blob') {
var bb = new BlobBuilder();
bb.append(rest);
rest = bb.getBlob();
}
return { type: packetslist[type], data: rest };
return { type: packetslist[type], data: rest };
};
/**
* Decodes a packet encoded in a base64 string
* Decodes a packet encoded in a base64 string
*

@@ -266,3 +223,3 @@ * @param {String} base64 encoded message

if (!global.ArrayBuffer) {
return { type: type, data: { base64: true, data: msg.substr(1) } };
return { type: type, data: { base64: true, data: msg.substr(1) } };
}

@@ -272,8 +229,4 @@

if (binaryType === 'blob' && blobSupported) {
if (binaryType === 'blob' && Blob) {
data = new Blob([data]);
} else if (binaryType === 'blob' && blobBuilderSupported) {
var bb = new BlobBuilder();
bb.append(data);
data = bb.getBlob();
}

@@ -307,3 +260,3 @@

if (supportsBinary) {
if (blobSupported || blobBuilderSupported) {
if (Blob) {
return exports.encodePayloadAsBlob(packets, callback);

@@ -318,5 +271,5 @@ }

function setLengthHeader(message) {
function setLengthHeader(message) {
return message.length + ':' + message;
};
}

@@ -327,3 +280,3 @@ function encodeOne(packet, doneCallback) {

});
};
}

@@ -352,4 +305,4 @@ map(packets, encodeOne, function(err, results) {

eachWithIndex(i, ary[i], next);
};
};
}
}

@@ -365,3 +318,3 @@ /*

exports.decodePayload = function (data, binaryType, callback) {
if (!(typeof data == 'string')) {
if (typeof data != 'string') {
return exports.decodePayloadAsBinary(data, binaryType, callback);

@@ -386,3 +339,3 @@ }

var chr = data.charAt(i);
if (':' != chr) {

@@ -451,3 +404,3 @@ length += chr;

});
};
}

@@ -462,3 +415,3 @@ map(packets, encodeOne, function(err, encodedPackets) {

}
return acc + (new String(len)).length + len + 2; // string/binary identifier + separator = 2
return acc + len.toString().length + len + 2; // string/binary identifier + separator = 2
}, 0);

@@ -486,3 +439,3 @@

var lenStr = new String(ab.byteLength);
var lenStr = ab.byteLength.toString();
for (var i = 0; i < lenStr.length; i++) {

@@ -525,3 +478,3 @@ resultArray[bufferIndex++] = parseInt(lenStr[i]);

var lenStr = new String(len);
var lenStr = len.toString();
var lengthAry = new Uint8Array(lenStr.length + 1);

@@ -533,26 +486,11 @@ for (var i = 0; i < lenStr.length; i++) {

if (blobSupported) {
if (Blob) {
var blob = new Blob([binaryIdentifier.buffer, lengthAry.buffer, encoded]);
doneCallback(null, blob);
} else {
var bb = new BlobBuilder();
bb.append(binaryIdentifier);
bb.append(lengthAry.buffer);
bb.append(encoded);
var blob = bb.getBlob();
doneCallback(null, blob);
}
});
};
}
map(packets, encodeOne, function(err, results) {
if (blobSupported) {
return callback(new Blob(results));
}
var bb = new BlobBuilder();
results.forEach(function(encoding) {
bb.append(encoding);
});
return callback(bb.getBlob());
return callback(new Blob(results));
});

@@ -581,3 +519,3 @@ };

var tailArray = new Uint8Array(bufferTail);
var isString = tailArray[0] == 0;
var isString = tailArray[0] === 0;
var msgLength = '';

@@ -584,0 +522,0 @@ for (var i = 1; ; i++) {

@@ -59,3 +59,3 @@ /**

? undefined
: packet.data.buffer || packet.data;
: packet.data.buffer || packet.data;

@@ -97,3 +97,3 @@ if (Buffer.isBuffer(data)) {

? undefined
: packet.data.buffer || packet.data;
: packet.data.buffer || packet.data;

@@ -145,3 +145,3 @@ if (!supportsBinary) {

// String data
if (typeof data == 'string' || data === undefined) {
if (typeof data == 'string' || data === undefined) {
if (data.charAt(0) == 'b') {

@@ -171,3 +171,3 @@ return exports.decodeBase64Packet(data.substr(1), binaryType);

}
return { type: packetslist[type], data: intArray.buffer };
return { type: packetslist[type], data: intArray.buffer };
}

@@ -228,6 +228,6 @@ var type = data[0];

function setLengthHeader(message) {
function setLengthHeader(message) {
return message.length + ':' + message;
}
function encodeOne(packet, doneCallback) {

@@ -293,3 +293,3 @@ exports.encodePacket(packet, supportsBinary, function(message) {

var chr = data.charAt(i);
if (':' != chr) {

@@ -399,6 +399,6 @@ length += chr;

var buffers = [];
while (bufferTail.length > 0) {
var strLen = '';
var isString = bufferTail[0] == 0;
var isString = bufferTail[0] === 0;
for (var i = 1; ; i++) {

@@ -405,0 +405,0 @@ if (bufferTail[i] == 255) break;

{
"name": "engine.io-parser",
"description": "Parser for the client for the realtime Engine",
"version": "1.0.0",
"version": "1.0.1",
"homepage": "https://github.com/LearnBoost/engine.io-protocol",
"dependencies": {},
"devDependencies": {
"mocha": "*",
"expect.js": "*"
"expect.js": "*",
"zuul": "1.5.4"
},

@@ -14,4 +14,8 @@ "dependencies": {

"after": "0.8.1",
"arraybuffer.slice": "0.0.5"
"arraybuffer.slice": "0.0.6",
"blob": "0.0.2"
},
"scripts": {
"test": "make test"
},
"component": {

@@ -25,5 +29,5 @@ "scripts": {

"type": "git",
"url": "git@github.com:LearnBoost/engine.io-protocol.git"
"url": "git@github.com:LearnBoost/engine.io-parser.git"
},
"browser": "./lib/browser.js"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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