دوره‌ها / Node.js / Custom Middleware (Custom Middleware)

Custom Middleware (Custom Middleware)

15 دقیقه Article

Custom Middleware: ساخت Middleware سفارشی 🔧

Custom Middleware برای اضافه کردن functionality خاص به Express استفاده میشه!

// middleware/logger.js
const logger = (req, res, next) => {
    const timestamp = new Date().toISOString();
    console.log(`[${timestamp}] ${req.method} ${req.url}`);
    next();
};

module.exports = logger;

// middleware/auth.js
const auth = (req, res, next) => {
    const token = req.headers.authorization;
    
    if (!token) {
        return res.status(401).json({ error: 'Unauthorized' });
    }
    
    // Verify token
    // ...
    
    req.user = { id: 1, name: 'John' };
    next();
};

module.exports = auth;

// server.js
const express = require('express');
const logger = require('./middleware/logger');
const auth = require('./middleware/auth');

const app = express();

app.use(logger);
app.use('/api', auth);

app.get('/api/users', (req, res) => {
    res.json({ user: req.user });
});

Middleware با Options:

// middleware/validator.js
const validator = (schema) => {
    return (req, res, next) => {
        const { error } = schema.validate(req.body);
        if (error) {
            return res.status(400).json({ error: error.details[0].message });
        }
        next();
    };
};

module.exports = validator;

// استفاده
const validator = require('./middleware/validator');
const userSchema = require('./schemas/userSchema');

app.post('/users', validator(userSchema), (req, res) => {
    res.json({ message: 'User created' });
});
✅ یاد گرفتید: Custom Middleware برای اضافه کردن functionality عالیه!

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.

برای ذخیره پیشرفت وارد شوید