Skip to content

Commit 990ead7

Browse files
committed
Support Byte Range Requests
See parse-community/parse-server#6028
1 parent 90ba45c commit 990ead7

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

index.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,5 +144,26 @@ S3Adapter.prototype.getFileLocation = function(config, filename) {
144144
return (config.mount + '/files/' + config.applicationId + '/' + filename);
145145
}
146146

147+
S3Adapter.prototype.getFileStream = async function(filename, req, res) {
148+
const params = {
149+
Key: this._bucketPrefix + filename,
150+
Range: req.get('Range'),
151+
};
152+
await this.createBucket();
153+
this._s3Client.getObject(params, (error, data) => {
154+
if (error !== null || (data && !data.Body)) {
155+
return res.sendStatus(404);
156+
}
157+
res.writeHead(206, {
158+
'Accept-Ranges': data.AcceptRanges,
159+
'Content-Length': data.ContentLength,
160+
'Content-Range': data.ContentRange,
161+
'Content-Type': data.ContentType,
162+
});
163+
res.write(data.Body);
164+
res.end();
165+
});
166+
}
167+
147168
module.exports = S3Adapter;
148169
module.exports.default = S3Adapter;

0 commit comments

Comments
 (0)