الفرق بين المراجعتين لصفحة: «Python/Headers»

من موسوعة حسوب
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:الصنف <code>wsgiref.headers.Headers‎‎</code> في بايثون}}</noinclude> تدعم كائنات Headers العمليات الخا...'
 
لا ملخص تعديل
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الصنف <code>wsgiref.headers.Headers‎‎</code> في بايثون}}</noinclude>
<noinclude>{{DISPLAYTITLE:الصنف <code>wsgiref.headers.Headers‎‎</code> في بايثون}}</noinclude>


تدعم كائنات Headers العمليات الخاصة بالقواميس مثل ‎__getitem__()‎ و get()‎ و ‎__setitem__()‎ و setdefault()‎ و ‎__delitem__()‎ و ‎__contains__()‎.  
تدعم كائنات <code>Headers</code> العمليات الخاصة [[Python/dict|بالقواميس]] مثل <code>‎__getitem__()</code>‎ و <code>get()</code>‎ و <code>‎__setitem__()</code>‎ و <code>setdefault()</code>‎ و <code>‎__delitem__()</code>‎ و <code>‎__contains__()</code>‎.  


يكون المفتاح في كل هذه العمليات هو اسم الترويسة (ليست حساسة لحالة الأحرف) وتكون القيمة هي أول قيمة مرتبطة باسم الترويسة ذاك.
يكون المفتاح في كل هذه العمليات هو اسم الترويسة (ليست حساسة لحالة الأحرف) وتكون القيمة هي أول قيمة مرتبطة باسم الترويسة ذاك.
سطر 7: سطر 7:
يؤدي تعيين ترويسة إلى حذف أي قيمة موجودة في تلك الترويسة، ثم تضاف القمية الجديدة إلى نهاية قائمة الترويسات. تضاف الترويسات الجديدة إلى نهاية القائمة وبذلك يتم المحافظة على ترتيب الترويسات الموجودة أصلًا.  
يؤدي تعيين ترويسة إلى حذف أي قيمة موجودة في تلك الترويسة، ثم تضاف القمية الجديدة إلى نهاية قائمة الترويسات. تضاف الترويسات الجديدة إلى نهاية القائمة وبذلك يتم المحافظة على ترتيب الترويسات الموجودة أصلًا.  


تختلف كائنات Headers عن القواميس في أنّها لا تطلق خطأً عند محاولة جلب أو حذف مفتاح غير موجود في قائمة الترويسات. تؤدي محاولة جلب ترويسة غير موجودة إلى إعادة القيمة None، أما عند محاولة حذف ترويسة غير موجودة فلن يحدث شيءٌ إطلاقًا.  
تختلف كائنات <code>Headers</code> عن [[Python/dict|القواميس]] في أنّها لا تطلق خطأً عند محاولة جلب أو حذف مفتاح غير موجود في قائمة الترويسات. تؤدي محاولة جلب ترويسة غير موجودة إلى إعادة القيمة <code>None</code>، أما عند محاولة حذف ترويسة غير موجودة فلن يحدث شيءٌ إطلاقًا.  


تدعم كائنات Headers كذلك التوابع keys()‎ و values()‎ و items()‎. ويمكن للقوائم المعادة من استدعاء التابعين keys()‎ و items()‎ أن تتضمّن المفتاح عينه أكثر من مرة؛ وذلك في حال وجود ترويسات ذات قيم متعددة.
تدعم كائنات <code>Headers</code> كذلك التوابع <code>keys()‎</code> و <code>values()</code>‎ و <code>items()</code>‎. ويمكن [[Python/list|للقوائم]] المعادة من استدعاء التابعين <code>keys()</code>‎ و <code>items()</code>‎ أن تتضمّن المفتاح عينه أكثر من مرة؛ وذلك في حال وجود ترويسات ذات قيم متعددة.


إن طول كائنات Headers (يمكن الحصول عليه باستخدام الدالة len()‎) مساوٍ لعدد العناصر الموجودة فيه (يمكن الحصول على عدد العناصر باستخدام التابع items()‎)، وهو مساوٍ كذلك لعدد العناصر في قائمة الترويسات. يعيد التابع items()‎ في الواقع نسخة من قائمة الترويسات فقط.
إن طول كائنات <code>Headers</code> (يمكن الحصول عليه باستخدام الدالة <code>len()‎</code>) مساوٍ لعدد العناصر الموجودة فيه (يمكن الحصول على عدد العناصر باستخدام التابع <code>items()‎</code>)، وهو مساوٍ كذلك لعدد العناصر في قائمة الترويسات. يعيد التابع <code>items()‎</code> في الواقع نسخة من قائمة الترويسات فقط.


