Security News
Node.js EOL Versions CVE Dubbed the "Worst CVE of the Year" by Security Experts
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Helpers and handlers for building (jsonp) APIs in Express.
All caspers methods return a function that can be used in the Express callback chain, or as callbacks for your database.
The following examples assume this:
// express 'app' available
var casper = require('casper');
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'
}));
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.
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.' });
Remove a key from the body:
// body is { testKey: "Hello", otherKey: "World" }
app.get('/',
casper.rm('testKey'),
casper.noop());
// afterwards body is { otherKey: "World" }
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" }
npm install casper
MIT
FAQs
Helpers and handlers for building APIs in express.
The npm package casper receives a total of 99 weekly downloads. As such, casper popularity was classified as not popular.
We found that casper demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.
Security News
cURL and Go security teams are publicly rejecting CVSS as flawed for assessing vulnerabilities and are calling for more accurate, context-aware approaches.
Security News
Bun 1.2 enhances its JavaScript runtime with 90% Node.js compatibility, built-in S3 and Postgres support, HTML Imports, and faster, cloud-first performance.