3.0 KiB
Statuses
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) // => 'Forbidden'
status('403') // => 'Forbidden'
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 Integer
s.
var msg = status[code]
Map of code
to status message
. undefined
for invalid code
s.
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 message
s.
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