يؤدي استدعاء الدالة bytes()‎ على كائنات Header إلى إعادة سلسلة بايتات نصية bytestring منسّقة تكون ملائمة لنقلها كترويسة استجابة HTTP. توضع كل ترويسة مع قيمتها في سطر مستقل، وتفصل الترويسات عن القيم بنقطتين رأسيتين أو مسافة بيضاء. يُختم كل سطر بمحرف العودة إلى بداية السطر Carriage return و محرف السطر الجديد line feed، وتُختم سلسلة البايتات النصية بسطر فارغ.
يؤدي استدعاء الدالة <code>bytes()‎</code> على كائنات <code>Header</code> إلى إعادة سلسلة بايتات نصية <code>bytestring</code> منسّقة تكون ملائمة لنقلها كترويسة استجابة HTTP. توضع كل ترويسة مع قيمتها في سطر مستقل، وتفصل الترويسات عن القيم بنقطتين رأسيتين أو مسافة بيضاء. يُختم كل سطر بمحرف العودة إلى بداية السطر Carriage return و محرف السطر الجديد line feed، وتُختم سلسلة البايتات النصية بسطر فارغ.


== البنية العامة ==
== البنية العامة ==
سطر 20: سطر 20:
wsgiref.headers.Headers([headers])
wsgiref.headers.Headers([headers])
</syntaxhighlight>
</syntaxhighlight>
== المعاملات ==
== المعاملات ==
=== ‎headers ===
=== <code>‎headers</code> ===


القيمة الافتراضية لهذا المعامل هي قائمة فارغة.
القيمة الافتراضية لهذا المعامل هي قائمة فارغة.


== توابع الصنف Headers ==
== توابع الصنف Headers ==
=== التابع get_all()‎ ===
=== التابع <code>[[Python/Headers/get all|get_all()‎]]</code> ===
يعيد التابع قائمة بجميع القيم المندرجة ضمن الترويسة المعطاة.
يعيد التابع قائمة بجميع القيم المندرجة ضمن الترويسة المعطاة.


=== التابع add_header()‎ ===
=== التابع <code>[[Python/Headers/add header|add_header()]]</code>‎ ===
يضيف التابع ترويسة (يمكن أن تكون متعددة القيم) مع معاملات MIME اختيارية تُحدّد بواسطة المعاملات المفتاحية.
يضيف التابع ترويسة (يمكن أن تكون متعددة القيم) مع معاملات MIME اختيارية تُحدّد بواسطة المعاملات المفتاحية.



مراجعة 22:20، 26 ديسمبر 2018


تدعم كائنات Headers العمليات الخاصة بالقواميس مثل ‎__getitem__()‎ و get()‎ و ‎__setitem__()‎ و setdefault()‎ و ‎__delitem__()‎ و ‎__contains__()‎.

يكون المفتاح في كل هذه العمليات هو اسم الترويسة (ليست حساسة لحالة الأحرف) وتكون القيمة هي أول قيمة مرتبطة باسم الترويسة ذاك.

يؤدي تعيين ترويسة إلى حذف أي قيمة موجودة في تلك الترويسة، ثم تضاف القمية الجديدة إلى نهاية قائمة الترويسات. تضاف الترويسات الجديدة إلى نهاية القائمة وبذلك يتم المحافظة على ترتيب الترويسات الموجودة أصلًا.

تختلف كائنات Headers عن القواميس في أنّها لا تطلق خطأً عند محاولة جلب أو حذف مفتاح غير موجود في قائمة الترويسات. تؤدي محاولة جلب ترويسة غير موجودة إلى إعادة القيمة None، أما عند محاولة حذف ترويسة غير موجودة فلن يحدث شيءٌ إطلاقًا.

تدعم كائنات Headers كذلك التوابع keys()‎ و values()‎ و items()‎. ويمكن للقوائم المعادة من استدعاء التابعين keys()‎ و items()‎ أن تتضمّن المفتاح عينه أكثر من مرة؛ وذلك في حال وجود ترويسات ذات قيم متعددة.

إن طول كائنات Headers (يمكن الحصول عليه باستخدام الدالة len()‎) مساوٍ لعدد العناصر الموجودة فيه (يمكن الحصول على عدد العناصر باستخدام التابع items()‎)، وهو مساوٍ كذلك لعدد العناصر في قائمة الترويسات. يعيد التابع items()‎ في الواقع نسخة من قائمة الترويسات فقط.

يؤدي استدعاء الدالة bytes()‎ على كائنات Header إلى إعادة سلسلة بايتات نصية bytestring منسّقة تكون ملائمة لنقلها كترويسة استجابة HTTP. توضع كل ترويسة مع قيمتها في سطر مستقل، وتفصل الترويسات عن القيم بنقطتين رأسيتين أو مسافة بيضاء. يُختم كل سطر بمحرف العودة إلى بداية السطر Carriage return و محرف السطر الجديد line feed، وتُختم سلسلة البايتات النصية بسطر فارغ.

البنية العامة

wsgiref.headers.Headers([headers])

المعاملات

‎headers

القيمة الافتراضية لهذا المعامل هي قائمة فارغة.

توابع الصنف Headers

التابع get_all()‎

يعيد التابع قائمة بجميع القيم المندرجة ضمن الترويسة المعطاة.

التابع add_header()

يضيف التابع ترويسة (يمكن أن تكون متعددة القيم) مع معاملات MIME اختيارية تُحدّد بواسطة المعاملات المفتاحية.

مصادر