Socket
Socket
Sign inDemoInstall

casper

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

casper

Helpers and handlers for building APIs in express.


Version published
Weekly downloads
200
increased by17.65%
Maintainers
1
Weekly downloads
 
Created
Source

casper

Helpers and handlers for building (jsonp) APIs in Express.

build status

All caspers methods return a function that can be used in the Express callback chain, or as callbacks for your database.

example

The following examples assume this:

// express 'app' available
var casper = require('casper');

Basic handlers

Send an empty opject:

// res.jsonp({}) is sent
app.get('/', casper.noop());

Or return some custom data:

// res.jsonp({ hello: 'world' }) is sent
app.get('/', casper.noop({
  hello: 'world'
}));

Database callbacks

casper.db

casper.db returns a function to be used as a database callback. It assumes the first argument is an err and the second is the data is has to send – an array or an object.

It takes Express' req and res as arguments:

casper.db(req, res)

For example:

app.get('/', function (req, res) {
  YourModel
    .find()
    .exec(casper.db(req, res));
});

It can also take a callback which, if present, is called instead of sending data directly back to the client.

With a callback:

app.get('/', function (req, res) {
  YourModel
    .find()
    .exec(casper.db(req, res, function (err, data) {
      // Do something with data
    }));
});

If it is passed an error, it will pass that on to the client with a 500 status code. If it recieves no data, or an empty array, it will return the data it recieved with a 404 status.

Checks & filters

capser.check.body

Check for the presence of data in the body using a key:

// body is { testKey: "Hello" }
// calls next() becuase present
app.get('/',
        casper.check.body('testKey'),
        casper.noop());

If the data is missing from the body it sends a 400 error, detailing the missing parameter:

app.get('/',
        casper.check.body('nonExistantKey'),
        casper.noop());

// results in
res.jsonp(400, { error: 'Missing nonExistantKey from body.' });
capser.rm.body

Remove a key from the body:

// body is { testKey: "Hello", otherKey: "World" }
app.get('/',
        casper.rm('testKey'),
        casper.noop());

// afterwards body is { otherKey: "World" }
casper.allow.body

Whitelist a key or array of keys allowed on the body.

// body is { testKey: "Hello", otherKey: "World" }
app.get('/',
        casper.allow.body('otherKey'),
        casper.noop());

// afterwards body is { test: "Hello" }

With an array:

// body is { testKey: "Hello", otherKey: "World", unwantedKey: "World" }
app.get('/',
        casper.allow.body(['testKey', 'otherKey']),
        casper.noop());

// afterwards body is { testKey: "Hello", otherKey: "World" }

install

npm install casper

license

MIT

FAQs

Package last updated on 31 May 2013

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