Skip to content

b-l-a-i-n-e/http-assert

 
 

Repository files navigation

http-assert

NPM Version NPM Downloads Node.js Version Build Status Test Coverage

Assert with status codes. Like ctx.throw() in Koa, but with a guard.

Install

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install http-assert

Example

var assert = require('http-assert')
var ok = require('assert')

var username = 'foobar' // username from request

try {
  assert(username === 'fjodor', 401, 'authentication failed')
} catch (err) {
  ok(err.status === 401)
  ok(err.message === 'authentication failed')
  ok(err.expose)
}

API

The API of this module is intended to be similar to the Node.js assert module.

Each function will throw an instance of HttpError from the http-errors module when the assertion fails.

assert(value, [status], [message], [properties])

Tests if value is truthy. If value is not truthy, an HttpError is thrown that is constructed with the given status, message, and properties.

assert.deepEqual(a, b, [status], [message], [properties])

Tests for deep equality between a and b. Primitive values are compared with the Abstract Equality Comparison (==). If a and b are not equal, an HttpError is thrown that is constructed with the given status, message, and properties.

assert.equal(a, b, [status], [message], [properties])

Tests shallow, coercive equality between a and b using the Abstract Equality Comparison (==). If a and b are not equal, an HttpError is thrown that is constructed with the given status, message, and properties.

assert.notDeepEqual(a, b, [status], [message], [properties])

Tests for deep equality between a and b. Primitive values are compared with the Abstract Equality Comparison (==). If a and b are equal, an HttpError is thrown that is constructed with the given status, message, and properties.

assert.notEqual(a, b, [status], [message], [properties])

Tests shallow, coercive equality between a and b using the Abstract Equality Comparison (==). If a and b are equal, an HttpError is thrown that is constructed with the given status, message, and properties.

assert.notStrictEqual(a, b, [status], [message], [properties])

Tests strict equality between a and b as determined by the SameValue Comparison (===). If a and b are equal, an HttpError is thrown that is constructed with the given status, message, and properties.

assert.ok(value, [status], [message], [properties])

Tests if value is truthy. If value is not truthy, an HttpError is thrown that is constructed with the given status, message, and properties.

assert.strictEqual(a, b, [status], [message], [properties])

Tests strict equality between a and b as determined by the SameValue Comparison (===). If a and b are not equal, an HttpError is thrown that is constructed with the given status, message, and properties.

Licence

MIT

About

assert with status codes

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%