Throw 404 instead of 500 for cast error when fetching user

This commit is contained in:
Adrian Obelmejias
2016-02-15 18:14:43 -05:00
parent 995c2c5d60
commit 2138890f07
+14 -5
View File
@@ -17,12 +17,21 @@ router.get('/',
router.get('/:id', router.get('/:id',
ensureUser, ensureUser,
async (ctx) => { async (ctx) => {
const user = await User.findById(ctx.params.id, '-password -salt') try {
if (!user) { const user = await User.findById(ctx.params.id, '-password -salt')
ctx.throw(404) if (!user) {
} ctx.throw(404)
}
ctx.body = user ctx.body = user
} catch (err) {
if (err === 404 || err.name === 'CastError') {
ctx.throw(404)
}
ctx.throw(500)
}
} }
) )