Advanced Middleware Patterns (Advanced Middleware)
Advanced Middleware Patterns: الگوهای پیشرفته Middleware 🔧
بیایید الگوهای پیشرفتهتر middleware رو یاد بگیریم!
Conditional Middleware:
// Middleware که فقط در شرایط خاص اجرا میشه
const conditionalMiddleware = (condition) => {
return (req, res, next) => {
if (condition(req)) {
// اجرای middleware
console.log('Condition met');
}
next();
};
};
app.use(conditionalMiddleware((req) => req.path.startsWith('/api')));
Error Handling Middleware:
// Middleware برای handle کردن errors
const errorHandler = (err, req, res, next) => {
console.error(err.stack);
res.status(err.status || 500).json({
error: {
message: err.message || 'Internal Server Error',
status: err.status || 500
}
});
};
app.use(errorHandler);
Async Middleware:
// Wrapper برای async middleware
const asyncHandler = (fn) => (req, res, next) => {
Promise.resolve(fn(req, res, next)).catch(next);
};
// استفاده
app.get('/users', asyncHandler(async (req, res) => {
const users = await User.find();
res.json(users);
}));
✅ یاد گرفتید: Advanced middleware patterns برای کد بهتر عالیه!
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.