الفرق بين المراجعتين لصفحة: «Python/wsgiref/util/shift path info»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
تنقل الدالة اسمًا منفردًا من <code>PATH_INFO</code> إلى <code>SCRIPT_NAME</code> وتعيد الاسم المنقول. يُعدّل القاموس المعطى في مكانه in-place، ويمكنك استخدام نسخة من القاموس إن كنت بحاجة إلى المحافظة على قيمة <code>PATH_INFO</code> أو <code>SCRIPT_NAME</code> الأصلية دون تعديل. | تنقل الدالة اسمًا منفردًا من <code>PATH_INFO</code> إلى <code>SCRIPT_NAME</code> وتعيد الاسم المنقول. يُعدّل القاموس المعطى في مكانه in-place، ويمكنك استخدام نسخة من القاموس إن كنت بحاجة إلى المحافظة على قيمة <code>PATH_INFO</code> أو <code>SCRIPT_NAME</code> الأصلية دون تعديل. | ||
تستخدم هذه الدالة عادة لمعالجة كل جزء من أجزاء مسار URI في الطلب، كأن تجري معالجة المسار كسلسلة من مفاتيح القاموس. تعدّل هذه الدالة البيئة الممرة لجعلها ملائمة للتنفيذ من قبل تطبيق WSGI آخر والموجود في معرّف URI الهدف. | |||
فعلى سبيل المثال لو كان هناك تطبيق WSGI على المسار <code>/foo</code> وكان مسار URI في الطلب هو <code>/foo/bar/baz</code>، واستدعى التطبيق في المسار <code>/foo</code> الدالة <code>shift_path_info()</code> فإنّه سيستقبل السلسلة النصية "bar" وستُحدّث البيئة لتكون ملائمة لتمرير تطبيق WSGI على المسار <code>/foo/bar</code>. | |||
أيّ أنّ قيمة المتغير <code>SCRIPT_NAME</code> ستتغيّر من <code>/foo</code> إلى <code>/foo/bar</code> وقيمة المتغير <code>PATH_INFO</code> ستتغير من <code>/bar/baz</code> إلى <code>/baz</code>. | |||
عندما تكون قيمة <code>PATH_INFO</code> هي <code>"/"</code> فقط، فإنّ الدالة تعيد سلسلة نصية فارغة وتضيف الخط المائل إلى المتغير <code>SCRIPT_NAME</code>، على الرغم من أنّ الأجزاء الفارغة في المسار يجري تجاهلها في العادة، وأنّ قيمة المتغيّر <code>SCRIPT_NAME</code> لا تنتهي عادة بخطّ مائل، ولكن يضمن هذا السلوك أنّ التطبيق قادر على تمييز معرّفات URI التي تنتهي بـ <code>/x</code> من المعرّفات التي تنتهي بـ <code>/x/</code> عند استخدام هذه الدالة لإجراء عملية نقل الكائن object traversal. | |||
== البنية العامة == | == البنية العامة == | ||
سطر 15: | سطر 22: | ||
== القيمة المعادة == | == القيمة المعادة == | ||
تعيد الدالة الاسم المنقول. | تعيد الدالة الاسم المنقول. | ||
تعيد الدالة القيمة <code>None</code> في حال عدم وجود أي مسارات في <code>PATH_INFO</code>. | |||
== مصادر == | == مصادر == |
المراجعة الحالية بتاريخ 20:21، 26 ديسمبر 2018
تنقل الدالة اسمًا منفردًا من PATH_INFO
إلى SCRIPT_NAME
وتعيد الاسم المنقول. يُعدّل القاموس المعطى في مكانه in-place، ويمكنك استخدام نسخة من القاموس إن كنت بحاجة إلى المحافظة على قيمة PATH_INFO
أو SCRIPT_NAME
الأصلية دون تعديل.
تستخدم هذه الدالة عادة لمعالجة كل جزء من أجزاء مسار URI في الطلب، كأن تجري معالجة المسار كسلسلة من مفاتيح القاموس. تعدّل هذه الدالة البيئة الممرة لجعلها ملائمة للتنفيذ من قبل تطبيق WSGI آخر والموجود في معرّف URI الهدف.
فعلى سبيل المثال لو كان هناك تطبيق WSGI على المسار /foo
وكان مسار URI في الطلب هو /foo/bar/baz
، واستدعى التطبيق في المسار /foo
الدالة shift_path_info()
فإنّه سيستقبل السلسلة النصية "bar" وستُحدّث البيئة لتكون ملائمة لتمرير تطبيق WSGI على المسار /foo/bar
.
أيّ أنّ قيمة المتغير SCRIPT_NAME
ستتغيّر من /foo
إلى /foo/bar
وقيمة المتغير PATH_INFO
ستتغير من /bar/baz
إلى /baz
.
عندما تكون قيمة PATH_INFO
هي "/"
فقط، فإنّ الدالة تعيد سلسلة نصية فارغة وتضيف الخط المائل إلى المتغير SCRIPT_NAME
، على الرغم من أنّ الأجزاء الفارغة في المسار يجري تجاهلها في العادة، وأنّ قيمة المتغيّر SCRIPT_NAME
لا تنتهي عادة بخطّ مائل، ولكن يضمن هذا السلوك أنّ التطبيق قادر على تمييز معرّفات URI التي تنتهي بـ /x
من المعرّفات التي تنتهي بـ /x/
عند استخدام هذه الدالة لإجراء عملية نقل الكائن object traversal.
البنية العامة
wsgiref.util.shift_path_info(environ)
المعاملات
environ
قاموس متوافق مع WSGI. يمكن مراجعة PEP 3333 للاطلاع على المزيد من التفاصيل.
القيمة المعادة
تعيد الدالة الاسم المنقول.
تعيد الدالة القيمة None
في حال عدم وجود أي مسارات في PATH_INFO
.