الوحدة wsgiref في بايثون

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث


تعدّ واجهة بوابة مخدّم الويب Web Server Gateway Interface وتختصر إلى (WSGI) واجهة معيارية بين برنامج مخدّم الويب وتطبيقات الويب المكتوبة بلغة بايثون. إن وجود واجهة معيارية يسهّل من استخدام التطبيقات التي تدعم WSGI مع العديد من مخدّمات الويب المختلفة.

إن كنت ترغب في إنشاء مخدّم ويب أو إطار عمل برمجي فيتحتّم عليك حينئذ أن تحيط بكلّ تفاصيل WSGI، ولكن إن كنت ترغب في تثبيت أحد التطبيقات التي تدعم WSGI أو كتابة تطبيق ويب باستخدام إحدى أطر العمل المتوفّرة فلن تكون بحاجة حينئذٍ إلى استيعاب كل تلك التفاصيل.

تعدّ الوحدة wsgiref وسيلة لتطبيق معايير WSGI ويمكن استخدامها لإضافة دعم WSGI إلى مخدّمات الويب وأطر العمل. البرمجية. تقدّم هذه الوحدة أدوات لمعالجة متغيرات البيئة في WSGI وترويسات الإجابة response headers، وتقدّم أصنافًا اساسية لاستخدام مخدّمات WSGI، ومخدّم HTTP عام والذي يخدم تطبيقات WSIG، وأداة للتحقق من توافق مخدّمات وتطبيقات WSGI مع معايير WSGI‏ (PEP 3333).

راجع wsgi.readthedocs.io للاطلاع على المزيد من المعلومات حول WSGI، والوصول إلى بعض الروابط الخاصّة بالدروس التعليمية والمصادر المتعلّقة بهذا الشأن.

الوحدة wsgiref.util

تقدّم هذه الوحدة مجموعة متنوعة من الدوال التي تساعد في التعامل مع بيئات WSGI. بيئة WSGI هي قاموس يتضمّن متغيرات طلب HTTP وبحسب ما هو موصوف في PEP 3333. تتوقع جميع الدوال التي تأخذ المعامل environ تزويدها بقاموس متوافق مع WSGI. يمكن مراجعة PEP 3333 للاطلاع على المزيد من التفاصيل.

الوحدة wsgiref.headers

تقدّم هذه الوحدة الصنف Headers والذي يُستخدم لمعالجة ترويسات الاستجابة response headers في WSGI وذلك باستخدام طريقة مشابهة للقواميس.

الوحدة wsgiref.simple_server

تستخدم هذه الوحدة مخدّم HTTP بسيط (بالاستناد على http.server) وظيفته تخديم تطبيقات WSGI. تخدّم كل نسخة من المخدّم تطبيق WSGI واحد على مضيف host ومنفذ port معين. إن كنت ترغب في تخديم تطبيقات متعددة على مضيف ومنفذ واحد، فيجب عليك إنشاء تطبيق WSGI يفسّر قيمة المتغير PATH_INFO لاختيار التطبيق الذي سينفّذ مع كلّ طلب. (يمكن مثلًا استخدام الدالة shift_path_info()‎ من وحدة wsgiref.util).

الوحدة wsgiref.validate

تقدّم هذه الوحدة دالة تُنشئ كائن تطبيق WSGI وتتحقّق من تواصله مع مخدّم أو بوابة WSGI لضمان مطابقة الجانبين للبروتوكول.

الوحدة wsgiref.handlers

تقدّم هذه الوحدة أصناف معالجة أساسية لاستخدام مخدّمات وبوابات WSGI. تعالج هذه الأصناف الجزء الأكبر من عملية التواصل مع تطبيق WSGI ما دامت في بيئة مشابهة لبيئة CGI وإلى جانب تدفّقات المدخلات والمخرجات والأخطاء.

مصادر