From 476db58c3f77f6c2f9f179ba2ffed940f573c051 Mon Sep 17 00:00:00 2001 From: Xavier Trochu Date: Tue, 17 Nov 2015 12:52:25 +0100 Subject: [PATCH] Add the opts parameter to getFileStream and implement Range requests --- .../filestore/app/coffee/AWSSDKPersistorManager.coffee | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/services/filestore/app/coffee/AWSSDKPersistorManager.coffee b/services/filestore/app/coffee/AWSSDKPersistorManager.coffee index e1474fa009..13ba460ae3 100644 --- a/services/filestore/app/coffee/AWSSDKPersistorManager.coffee +++ b/services/filestore/app/coffee/AWSSDKPersistorManager.coffee @@ -21,10 +21,15 @@ module.exports = logger.err err: err, Bucket: bucketName, Key: key, "error sending file stream to s3" callback err - getFileStream: (bucketName, key, callback = (err, res)->)-> + getFileStream: (bucketName, key, opts, callback = (err, res)->)-> logger.log bucketName:bucketName, key:key, "get file stream from s3" callback = _.once callback - request = s3.getObject(Bucket:bucketName, Key: key) + params = + Bucket:bucketName + Key: key + if opts.start? and opts.end? + params['Range'] = "bytes=#{opts.start}-#{opts.end}" + request = s3.getObject params stream = request.createReadStream() stream.on 'readable', () -> callback null, stream