diff --git a/lib/Parser.js b/lib/Parser.js index 7efa3ab..fe746b1 100644 --- a/lib/Parser.js +++ b/lib/Parser.js @@ -55,17 +55,14 @@ inherits(Parser, EventEmitter); Parser.prototype.setStream = function(stream) { if (/^v0\.8\./.test(process.version)) { - var newStream = new ReadableStream(), - wrapped = newStream.wrap(stream); - // as of now, 07/02/2013, the readable-stream module is behind in updates - // and has different behavior for the return value of wrap() compared to - // node v0.10+, so we check for that here ... - if (wrapped) - stream = wrapped; - else - stream = newStream; - } - this._stream = stream; + this._stream = (new ReadableStream()).wrap(stream); + + // since Readable.wrap() proxies events, we need to remove at least the + // proxied 'error' event since this can cause problems and Parser doesn't + // care about such events + stream._events.error.pop(); + } else + this._stream = stream; }; Parser.prototype._tryread = function(n) { diff --git a/package.json b/package.json index 4a54662..be7d229 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "dependencies": { "utf7": "1.0.0", "iconv-lite": "0.2.11", - "readable-stream": "1.0.2" + "readable-stream": "1.0.15" }, "scripts": { "test": "node test/test.js"