الصنف wsgiref.headers.Headers‎‎ في بايثون

من موسوعة حسوب
مراجعة 06:50، 27 ديسمبر 2018 بواسطة Mohammed Taher (نقاش | مساهمات) (←‏‎headers)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)


تدعم كائنات 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 معامل اختياري في الإصدار 3.5 من بايثون.

توابع الصنف Headers

التابع get_all()‎

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

التابع add_header()

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

مصادر