|5. Middleware
Chapter 5Node.js & Express~1 min read

Middleware

Request Processing Pipeline

Middleware म्हणजे request आणि response च्या मधली processing — request येतो, एक middleware त्यावर काहीतरी करतो, next() call करतो, पुढचा middleware चालतो, शेवटी route handler.

Marathi Analogy

Middleware म्हणजे airport security — आधी boarding pass check (authentication middleware), मग luggage scan (validation middleware), मग body check (logging middleware), शेवटी gate वर जाता (route handler). प्रत्येक step मध्ये "next!" म्हणतात.

Custom middleware

javascript
// Logger middleware
function logger(req, res, next) {
  console.log(`${new Date().toISOString()} — ${req.method} ${req.url}`);
  next(); // पुढे जा
}

// Authentication middleware
function authenticate(req, res, next) {
  const token = req.headers.authorization;
  if (!token) {
    return res.status(401).json({ error: 'Unauthorized' });
  }
  // token valid असेल तर
  next();
}

// Apply करा
app.use(logger);                    // सगळ्या routes साठी
app.use('/api', authenticate);      // फक्त /api routes साठी
app.get('/dashboard', authenticate, (req, res) => {
  res.json({ data: 'Secret data' });
});

Built-in आणि third-party middleware

javascript
const express = require('express');
const cors = require('cors');        // npm install cors

app.use(express.json());             // JSON body parse
app.use(express.urlencoded({ extended: true })); // Form data
app.use(cors());                     // CORS enable
app.use(express.static('public'));   // Static files serve

// Error handling middleware (4 params)
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({ error: err.message });
});

Key Points — लक्षात ठेवा

  • Middleware = (req, res, next) => {}
  • next() — पुढच्या middleware ला जा
  • next(err) — error middleware ला जा
  • app.use() — globally apply
  • Error middleware: 4 parameters (err, req, res, next)
0/8 chapters पूर्ण