node package manager


HTTP status utility


HTTP status utility for node.

var status = require('statuses')

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 

Returns an array of all the status codes as Integers.

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

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

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 

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

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

Returns true if a status code expects an empty body.

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

Returns true if you should retry the rest.

status.retry[501] // => undefined 
status.retry[503] // => true 
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.

The status codes are primarily sourced from Additionally, custom codes are added from 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 fetch
# build codes.json
npm run build