Continue middleware chain after download.

This commit is contained in:
Richard Pringle 2016-08-16 16:07:48 -04:00
parent 635fc33823
commit 20d9aaadf2
2 changed files with 28 additions and 0 deletions

View File

@ -245,6 +245,9 @@ exports.download = function(provider, req, res, container, file, cb) {
reader.on('error', function(err) {
handleError(res, err);
});
reader.on('end', function() {
cb();
});
}
});
@ -258,6 +261,9 @@ exports.download = function(provider, req, res, container, file, cb) {
reader.on('error', function(err) {
handleError(res, err);
});
reader.on('end', function() {
cb();
});
}
}
};

View File

@ -249,6 +249,7 @@ describe('storage service', function () {
.get('/containers/album1/download/test.jpg')
.expect('Content-Type', 'image/jpeg')
.expect(200, function (err, res) {
if (err) done(err);
done();
});
});
@ -267,11 +268,32 @@ describe('storage service', function () {
.get('/containers/album1/download/test.jpg')
.expect('Content-Type', 'image/jpeg')
.expect(200, function(err, res) {
if (err) done(err);
assert(hookCalled, 'beforeRemote hook was not called');
done();
});
});
it('should run a function after a download is started by a client', function(done) {
var hookCalled = false;
var Container = app.models.Container;
Container.afterRemote('download', function(ctx, unused, cb) {
hookCalled = true;
cb();
});
request('http://localhost:' + app.get('port'))
.get('/containers/album1/download/test.jpg')
.expect('Content-Type', 'image/jpeg')
.expect(200, function(err, res) {
if (err) done(err);
assert(hookCalled, 'afterRemote hook was not called');
done();
});
});
it('should delete a file', function (done) {
request('http://localhost:' + app.get('port'))