diff --git a/lib/parser/javascript.js b/lib/parser/javascript.js index 2fe310b8da..1c1c41064c 100644 --- a/lib/parser/javascript.js +++ b/lib/parser/javascript.js @@ -194,7 +194,19 @@ FasterReplyParser.prototype.append = function(newBuffer) { } // very large packet - this._buffer = Buffer.concat([this._buffer.slice(this._offset), newBuffer]); + // check for concat, if we have it, use it + if (Buffer.concat !== undefined) { + this._buffer = Buffer.concat([this._buffer.slice(this._offset), newBuffer]); + } else { + var remaining = this._bytesRemaining(); + var newLength = remaining + newBuffer.length; + var tmpBuffer = new Buffer(newLength); + + this._buffer.copy(tmpBuffer, 0, this._offset); + newBuffer.copy(tmpBuffer, remaining, 0); + + this._buffer = tmpBuffer; + } this._offset = 0; };