null+****@clear*****
null+****@clear*****
2012年 8月 8日 (水) 16:44:22 JST
Yoji SHIDARA 2012-08-08 16:44:22 +0900 (Wed, 08 Aug 2012) New Revision: f6f57edba62417a3370d34bee29ef0bf4615a540 https://github.com/nroonga/norema/commit/f6f57edba62417a3370d34bee29ef0bf4615a540 Log: A little pretty error page Added files: views/error.jade Modified files: lib/server.js Modified: lib/server.js (+9 -3) =================================================================== --- lib/server.js 2012-08-08 16:26:58 +0900 (bea193d) +++ lib/server.js 2012-08-08 16:44:22 +0900 (f17a9f0) @@ -20,6 +20,12 @@ if (!searchNode) { // configuration app.set('views', __dirname + '/../views'); app.use(express.static(__dirname + '/../public')); +app.use(app.router); + +app.use(function(error, request, response, next){ + response.status(error.status || 500); + response.render('error.jade', {message: error.message, query: error.query}); +}); // helpers function search(query, callback) { @@ -28,6 +34,7 @@ function search(query, callback) { var request = http.get(url, function(response) { if (response.statusCode !== 200) { var error = new Error('Search server returned ' + response.statusCode); + error.query = query; return callback(error); } @@ -49,14 +56,13 @@ function search(query, callback) { }; // routings -app.get('/', function(request, response){ +app.get('/', function(request, response, next){ var query = request.query.query; if (query) { console.log('QUERY <' + query + '>'); search(query, function(error, results) { if (error) { - // FIXME - return response.send(500, 'ERROR' + error); + return next(error); } var records = results.hits.hit; Added: views/error.jade (+6 -0) 100644 =================================================================== --- /dev/null +++ views/error.jade 2012-08-08 16:44:22 +0900 (6cff1e4) @@ -0,0 +1,6 @@ +extends layout + +block content + .alert.alert-error + strong Error! + = message -------------- next part -------------- HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...Download