U e5dnã@s.ddlZe d¡Zddd„ZGdd„dƒZdS) éNz[ \(\)<>@,;:\\"/\[\]\?=]écCsX|dk rPt|ƒdkrP|s"t |¡rB| dd¡ dd¡}d||fSd||fSn|SdS)Nrú\z\\ú"z\"z%s="%s"z%s=%s)ÚlenÚ tspecialsÚsearchÚreplace)ZparamÚvalueZquote©r ú'/usr/lib64/python3.8/wsgiref/headers.pyÚ _formatparam s  r c@s˜eZdZd$dd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z d%dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zd d!„Zd"d#„ZdS)&ÚHeadersNcCs.|dk r |ng}t|ƒtk r$tdƒ‚||_dS)Nz+Headers must be a list of name/value tuples)ÚtypeÚlistÚ TypeErrorÚ_headers)ÚselfZheadersr r r Ú__init__s  zHeaders.__init__cCs&t|ƒtkr|Std t|ƒ¡ƒ‚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__cCs&||=|j | |¡| |¡f¡dSr)rÚappendr)rÚnameÚvalr r r Ú __setitem__4sÿzHeaders.__setitem__cs0| ˆ ¡¡‰‡fdd„|jDƒ|jdd…<dS)Ncs g|]}|d ¡ˆkr|‘qS)r©Úlower©Ú.0Zkv©rr r Ú @sz'Headers.__delitem__..©rr!r©rrr r$r Ú __delitem__:szHeaders.__delitem__cCs | |¡Sr©Úgetr'r r r Ú __getitem__Bs zHeaders.__getitem__cCs| |¡dk Srr)r'r r r Ú __contains__MszHeaders.__contains__cs"| ˆ ¡¡‰‡fdd„|jDƒS)Ncs$g|]}|d ¡ˆkr|d‘qS)rrr r"r$r r r%[sz#Headers.get_all..r&r'r r$r Úget_allRszHeaders.get_allcCs6| | ¡¡}|jD]\}}| ¡|kr|Sq|Srr&)rrÚdefaultÚkÚvr r r r*^s   z Headers.getcCsdd„|jDƒS)NcSsg|] \}}|‘qSr r ©r#r/r0r r r r%osz Headers.keys..©rrr r r Úkeysgsz Headers.keyscCsdd„|jDƒS)NcSsg|] \}}|‘qSr r r1r r r r%ysz"Headers.values..r2rr r r ÚvaluesqszHeaders.valuescCs|jdd…Srr2rr r r Úitems{sz Headers.itemscCsd|jj|jfS)Nz%s(%r))Ú __class__Ú__name__rrr r r Ú__repr__…szHeaders.__repr__cCsd dd„|jDƒddg¡S)Nz cSsg|] }d|‘qS)z%s: %sr r"r r r r%‹sz#Headers.__str__..Ú)Újoinrrr r r Ú__str__ˆszHeaders.__str__cCst|ƒ d¡S)Nz iso-8859-1)rÚencoderr r r Ú __bytes__�szHeaders.__bytes__cCs:| |¡}|dkr2|j | |¡| |¡f¡|S|SdSr)r*rrr)rrr Úresultr r r Ú setdefault�s ÿzHeaders.setdefaultcKsšg}|dk r | |¡}| |¡| ¡D]P\}}| |¡}|dkrV| | dd¡¡q(| |¡}| t| dd¡|ƒ¡q(|j | |¡d |¡f¡dS)NÚ_ú-z; )rrr5rr rr:)rÚ_nameZ_valueZ_paramsÚpartsr/r0r r r Ú add_header�s    zHeaders.add_header)N)N)r7Ú __module__Ú __qualname__rrrrr(r+r,r-r*r3r4r5r8r;r=r?rDr r r r r s"       r )Nr)ÚreÚcompilerr r r r r r Ú s