http-error

Expose HTTP error codes as Error objects

Exposes HTTP error codes as Error constructors.

npm install http-error
 
    var HttpError = require("http-error");
 
    // in your app: 
    app.get("/:project", function(reqresnext){
        db.loadProject(req.params.project, function(errproject){
            if(err) return next(new HttpError.InternalServerError("Something went wrong"));
            if(!project) return next(new HttpError.notFound("This project does not exist"));
            
            res.json(project.toObject());
        });
    });
    
    // in your error handler: 
    app.use(function(errreqresnext){
        res.status(err.code).json({ error: err.message });
    });

This module implements the following error constructors:

Code Function
400 BadRequest
401 Unauthorized
402 PaymentRequired
403 Forbidden
404 NotFound
405 MethodNotAllowed
406 NotAcceptable
407 ProxyAuthenticationRequired
408 RequestTimeout
409 Conflict
410 Gone
411 LengthRequired
412 PreconditionFailed
413 RequestEntityTooLarge
414 RequestURITooLong
415 UnsupportedMediaType
416 RequestedRangeNotSatisfiable
417 ExpectationFailed
420 EnhanceYourCalm
422 UnprocessableEntity
423 Locked
424 FailedDependency
425 UnorderedCollection
426 UpgradeRequired
428 PreconditionRequired
429 TooManyRequests
431 RequestHeaderFieldsTooLarge
444 NoResponse
449 RetryWith
450 BlockedByWindowsParentalControls
499 ClientClosedRequest
500 InternalServerError
501 NotImplemented
502 BadGateway
503 ServiceUnavailable
504 GatewayTimeout
505 HTTPVersionNotSupported
506 VariantAlsoNegotiates
507 InsufficientStorage
508 LoopDetected
509 BandwidthLimitExceeded
510 NotExtended
511 NetworkAuthenticationRequired