appframe-express v0.6.0
appframe-express
Express Plugin for Appframe on NPM. This currently does not support SSL.
API
This api is mounted at app.server
as a new express app. Also mounts app.joi
for validation. Has following methods:
app.server.validate(fields)
Middleware to validate fields on requests.
fields
object - Key value where key is fieldname and value is joi validation object
app.server.post('/validate', app.server.validate({
body: {
user: app.joi.string().required(),
email: app.joi.string().email(),
}
}), function(req, res){
if(req.body.user.length < 2){
return res.invalid({
'user': app.code('user.username_invalid') // this code is not included
});
}
res.success('server.status_200', req.body);
});
// outputs
{
"code": "server.validation",
"message": "There was a problem with your request. Please check the errors provided.",
"success": false,
"data": {
"fields": {
"user": {
"type": "custom_message",
"message": "Provided username is invalid."
}
}
},
"error": false
}
response.invalid(fields)
Throws a validation error on the fields.
fields
object - Key value where key is fieldname and value is string error or app.code object
res.invalid({
user: 'Provided username is invalid.'
});
// outputs
{
"code": "server.validation",
"message": "There was a problem with your request. Please check the errors provided.",
"success": false,
"data": {
"fields": {
"user": {
"type": "custom_message",
"message": "Provided username is invalid."
}
}
},
"error": false
}
response.fail(error [, data])
Outputs JSON object with code, message, and optional data.
error
mixed - This corresponds an error code string, error code object, errorCode appframe Error, failCode appframe Error, or registered error from within appframe.data
any - This is attached to the JSON reply asresponse.data
if(user === null){
var error = app.failCode('user.not_found');
}
res.fail(error);
// outputs
{
success: false,
error: false,
code: "user.not_found",
message: "No user found by given id.",
data: null
}
##### `response.success(code [, data])`
Outputs JSON object with code, message, and optional data.
- `code` *string* - This corresponds with an appframe code to populate response
- `data` *any* - This is attached to the JSON reply as `response.data`
```javascript
res.success('user.found', {user: user});
// outputs
{
success: true,
code: "user.found",
message: "The user was found by given id.",
data: {
user: {...}
}
}
response.fail(error [, data])
Outputs JSON object with code, message, and optional data.
error
mixed - This corresponds an error code string, error code object, errorCode appframe Error, failCode appframe Error, or registered error from within appframe.data
any - This is attached to the JSON reply asresponse.data
if(user === null){
var error = app.failCode('user.not_found');
}
res.fail(error);
// outputs
{
success: false,
error: false,
code: "user.not_found",
message: "No user found by given id.",
data: null
}
Config server.json5
host
String - HTTP server host address to bind on. Defaults to 127.0.0.1.port
String - HTTP server port number to bind on. Defaults to 8080.handle_error
Boolean - Automatically handle internal errors and 404 with generic JSON response codes. Defaults to True
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago