@rowanmanning/get-error-http-status
v4.2.0
Published
Get the HTTP status code for an error object
Readme
@rowanmanning/get-error-http-status
Get the HTTP status code for an error object.
Requirements
This library requires the following to run:
- Node.js 20+
Usage
Install with npm:
npm install @rowanmanning/get-error-http-statusLoad the library into your code with a require call:
const { getErrorHttpStatus } = require('@rowanmanning/get-error-http-status');getErrorHttpStatus
Call the method with an error object to get the status code:
const notFoundError = new Error('Not Found');
notFoundError.status = 404;
const status = getErrorHttpStatus(error); // 404If there is no status property present on the error, then we fall back to the statusCode property:
const notFoundError = new Error('Not Found');
notFoundError.statusCode = 404;
const status = getErrorHttpStatus(error); // 404If 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
400or greater than599 - The error status property is a decimal
- The error status property is a non-numeric string
isErrorHttpStatus
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):
const { isErrorHttpStatus } = require('@rowanmanning/get-error-http-status');
isErrorHttpStatus(500); // true
isErrorHttpStatus(200); // false
isErrorHttpStatus('abc'); // falseMigration
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.
Contributing
The contributing guide is available here. All contributors must follow this library's code of conduct.
License
Licensed under the MIT license. Copyright © 2024, Rowan Manning
