A full REST API error collection
npm install throw.jsAn HTTP Error collection to use in your next REST API.
```
npm install --save throw.js
or
``
yarn add throw.js
`javascript
const express = require("express");
const app = express();
const { NotFound } = require("throw.js");
const logger = require("winston");
app.get("/", (req, res, next) => {
next(new NotFound());
});
app.use((err, req, res, next) => {
logger.error(err);
if (req.app.get("env") !== "development" && req.app.get("env") !== "test") {
delete err.stack;
}
res.status(err.statusCode || 500).json(err);
});
app.listen(3000);
`
`javascript
const { CustomError } = require("throw.js");
throw new CustomError(message, statusCode?, errorCode?, originalError?);
`
Parameters:
- message[optional]: Detailed message of this error
- statusCode[optional]: The HTTP Status number to return
- errorCode[optional]: An internal unique code identifier of this error
`javascript
const { CustomError } = require("throw.js");
try {
// throws an error
} catch (e) {
// Pass the error as a parameter to keep its original stack trace
throw new CustomError(message, statusCode, errorCode, e);
}
`
All of the classes below have all parameters set up by default, based on RFC7231.
But you can override the message and the errorCode to fit your for personal needs.
`javascript`
BadRequest(message?, errorCode?, originalError?);
`javascript`
Unauthorized(message?, errorCode?, originalError?);
`javascript`
PaymentRequired(message?, errorCode?, originalError?);
`javascript`
Forbidden(message?, errorCode?, originalError?);
`javascript`
NotFound(message?, errorCode?, originalError?);
`javascript`
MethodNotAllowed(message?, errorCode?, originalError?);
`javascript`
NotAcceptable(message?, errorCode?, originalError?);
`javascript`
ProxyAuthenticationRequired(message?, errorCode?, originalError?);
`javascript`
RequestTimeout(message?, errorCode?, originalError?);
`javascript`
Conflict(message?, errorCode?, originalError?);
`javascript`
Gone(message?, errorCode?, originalError?);
`javascript`
UnprocessableEntity(message?, errorCode?, originalError?);
`javascript`
FailedDependency(message?, errorCode?, originalError?);
`javascript`
InternalServerError(message?, errorCode?, originalError?);
`javascript`
NotImplemented(message?, errorCode?, originalError?);
`javascript`
BadGateway(message?, errorCode?, originalError?);
`javascript`
ServiceUnavailable(message?, errorCode?, originalError?);
`javascript`
GatewayTimeout(message?, errorCode?, originalError?);
`javascript`
HttpVersionNotSupported(message?, errorCode?, originalError?);
`javascript``
NetworkAuthenticationRequired(message?, errorCode?, originalError?);
- Implement more Error Classes