From e33c5a3aacdcd536176d87502bf5976d8764efcf Mon Sep 17 00:00:00 2001 From: Chad Weider Date: Mon, 6 Feb 2012 23:05:50 -0800 Subject: [PATCH] Extract file existance check. --- node/utils/Minify.js | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/node/utils/Minify.js b/node/utils/Minify.js index 20c7ac6b..883c327c 100644 --- a/node/utils/Minify.js +++ b/node/utils/Minify.js @@ -64,16 +64,11 @@ exports.minifyJS = function(req, res, next) res.setHeader('cache-control', 'max-age=' + server.maxAge); } - fs.stat(JS_DIR + filename, function (error, stats) { + fileExists(filename, function (error, exists) { if (error) { - if (error.code == "ENOENT") { - res.writeHead(404, {}); - res.end(); - } else { - res.writeHead(500, {}); - res.end(); - } - } else if (!stats.isFile()) { + res.writeHead(500, {}); + res.end(); + } else if (!exists) { res.writeHead(404, {}); res.end(); } else if (new Date(req.headers['if-modified-since']) >= date) { @@ -236,6 +231,20 @@ function getFile(filename, callback) { } } +function fileExists(filename, callback) { + fs.stat(JS_DIR + filename, function (error, stats) { + if (error) { + if (error.code == "ENOENT") { + callback(undefined, false); + } else { + callback(error, undefined); + } + } else { + callback(undefined, stats.isFile()); + } + }) +} + function tarCode(jsFiles, write, callback) { write('require.define({'); var initialEntry = true;