3 Õì2anã@s.ddlZejdƒZddd„ZGdd„dƒZdS) éNz[ \(\)<>@,;:\\"/\[\]\?=]écCsX|dk rPt|ƒdkrP|s"tj|ƒrB|jddƒjddƒ}d||fSd||fSn|SdS)Nrú\z\\ú"z\"z%s="%s"z%s=%s)ÚlenÚ tspecialsÚsearchÚreplace)ZparamÚvalueZquote©r ú,/opt/alt/python36/lib64/python3.6/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|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__cCs&||=|jj|j|ƒ|j|ƒfƒdS)N)rÚappendr)rÚnameÚvalr r r Ú __setitem__4szHeaders.__setitem__cs0|jˆjƒƒ‰‡fdd„|jDƒ|jdd…<dS)Ncs g|]}|djƒˆkr|‘qS)r)Úlower)Ú.0Úkv)rr r ú @sz'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)Ncs$g|]}|djƒˆkr|d‘qS)rr)r)rr )rr r r![sz#Headers.get_all..)rrr)rrr )rr Úget_allRszHeaders.get_allcCs6|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 )rr(r)r r r r!osz Headers.keys..)r)rr r r Úkeysgsz Headers.keyscCsdd„|jDƒS)NcSsg|] \}}|‘qSr r )rr(r)r r r r!ysz"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__cCsdjdd„|jDƒddgƒS)Nz cSsg|] }d|‘qS)z%s: %sr )rr r r r r!‹sz#Headers.__str__..Ú)Újoinr)rr r r Ú__str__ˆszHeaders.__str__cCst|ƒjdƒS)Nz iso-8859-1)rÚencode)rr r r Ú __bytes__�szHeaders.__bytes__cCs:|j|ƒ}|dkr2|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]P\}}|j|ƒ}|dkrX|j|jddƒƒq*|j|ƒ}|jt|jddƒ|ƒƒq*W|jj|j|ƒdj|ƒfƒdS)NÚ_ú-z; )rrr,rr rr1)rÚ_nameZ_valueZ_paramsÚpartsr(r)r r r Ú add_header�s    zHeaders.add_header)N)N)r.Ú __module__Ú __qualname__rrrrr"r$r%r&r#r*r+r,r/r2r4r6r;r r r r r s"       r )Nr)ÚreÚcompilerr r r r r r Ú s