Open In App

Generating Errors using HTTP-errors module in Node.js

Improve
Improve
Like Article
Like
Save
Share
Report

HTTP-errors module is used for generating errors for Node.js applications. It is very easy to use. We can use it with the express, Koa, etc. applications. We will implement this module in an express application.

Installation and Setup: First, initialize the application with the package.json file with the following command: 

npm init

Then, install the module by the following command:

npm install http-errors --save

Also, we are using an express application, therefore, install the express module by the following command: 

npm install express --save

Now, create a file and name it app.js. You can name your file whatever you want.

For importing the modules in your application, write the following code in your app.js file:

javascript




const createError = require('http-errors');
const express = require('express');
const app = express();


Implementation: Here, comes the main part of our application. For using this module, write the following code in your app.js file:

javascript




// Node program to demonstrate the
const createError = require('http-errors');
const express = require('express');
const app = express();
 
app.use((req, res, next) => {
    if (!req.user) return next(
        createError(401, 'Login Required!!'));
    next();
});
 
app.listen(8080, (err) => {
    if (err) console.log(err);
    console.log(
        `Server Running at http://localhost:8080`);
});


Here, we are importing the http-errors module and storing it in a variable named as createError. Next, in app.use(), if the user is not authenticated, then our application will create a 401 error saying Login Required!!. The createError is used for generating errors in an application.

To run the code, run the following command in the terminal:

node app.js

and navigate to http://localhost:8080. The output for the above code will be:

List of all Status Codes with their Error Message: 

Status
Code    Error Message

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    PayloadTooLarge
414    URITooLong
415    UnsupportedMediaType
416    RangeNotSatisfiable
417    ExpectationFailed
418    ImATeapot
421    MisdirectedRequest
422    UnprocessableEntity
423    Locked
424    FailedDependency
425    UnorderedCollection
426    UpgradeRequired
428    PreconditionRequired
429    TooManyRequests
431    RequestHeaderFieldsTooLarge
451    UnavailableForLegalReasons
500    InternalServerError
501    NotImplemented
502    BadGateway
503    ServiceUnavailable
504    GatewayTimeout
505    HTTPVersionNotSupported
506    VariantAlsoNegotiates
507    InsufficientStorage
508    LoopDetected
509    BandwidthLimitExceeded
510    NotExtended
511    NetworkAuthenticationRequired

Conclusion: The HTTP-errors module is very useful for developers for the quick generation of errors in their messages. In this article, we learned about the HTTP-errors module for Node.js. We have also seen its installation and Implementation.



Last Updated : 06 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads