diff --git a/lib/redis-rstream.js b/lib/redis-rstream.js index 34b4792..32016fa 100644 --- a/lib/redis-rstream.js +++ b/lib/redis-rstream.js @@ -14,7 +14,7 @@ function RedisRStream(client, key, options) { if (!(this instanceof RedisRStream)) return new RedisRStream(client, key, options); Readable.call(this, options); this._redisClient = client; - this._redisKey = new Buffer(key); // using Buffer key so redis returns buffers + this._redisKey = !!client.getrangeBuffer ? key : new Buffer(key); // using Buffer key so redis returns buffers this._redisChunkSize = (options && options.chunkSize) ? options.chunkSize : 64 * 1024; // default 64KB this._redisMaxPendingReads = (options && options.maxPendingReads) ? options.maxPendingReads : 2; this._redisOffset = (options && options.startOffset) ? options.startOffset : 0; @@ -23,7 +23,6 @@ function RedisRStream(client, key, options) { this._redisLength = 0; this._redisEnded = false; this._redisPendingReads = 0; - this._redisHasSuffixBufferAPI = !!client.getrangeBuffer } util.inherits(RedisRStream, Readable); @@ -70,7 +69,7 @@ RedisRStream.prototype._read = function _read(size) { return; } }; - if (this._redisHasSuffixBufferAPI) { + if (self._redisClient.getrangeBuffer) { self._redisClient.getrangeBuffer(self._redisKey, startOffset, endOffset, getrangeCallback) } else { self._redisClient.getrange(self._redisKey, startOffset, endOffset, getrangeCallback)