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 पूर्ण