@fibjs/statuses

1.2.8 • Public • Published

Statuses

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

HTTP status utility for node.

API

var status = require('statuses');

var code = status(Integer || String)

If Integer or String is a valid HTTP code or status message, then the appropriate code will be returned. Otherwise, an error will be thrown.

status(403) // => 403
status('403') // => 403
status('forbidden') // => 403
status('Forbidden') // => 403
status(306) // throws, as it's not supported by node.js

status.codes

Returns an array of all the status codes as Integers.

var msg = status[code]

Map of code to status message. undefined for invalid codes.

status[404] // => 'Not Found'

var code = status[msg]

Map of status message to code. msg can either be title-cased or lower-cased. undefined for invalid status messages.

status['not found'] // => 404
status['Not Found'] // => 404

status.redirect[code]

Returns true if a status code is a valid redirect status.

status.redirect[200] // => undefined
status.redirect[301] // => true

status.empty[code]

Returns true if a status code expects an empty body.

status.empty[200] // => undefined
status.empty[204] // => true
status.empty[304] // => true

status.retry[code]

Returns true if you should retry the rest.

status.retry[501] // => undefined
status.retry[503] // => true

statuses/codes.json

var codes = require('statuses/codes.json');

This is a JSON file of the status codes taken from require('http').STATUS_CODES. This is saved so that codes are consistent even in older node.js versions. For example, 308 will be added in v0.12.

Adding Status Codes

The status codes are primarily sourced from http://www.iana.org/assignments/http-status-codes/http-status-codes-1.csv. Additionally, custom codes are added from http://en.wikipedia.org/wiki/List_of_HTTP_status_codes. These are added manually in the lib/*.json files. If you would like to add a status code, add it to the appropriate JSON file.

To rebuild codes.json, run the following:

# update src/iana.json
npm run update
# build codes.json
npm run build

Readme

Keywords

Package Sidebar

Install

npm i @fibjs/statuses

Weekly Downloads

1

Version

1.2.8

License

MIT

Last publish

Collaborators

  • ngot-fibjs