Skip to content

Commit

Permalink
Refactor compressed file lookup
Browse files Browse the repository at this point in the history
  • Loading branch information
kanongil committed Dec 27, 2016
1 parent 8a037e1 commit e9f6899
Showing 1 changed file with 25 additions and 17 deletions.
42 changes: 25 additions & 17 deletions lib/file.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,11 @@ const Etag = require('./etag');
const internals = {};


internals.extensionMap = {
gzip: '.gz'
};


internals.schema = Joi.alternatives([
Joi.string(),
Joi.func(),
Expand Down Expand Up @@ -131,29 +136,32 @@ internals.prepare = function (response, callback) {

internals.marshal = function (response, next) {

if (!response.source.settings.lookupCompressed ||
!response.request.connection.settings.compression ||
response.request.info.acceptEncoding !== 'gzip') {
if (response.source.settings.lookupCompressed &&
response.request.connection.settings.compression) {

return internals.openStream(response, response.source.path, next);
}
const encoding = response.request.info.acceptEncoding;
const extension = internals.extensionMap[encoding];
if (extension) {
const gzFile = `${response.source.path}${extension}`;
return internals.openStat(gzFile, 'r', (err, fd, stat) => {

const gzFile = response.source.path + '.gz';
internals.openStat(gzFile, 'r', (err, fd, stat) => {
if (err) {
return internals.openStream(response, response.source.path, next);
}

if (err) {
return internals.openStream(response, response.source.path, next);
}
internals.close(response);
response.source.fd = fd;

internals.close(response);
response.source.fd = fd;
response.bytes(stat.size);
response.header('content-encoding', encoding);
response.vary('accept-encoding');

response.bytes(stat.size);
response.header('content-encoding', 'gzip');
response.vary('accept-encoding');
return internals.openStream(response, gzFile, next);
});
}
}

return internals.openStream(response, gzFile, next);
});
return internals.openStream(response, response.source.path, next);
};


Expand Down

0 comments on commit e9f6899

Please sign in to comment.