Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

appframe-express

Package Overview
Dependencies
Maintainers
3
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

appframe-express

Express plugin for appframe.js NPM module

  • 0.6.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
3
Weekly downloads
 
Created
Source

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 as response.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 as response.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

Keywords

FAQs

Package last updated on 15 Oct 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc