o ?Ogn@s0 ddlZedZdddZGdddZdS) Nz[ \(\)<>@,;:\\"/\[\]\?=]cCsT |dur(t|dkr(|st|r"|dddd}d||fSd||fS|S)Nr\z\\"z\"z%s="%s"z%s=%s)len tspecialssearchreplace)ZparamvalueZquoter 6/opt/alt/python310/lib64/python3.10/wsgiref/headers.py _formatparam s  r c@seZdZ d$ddZddZddZdd Zd d Zd d ZddZ ddZ d$ddZ ddZ ddZ ddZddZddZddZd d!Zd"d#ZdS)%HeadersNcCs.|dur|ng}t|turtd||_dS)Nz+Headers must be a list of name/value tuples)typelist TypeError_headers_convert_string_type)selfZheaderskvr r r __init__s  zHeaders.__init__cCs$ t|tur |Stdt|)Nz1Header names/values must be of type str (got {0}))rstrAssertionErrorformatrepr)rr r r r r)s   zHeaders._convert_string_typecCs t|jSN)rrrr r r __len__0s zHeaders.__len__cCs( ||=|j||||fdSr)rappendr)rnamevalr r r __setitem__4s zHeaders.__setitem__cs2 |fdd|jD|jdd<dS)Ncs g|] }|dkr|qS)rlower.0Zkvrr r @s z'Headers.__delitem__..rr#rrrr r&r __delitem__:s"zHeaders.__delitem__cCs ||Srgetr)r r r __getitem__Bs zHeaders.__getitem__cCs ||duSrr+r)r r r __contains__MszHeaders.__contains__cs$ |fdd|jDS)Ncs$g|]}|dkr|dqS)rrr"r$r&r r r'[s$z#Headers.get_all..r(r)r r&r get_allRszHeaders.get_allcCs8 ||}|jD]\}}||kr|Sq |Srr()rrdefaultrrr r r r,^s z Headers.getcC dd|jDS)NcSsg|]\}}|qSr r r%rrr r r r'oz Headers.keys..rrr r r keysgz Headers.keyscCr1)NcSsg|]\}}|qSr r r2r r r r'yr3z"Headers.values..r4rr r r valuesqr6zHeaders.valuescCs |jddSrr4rr r r items{sz Headers.itemscCsd|jj|jfS)Nz%s(%r)) __class____name__rrr r r __repr__szHeaders.__repr__cCs ddd|jDddgS)Nz cSsg|]}d|qS)z%s: %sr r$r r r r'r3z#Headers.__str__..)joinrrr r r __str__szHeaders.__str__cCst|dS)Nz iso-8859-1)rencoderr r r __bytes__szHeaders.__bytes__cCs8 ||}|dur|j||||f|S|Sr)r,rrr)rrr resultr r r setdefaults zHeaders.setdefaultcKs g}|dur||}|||D](\}}||}|dur,||ddq||}|t|dd|q|j||d|fdS)N_-z; )rrr8rr rr=)r_nameZ_valueZ_paramspartsrrr r r add_headers     zHeaders.add_headerr)r: __module__ __qualname__rrrr!r*r-r.r/r,r5r7r8r;r>r@rBrGr r r r r s&         r )Nr)recompilerr r r r r r s