Sha256: 98d7aa5275dcbf8d2e6a23e0db3837b9f326b3ae7249ec01e0d13dd81d25aeb1
Contents?: true
Size: 1.11 KB
Versions: 35
Compression:
Stored size: 1.11 KB
Contents
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; }
Version data entries
35 entries across 32 versions & 5 rubygems