البرمجيات الوسيطة
سلسلة المعالجة التي تحمي كل طلب وتراقبه.
البرمجيات الوسيطة (Middleware)
تضيف برمجية وسيطة للمصادقة فتعمل على أكمل وجه على المسارات الجديدة، لكن مسارًا قديمًا يبقى متاحًا دون رمز مميز (token). تضيف CORS فيستمر المتصفح في رفض الطلب. تضيف محدِّدًا لمعدل الطلبات فيحتسب جميع الطلبات كأنها صادرة من عنوان IP واحد. هذه الأعراض الثلاثة تعود إلى سبب واحد: ترتيب التصريح.
لا يعرف Express مفهوم الأولوية أو النطاق أو دورة الحياة. فهو يملك قائمة تُمرَّر من الأعلى إلى الأسفل، ويقرر كل عنصر فيها هل يمرّر الطلب إلى العنصر التالي أم ينهيه. لن تُطبَّق برمجية وسيطة مُصرَّح بها بعد أحد المسارات على ذلك المسار أبدًا. أما البرمجية الوسيطة التي لا تستدعي next() ولا إحدى دوال الاستجابة، فتترك الطلب معلقًا إلى الأبد حتى انتهاء المهلة القصوى لدى العميل، وتُبقي في الذاكرة الكائنين req وres وكل ما يلتقطه الإغلاق (closure) الخاص بها. إنه تسرب للذاكرة لا يُصدر أي رسالة خطأ. يقدّم لك هذا الدرس النموذج الدقيق، ثم السلسلة الدنيا التي ينبغي إعدادها في أي واجهة API جادة.
التوقيع والعقد
البرمجية الوسيطة دالة بثلاث معاملات، ومعالج الأخطاء دالة بـأربع معاملات. يميّز Express بينهما بفحص fn.length: إذا حذفت المعامل err أو أحد المعاملات الأخرى، يتحول معالج الأخطاء إلى برمجية وسيطة عادية ولن يُستدعى أبدًا عند وقوع خطأ.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش