Open In App

How to skip a middleware in Express.js ?

Improve
Improve
Like Article
Like
Save
Share
Report

If we want to skip a middleware we can pass parameters to the middleware function and decide based on that parameter which middleware to call and which middleware to not call.

Prerequisite:

  • express.js: To handle routing.

Setting up environment and execution:

  • Step 1: Initialize node project

    npm init
  • Step 2: Install required modules

    npm install express

Example:

index.js




const express = require("express");
// const database = require('./sqlConnection');
  
const app = express();
  
// Start server on port 5000
app.listen(5000, () => {
  console.log(`Server is up and running on 5000 ...`);
});
  
// define middleware 1
let middleware1 = (req, res, next) => {
  
    // decide a parameter
    req.shouldRunMiddleware2 = false;
  
    console.log("Middleware 1 is running !");
    next();
}
  
// define middleware 2
let middleware2 = (req, res, next) => {
    if(!req.shouldRunMiddleware2) {
        console.log("Skipped middleware 2");
        return next();
    }
  
    console.log("Middleware 2 is running !");
}
  
// define middleware 3
let middleware3 = (req, res, next) => {
    console.log("Middleware 3 is running !");
}
  
// create route for home page '/'
app.get("/", middleware1, middleware2, middleware3);


Output: Run the below command to start the server. After that go to http://localhost:5000 on browser to see output in console

node index.js
  • In browser.
  • Console:

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