docker-stream-cleanser
Advanced tools
Comparing version 0.0.5 to 0.0.6
16
app.js
@@ -7,10 +7,13 @@ | ||
module.exports = function(data) { | ||
if (typeof data === 'string') { | ||
if (!Buffer.isBuffer(data)) { | ||
data = new Buffer(data); | ||
} | ||
var result = ''; | ||
var header = null; | ||
var header = null, pointer = 0; | ||
if (!data || data.length < 8 || data[1] !== 0) { return data; } | ||
for (var pointer = 0; pointer < data.length;) { | ||
while(pointer < data.length) { | ||
header = data.slice(pointer, pointer += 8); | ||
if (header[1] - header[2] - header[3] !== 0) { | ||
break; | ||
} | ||
var size = header.readUInt32BE(4); | ||
@@ -26,8 +29,11 @@ var payload = data.slice(pointer, pointer += size); | ||
buildStream.on('data', function(data) { | ||
var header = null; | ||
var header = null, pointer = 0; | ||
if (!data || data.length < 8 || data[1] !== 0) { | ||
clientStream.write(data.toString()); | ||
} else { | ||
for (var pointer = 0; pointer < data.length;) { | ||
while(pointer < data.length) { | ||
header = data.slice(pointer, pointer += 8); | ||
if (header[1] - header[2] - header[3] !== 0) { | ||
break; | ||
} | ||
var size = header.readUInt32BE(4); | ||
@@ -34,0 +40,0 @@ var payload = data.slice(pointer, pointer += size); |
{ | ||
"name": "docker-stream-cleanser", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"main": "app.js", | ||
@@ -5,0 +5,0 @@ "devDependencies": { |
@@ -76,5 +76,3 @@ var Lab = require('lab'); | ||
buffer.write(data, 8); | ||
var lengthBytes = ("000" + data.length.toString(16)) | ||
lengthBytes = lengthBytes.slice(lengthBytes.length - 4, -1); | ||
buffer.write(lengthBytes, 4); | ||
buffer.writeInt32BE(data.length, 4); | ||
@@ -81,0 +79,0 @@ } else { |
Sorry, the diff of this file is not supported yet
112
54441