й¼]nã@sDddlZejdƒZdddd„ZGdd„dƒZdS)éNz[ \(\)<>@,;:\\"/\[\]\?=]écCsx|dk rpt|ƒdkrp|s3tj|ƒr_|jddƒjddƒ}d||fSd||fSn|SdS)Nrú\z\\ú"z\"z%s="%s"z%s=%s)ÚlenÚ tspecialsÚsearchÚreplace)ZparamÚvalueÚquote©r ú,/opt/alt/python35/lib64/python3.5/headers.pyÚ _formatparam s r c@sâeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z ddd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„ZdS)$ÚHeadersNcCsC|dk r|ng}t|ƒtk r6tdƒ‚||_dS)Nz+Headers must be a list of name/value tuples)ÚtypeÚlistÚ TypeErrorÚ_headers)ÚselfZheadersr r r Ú__init__s   zHeaders.__init__cCs5t|ƒtkr|Stdjt|ƒƒƒ‚dS)Nz1Header names/values must be of type str (got {0}))rÚstrÚAssertionErrorÚformatÚrepr)rr r r r Ú_convert_string_type)s zHeaders._convert_string_typecCs t|jƒS)N)rr)rr r r Ú__len__0szHeaders.__len__cCs3||=|jj|j|ƒ|j|ƒfƒdS)N)rÚappendr)rÚnameÚvalr r r Ú __setitem__4s zHeaders.__setitem__csB|jˆjƒƒ‰‡fdd†|jDƒ|jdd…@s z'Headers.__delitem__..)rrr)rrr )rr Ú __delitem__:szHeaders.__delitem__cCs |j|ƒS)N)Úget)rrr r r Ú __getitem__Bs zHeaders.__getitem__cCs|j|ƒdk S)N)r$)rrr r r Ú __contains__MszHeaders.__contains__cs/|jˆjƒƒ‰‡fdd†|jDƒS)Ncs0g|]&}|djƒˆkr|d‘qS)rr)r)r r!)rr r r"[s z#Headers.get_all..)rrr)rrr )rr Úget_allRszHeaders.get_allcCsI|j|jƒƒ}x-|jD]"\}}|jƒ|kr|SqW|S)N)rrr)rrÚdefaultÚkÚvr r r r$^s z Headers.getcCsdd„|jDƒS)NcSsg|]\}}|‘qSr r )r r)r*r r r r"os z Headers.keys..)r)rr r r Úkeysgsz Headers.keyscCsdd„|jDƒS)NcSsg|]\}}|‘qSr r )r r)r*r r r r"ys z"Headers.values..)r)rr r r ÚvaluesqszHeaders.valuescCs|jdd…S)N)r)rr r r Úitems{sz Headers.itemscCsd|jj|jfS)Nz%s(%r))Ú __class__Ú__name__r)rr r r Ú__repr__…szHeaders.__repr__cCs'djdd„|jDƒddgƒS)Nz cSsg|]}d|‘qS)z%s: %sr )r r!r r r r"‹s z#Headers.__str__..Ú)Újoinr)rr r r Ú__str__ˆszHeaders.__str__cCst|ƒjdƒS)Nz iso-8859-1)rÚencode)rr r r Ú __bytes__�szHeaders.__bytes__cCsO|j|ƒ}|dkrG|jj|j|ƒ|j|ƒfƒ|S|SdS)N)r$rrr)rrr Úresultr r r Ú setdefault�s  zHeaders.setdefaultcKsßg}|dk r.|j|ƒ}|j|ƒx‚|jƒD]t\}}|j|ƒ}|dkr~|j|jddƒƒq;|j|ƒ}|jt|jddƒ|ƒƒq;W|jj|j|ƒdj|ƒfƒdS)NÚ_ú-z; )rrr-rr rr2)rÚ_nameÚ_valueZ_paramsÚpartsr)r*r r r Ú add_header�s   &zHeaders.add_header)r/Ú __module__Ú __qualname__rrrrr#r%r&r'r$r+r,r-r0r3r5r7r=r r r r rs"           r)ÚreÚcompilerr rr r r r Ú s