Respond with the correct error code and headers

master
Misha Wolfson 2016-12-14 18:04:28 -05:00
parent d77b64f9b4
commit 923d1fc723
2 changed files with 13 additions and 11 deletions

View File

@ -22,7 +22,7 @@ if (config.get('bunyan') || config.get(env + ':use_bunyan')) {
output = bunyan.createLogger(settings);
} else {
output = console;
console.debug = console.log.bind(console);
output.debug = console.log.bind(console);
}
module.exports = output;

View File

@ -12,7 +12,7 @@ var logger = require('./logger');
var env = config.get('NODE_ENV');
var spserver = function(settings) {
var spserver = function (settings) {
if (!settings) {
settings = config.get();
}
@ -28,7 +28,7 @@ var spserver = function(settings) {
logger.debug('[REQ] GET:', req.url);
var startTime = new Date().getTime();
var done = function() {
var done = function () {
var requestTime = new Date().getTime() - startTime;
logger.debug('[RES] GET:', req.url, '(' + res.statusCode + ') took', requestTime, 'ms');
};
@ -36,16 +36,18 @@ var spserver = function(settings) {
res.addListener('finish', done);
res.addListener('close', done);
//return base(req, res);
req.addListener('end', function () {
fileServer.serve(req, res, function(e) {
if (!e) return;
if (e && e.status === 404 && base) {
return base(req, res);
fileServer.serve(req, res, function (err) {
if (err) {
if (err.status === 404 && base) {
return base(req, res);
} else {
logger.error(err);
res.writeHead(err.status, err.headers);
res.end();
}
}
logger.error(e);
res.writeHead(404);
res.end();
});
}).resume();
});