Get the HTTP status code for an error object
npm install @rowanmanning/get-error-http-statusGet the HTTP status code for an error object.
* Requirements
* Usage
* getErrorHttpStatus
* isErrorHttpStatus
* Migration
* Contributing
* License
This library requires the following to run:
* Node.js 20+
Install with npm:
``sh`
npm install @rowanmanning/get-error-http-status
Load the library into your code with a require call:
`js`
const { getErrorHttpStatus } = require('@rowanmanning/get-error-http-status');
Call the method with an error object to get the status code:
`js
const notFoundError = new Error('Not Found');
notFoundError.status = 404;
const status = getErrorHttpStatus(error); // 404
`
If there is no status property present on the error, then we fall back to the statusCode property:
`js
const notFoundError = new Error('Not Found');
notFoundError.statusCode = 404;
const status = getErrorHttpStatus(error); // 404
`
If the status or statusCode property is a string, it will be parsed as an number before continuing.
In any of the following scenarios, the function will return a default status code of 500:
* The error is not an error object or a plain JavaScript object
* The error status property is less than 400 or greater than 599
* The error status property is a decimal
* The error status property is a non-numeric string
This library exposes a second method named isErrorHttpStatus. You can use this to determine whether a given value is a valid error HTTP status (integer, 400 to 599):
`js
const { isErrorHttpStatus } = require('@rowanmanning/get-error-http-status');
isErrorHttpStatus(500); // true
isErrorHttpStatus(200); // false
isErrorHttpStatus('abc'); // false
``
A new major version of this project is released if breaking changes are introduced. We maintain a migration guide to help users migrate between these versions.
The contributing guide is available here. All contributors must follow this library's code of conduct.
Licensed under the MIT license.
Copyright © 2024, Rowan Manning