node-http-error-objects
v3.0.1
Published
A full REST API error collection
Downloads
7
Readme
throw.js
An HTTP Error collection to use in your next REST API.
Installation
npm install --save throw.js
Example
const express = require('express');
const app = express();
const errors = require('throw.js');
const logger = require('winston');
app.get('/', (req, res, next) => {
next(new errors.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);
Custom Errors
const errors = require('throw.js');
errors.CustomError(slug, message, statusCode, errorCode);
Parameters:
- slug[optional]: A unique identifier of this error
- 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
Errors
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.
400 Bad Request
errors.BadRequest(message, errorCode);
401 Unauthorized
errors.Unauthorized(message, errorCode);
402 Payment Required
errors.PaymentRequired(message, errorCode);
403 Forbidden
errors.Forbidden(message, errorCode);
404 Not Found
errors.NotFound(message, errorCode);
405 Method Not Allowed
errors.MethodNotAllowed(message, errorCode);
406 Not Acceptable
errors.NotAcceptable(message, errorCode);
407 Proxy Authentication Required
errors.ProxyAuthenticationRequired(message, errorCode);
408 Request Timeout
errors.RequestTimeout(message, errorCode);
409 Conflict
errors.Conflict(message, errorCode);
410 Gone
errors.Gone(message, errorCode);
422 Unprocessable Entity
errors.UnprocessableEntity(message, errorCode);
424 Failed Dependency
errors.FailedDependency(message, errorCode);
500 Internal Server Error
errors.InternalServerError(message, errorCode);
501 Not Implemented
errors.NotImplemented(message, errorCode);
502 Bad Gateway
errors.BadGateway(message, errorCode);
503 Service Unavailable
errors.ServiceUnavailable(message, errorCode);
504 Gateway Timeout
errors.GatewayTimeout(message, errorCode);
505 HTTP Version Not Supported
errors.HttpVersionNotSupported(message, errorCode);
511 Network Authentication Required
errors.NetworkAuthenticationRequired(message, errorCode);
TODO
- Implement more Error Classes