npm.io
3.0.1 • Published 8 years ago

node-http-error-objects

Licence
ISC
Version
3.0.1
Deps
0
Size
17 kB
Vulns
0
Weekly
0
Stars
275

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

Keywords