+++ /dev/null
-
-var codes = require('./codes.json');
-
-module.exports = status;
-
-// [Integer...]
-status.codes = Object.keys(codes).map(function (code) {
- code = ~~code;
- var msg = codes[code];
- status[code] = msg;
- status[msg] = status[msg.toLowerCase()] = code;
- return code;
-});
-
-// status codes for redirects
-status.redirect = {
- 300: true,
- 301: true,
- 302: true,
- 303: true,
- 305: true,
- 307: true,
- 308: true,
-};
-
-// status codes for empty bodies
-status.empty = {
- 204: true,
- 205: true,
- 304: true,
-};
-
-// status codes for when you should retry the request
-status.retry = {
- 502: true,
- 503: true,
- 504: true,
-};
-
-function status(code) {
- if (typeof code === 'number') {
- if (!status[code]) throw new Error('invalid status code: ' + code);
- return code;
- }
-
- if (typeof code !== 'string') {
- throw new TypeError('code must be a number or string');
- }
-
- // '403'
- var n = parseInt(code, 10)
- if (!isNaN(n)) {
- if (!status[n]) throw new Error('invalid status code: ' + n);
- return n;
- }
-
- n = status[code.toLowerCase()];
- if (!n) throw new Error('invalid status message: "' + code + '"');
- return n;
-}