Skip to content

Instantly share code, notes, and snippets.

@markmur
Created October 17, 2018 19:36
Show Gist options
  • Select an option

  • Save markmur/10a5509788c6ff9061965f1cb23d34d1 to your computer and use it in GitHub Desktop.

Select an option

Save markmur/10a5509788c6ff9061965f1cb23d34d1 to your computer and use it in GitHub Desktop.
Custom Express Responses
/**
* Create custom response
* @param {Object} res - express response object
* @param {Number} status - status code
* @param {String} defaultMessage - default response
* @returns {Function} returns function which access response message
*/
const createResponse = (res, status, defaultMessage) => data => {
// Set status code
res.status(status)
if (typeof data === 'string') {
return res.json({
message: data
})
}
return res.json(
data || {
message: defaultMessage
}
)
}
app.use((req, res, next) => {
res.notFound = createResponse(res, 404, 'Not Found')
res.unauthorized = createResponse(res, 401, 'Unauthorized')
res.badRequest = createResponse(res, 400, 'Bad Request')
res.serverError = createResponse(res, 500, 'Internal Server Error')
return next()
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment