ž
¬ÿf c @ sJ d Z d d l Z e j d ƒ Z d d d d „ Z Gd d „ d ƒ Z d S( uÓ Manage HTTP Response Headers
Much of this module is red-handedly pilfered from email.message in the stdlib,
so portions are Copyright (C) 2001,2002 Python Software Foundation, and were
written by Barry Warsaw.
i Nu [ \(\)<>@,;:\\"/\[\]\?=]i c C sx | d k rp t | ƒ d k rp | s3 t j | ƒ r_ | j d d ƒ j d d ƒ } d | | f Sd | | f Sn | Sd S( u~ Convenience function to format and return a key=value pair.
This will quote the value if needed or if quote is true.
i u \u \\u "u \"u %s="%s"u %s=%sN( u Noneu lenu tspecialsu searchu replace( u paramu valueu quote( ( u4 /opt/alt/python33/lib64/python3.3/wsgiref/headers.pyu _formatparam
s u _formatparamc B sé | Ee Z d Z d Z d d „ Z d d „ Z d d „ Z d d „ Z d
d „ Z d d
„ Z d d „ Z
d d „ Z d$ d d „ Z
d d „ Z d d „ Z d d „ Z d d „ Z d d „ Z d d „ Z d d! „ Z d" d# „ Z d$ S(% u Headersu, Manage a collection of HTTP response headersc C s. t | ƒ t k r! t d ƒ ‚ n | | _ d S( Nu+ Headers must be a list of name/value tuples( u typeu listu TypeErroru _headers( u selfu headers( ( u4 /opt/alt/python33/lib64/python3.3/wsgiref/headers.pyu __init__ s u Headers.__init__c C s5 t | ƒ t k r | St d j t | ƒ ƒ ƒ ‚ d S( u Convert/check value type.u1 Header names/values must be of type str (got {0})N( u typeu stru AssertionErroru formatu repr( u selfu value( ( u4 /opt/alt/python33/lib64/python3.3/wsgiref/headers.pyu _convert_string_type) s u Headers._convert_string_typec C s
t | j ƒ S( u9 Return the total number of headers, including duplicates.( u lenu _headers( u self( ( u4 /opt/alt/python33/lib64/python3.3/wsgiref/headers.pyu __len__0 s u Headers.__len__c C s3 | | =| j j | j | ƒ | j | ƒ f ƒ d S( u Set the value of a header.N( u _headersu appendu _convert_string_type( u selfu nameu val( ( u4 /opt/alt/python33/lib64/python3.3/wsgiref/headers.pyu __setitem__4 s u Headers.__setitem__c sB | j ˆ j ƒ ƒ ‰ ‡ f d d † | j Dƒ | j d d …