Download api/server/controllers/ErrorController.js from Zhitomir/chat: direct link, hf CLI and curl.
- Browser
- Download file 1.34 kB
-
https://huggingface.co/spaces/Zhitomir/chat/resolve/main/api/server/controllers/ErrorController.js
- Command line
-
hf download hf://spaces/Zhitomir/chat/api/server/controllers/ErrorController.js
-
curl -L -o ErrorController.js https://huggingface.co/spaces/Zhitomir/chat/resolve/main/api/server/controllers/ErrorController.js
1.34 kB
| const { logger } = require('~/config'); | |
| //handle duplicates | |
| const handleDuplicateKeyError = (err, res) => { | |
| logger.error('Duplicate key error:', err.keyValue); | |
| const field = `${JSON.stringify(Object.keys(err.keyValue))}`; | |
| const code = 409; | |
| res | |
| .status(code) | |
| .send({ messages: `An document with that ${field} already exists.`, fields: field }); | |
| }; | |
| //handle validation errors | |
| const handleValidationError = (err, res) => { | |
| logger.error('Validation error:', err.errors); | |
| let errors = Object.values(err.errors).map((el) => el.message); | |
| let fields = `${JSON.stringify(Object.values(err.errors).map((el) => el.path))}`; | |
| let code = 400; | |
| if (errors.length > 1) { | |
| errors = errors.join(' '); | |
| res.status(code).send({ messages: `${JSON.stringify(errors)}`, fields: fields }); | |
| } else { | |
| res.status(code).send({ messages: `${JSON.stringify(errors)}`, fields: fields }); | |
| } | |
| }; | |
| // eslint-disable-next-line no-unused-vars | |
| module.exports = (err, req, res, next) => { | |
| try { | |
| if (err.name === 'ValidationError') { | |
| return (err = handleValidationError(err, res)); | |
| } | |
| if (err.code && err.code == 11000) { | |
| return (err = handleDuplicateKeyError(err, res)); | |
| } | |
| } catch (err) { | |
| logger.error('ErrorController => error', err); | |
| res.status(500).send('An unknown error occurred.'); | |
| } | |
| }; | |