diff options
| author | Jules Laplace <jules@okfoc.us> | 2017-03-16 15:50:10 +0100 |
|---|---|---|
| committer | Jules Laplace <jules@okfoc.us> | 2017-03-16 15:50:10 +0100 |
| commit | 8e05164678d302700c794feecd50d83357f7719d (patch) | |
| tree | ed5b167c75a2c4fdb5dcd8c409094b607698a0d5 /src/middleware | |
| parent | b8bfbbe14bdb72e4feccb4652c48f4cdb2a5e199 (diff) | |
feathers stuff
Diffstat (limited to 'src/middleware')
| -rw-r--r-- | src/middleware/index.js | 16 | ||||
| -rw-r--r-- | src/middleware/logger.js | 24 | ||||
| -rw-r--r-- | src/middleware/not-found-handler.js | 9 |
3 files changed, 49 insertions, 0 deletions
diff --git a/src/middleware/index.js b/src/middleware/index.js new file mode 100644 index 0000000..6d655fa --- /dev/null +++ b/src/middleware/index.js @@ -0,0 +1,16 @@ +'use strict'; + +const handler = require('feathers-errors/handler'); +const notFound = require('./not-found-handler'); +const logger = require('./logger'); + +module.exports = function() { + // Add your custom middleware here. Remember, that + // just like Express the order matters, so error + // handling middleware should go last. + const app = this; + + app.use(notFound()); + app.use(logger(app)); + app.use(handler()); +}; diff --git a/src/middleware/logger.js b/src/middleware/logger.js new file mode 100644 index 0000000..22ea137 --- /dev/null +++ b/src/middleware/logger.js @@ -0,0 +1,24 @@ +'use strict'; + +const winston = require('winston'); + +module.exports = function(app) { + // Add a logger to our app object for convenience + app.logger = winston; + + return function(error, req, res, next) { + if (error) { + const message = `${error.code ? `(${error.code}) ` : '' }Route: ${req.url} - ${error.message}`; + + if (error.code === 404) { + winston.info(message); + } + else { + winston.error(message); + winston.info(error.stack); + } + } + + next(error); + }; +}; diff --git a/src/middleware/not-found-handler.js b/src/middleware/not-found-handler.js new file mode 100644 index 0000000..cb0ee51 --- /dev/null +++ b/src/middleware/not-found-handler.js @@ -0,0 +1,9 @@ +'use strict'; + +const errors = require('feathers-errors'); + +module.exports = function() { + return function(req, res, next) { + next(new errors.NotFound('Page not found')); + }; +}; |
