Site icon Fawatech

استخدام وتنفيذ البرمجيات الوسيطة (Middleware) في Express.js

في إطار عمل Express.js، تعد البرمجيات الوسيطة (Middleware) مكونات برمجية حاسمة تتمكن من التدخل في دورة معالجة الطلبات HTTP، مما يسمح بتنفيذ رموز أو وظائف معينة قبل وبعد وصول الطلب إلى الطريق النهائي أو التوجيه المطلوب. هذه البرمجيات يمكن أن تُستخدم لأغراض متنوعة مثل تسجيل الدخول، تعديل الطلبات والاستجابات، وإدارة الجلسات أو الأمان.

تعريف Middleware

Middleware في Express.js هي دالة لها الوصول إلى كائنات الطلب (request)، الاستجابة (response)، والدالة التالية في دورة طلب البرنامج التي يُشار إليها بـ next(). عند استدعاء next()، ينتقل Express إلى البرمجية الوسيطة التالية أو دالة التوجيه.

أمثلة على استخدام Middleware

  1. تسجيل الطلبات:
   const logger = (req, res, next) => {
       console.log(`${new Date()} - ${req.method} request to ${req.url}`);
       next();
   };

   app.use(logger);

هذه البرمجية الوسيطة تسجل تفاصيل كل طلب يتم تلقيه، مثل الوقت ونوع الطلب والمسار المطلوب.

  1. التحقق من الصلاحيات:
   const authenticate = (req, res, next) => {
       if (req.isAuthenticated()) {
           return next();
       }
       res.status(403).send('Unauthorized');
   };

   app.use('/admin', authenticate);

هذا Middleware يتحقق من أن المستخدم قد قام بالتوثيق قبل السماح له بالوصول إلى مسارات تحت /admin.

تنفيذ Middleware

يمكن تنفيذ Middleware على مستويات مختلفة داخل تطبيق Express:

  1. Application-level middleware:
   app.use(express.json());

هذه البرمجية الوسيطة تُستخدم لتحليل جسم الطلبات القادمة في صورة JSON.

  1. Router-level middleware:
   const router = express.Router();

   router.use((req, res, next) => {
       if (req.app.get('env') !== 'development') {
           return next();
       }
       console.log('Development mode active');
       next();
   });

   app.use('/', router);

هنا، Middleware مطبق على مستوى الراوتر، يتم استخدامه لتنفيذ وظائف خاصة عندما يكون التطبيق في وضع التطوير.

  1. Error-handling middleware:
   app.use((err, req, res, next) => {
       console.error(err.stack);
       res.status(500).send('Something went wrong!');
   });

Middleware لمعالجة الأخطاء يستخدم أربعة معاملات ويُعالج الأخطاء التي قد تحدث أثناء معالجة الطلبات.

استراتيجيات فعالة لاست

خدام Middleware

خلاصة

البرمجيات الوسيطة في Express.js توفر طريقة قوية ومرنة لإدارة تدفق الطلبات والاستجابات داخل التطبيق. من خلال التعامل الذكي مع Middleware، يمكن للمطورين بناء تطبيقات ويب قوية وأمنة وسهلة الصيانة.

Exit mobile version