Allow dirs to downloaded as tarballs
This commit is contained in:
+8
-7
@@ -557,17 +557,18 @@ function downloadFile(req, res, next) {
|
||||
|
||||
if (typeof req.query.file !== 'string' || !req.query.file) return next(new HttpError(400, 'file query argument must be provided'));
|
||||
|
||||
apps.downloadFile(req.params.id, req.query.file, function (error, result, info) {
|
||||
apps.downloadFile(req.params.id, req.query.file, function (error, stream, info) {
|
||||
if (error && error.reason === AppsError.NOT_FOUND) return next(new HttpError(404, error.message));
|
||||
if (error) return next(new HttpError(500, error));
|
||||
|
||||
// TODO get real content type and size
|
||||
res.writeHead(200, {
|
||||
var headers = {
|
||||
'Content-Type': 'application/octet-stream',
|
||||
'Content-Disposition': 'attachment; filename="' + info.filename + '"',
|
||||
'Content-Length': info.size
|
||||
});
|
||||
'Content-Disposition': 'attachment; filename="' + info.filename + '"'
|
||||
};
|
||||
if (info.size) headers['Content-Length'] = info.size;
|
||||
|
||||
result.pipe(res);
|
||||
res.writeHead(200, headers);
|
||||
|
||||
stream.pipe(res);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user