تصفية طرق الطلب في Hyperlane

تتعامل تطبيقات الويب مع طرق HTTP مختلفة مثل GET و POST و DELETE. توفر لك Hyperlane عدة طرق لتصفية هذه الطلبات. يمكنك توجيه الطلبات إلى معالجات (handlers) محددة أو استخدام البرمجيات الوسيطة (middleware) للتحقق من الطرق.

إليك طرق تصفية الطرق في Hyperlane:

  • استخدم #[is_get_method] لنقاط النهاية (endpoints) البسيطة المخصصة للقراءة فقط. ترفض هذه الماكرو (macro) أي طلب ليس من نوع GET.

  • استخدم #[methods] لتوجيه مرن. يمكنك تمرير قائمة بالطرق المسموح بها. على سبيل المثال، #[methods("GET", "POST")] يسمح بكل من قراءة البيانات وإنشائها.

  • استخدم عمليات التحقق اليدوية للمنطق المعقد. يمكنك استخراج الطريقة من السياق (context) واستخدام جمل if-else لتحديد كيفية الاستجابة.

  • استخدم #[filter] للتحكم على مستوى المسار (route). يمكنك دمج ذلك مع تعريفات المسارات لإنشاء معالجات محددة لطرق مختلفة على نفس المسار.

  • استخدم البرمجيات الوسيطة (middleware) للتسجيل (logging) أو تصحيح الأخطاء (debugging). يمكنك استخراج الطريقة وإضافتها إلى سمات الطلب الخاصة بك.

أفضل الممارسات لواجهة برمجة التطبيقات (API) الخاصة بك:

  • استخدم #[is_get_method] للمهام المخصصة للقراءة فقط للحفاظ على نظافة الكود.
  • استخدم #[methods] عندما تحتاج نقطة النهاية إلى أكثر من نوع واحد من الطلبات.
  • أرجع رمز الحالة 405 إذا أرسل المستخدم طريقة غير مدعومة.
  • ادمج عوامل التصفية لإنشاء قواعد صارمة. يمكنك التحقق من الطريقة، والمضيف (host)، وطول المسار في وقت واحد.

تساعدك هذه الأدوات في بناء واجهات برمجة تطبيقات (APIs) نظيفة ومنظمة، مما يجعل الكود الخاص بك أسهل في القراءة والصيانة.

Project Code: https://github.com/hyperlane-dev/hyperlane

Source: https://dev.to/tengxgfyrz67s/request-method-filtering-35jk