1.0.0 • Published 7 years ago
@alpinesoft/express-plus v1.0.0
ExpressPlus
This lightweight Express.js middleware focuses on two main features:
- (Type-) checking the request body
- Standardising the result/error format
Getting started
const expressPlus = require('express-plus')
app.use(expressPlus.createMiddleware())Check request body
const { Rule } = require('@cesium133/forgjs')
const bodyRules = {
username: new Rule({
type: 'string',
minLength: 3,
maxLength: 120,
notEmpty: true
}),
password: new Rule({
type: 'password',
minLength: 3,
maxLength: 120,
notEmpty: true
})
}
app.post('/', (req, res) => {
const isValid = req.checkBody(bodyRules)
// Error will be sent automatically
if (!isValid) {
return
}
// Continue handling the request if body is valid
})This will result in:
{
"status": "ERROR",
"error": {
"name": "Invalid request body",
"message": "Could not parse request body, check for invalid or missing fields"
}
}Return data if request is successful
app.post('/', (req, res) => {
res.resolve({
yourData: 'FOR-EXAMPLE-A-TOKEN'
})
})This will result in:
{
"status": "SUCCESS",
"payload": {
"yourData": "FOR-EXAMPLE-A-TOKEN"
}
}Create custom errors
res.reject(expressPlus.createHttpError(500, 'Your error', 'Provide a concise error message.'))or
next(expressPlus.createHttpError(500, 'Your error', 'Provide a concise error message.'))Handle errors
app.use(expressPlus.createErrorHandler())Place this middleware usage call after every other to ensure full error handling. To learn more about Express.js error handling follow this link.
You can see a full example here.
1.0.0
7 years ago