API Rate Limiter — تحدي Node.js
rateLimiter(maxRequests, windowMs) ترجع middleware: لكل IP (req.ip) تسمح بـ maxRequests طلبات خلال windowMs مللي ثانية من أول طلب في النافذة (باستدعاء next)، وبعدها ترجع 429 دون استدعاء next حتى تنتهي النافذة، ثم يبدأ العد من جديد.
// أنشئ rate limiter بسيط
// الحد: 100 طلب لكل IP كل دقيقة
const rateLimiter = (maxRequests, windowMs) => {
const requests = new Map();
return (req, res, next) => {
// أكمل الكود
};
};
// الاستخدام:
// app.use(rateLimiter(100, 60000));حل هذا التحدي يرتبط بفتح دورة «REST APIs» بحسابك.
ابدأ الحل