o 0i@sD ddlZedZedZedZd ddZGdd d ZdS) Nz[ \(\)<>@,;:\\"/\[\]\?=]z[\x00-\x1F\x7F]z[\x00-\x08\x0A-\x1F\x7F]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 _formatparams  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__cCsB t|tur|r tnt}||rtd|Stdt|)Nz)Control characters not allowed in headersz1Header names/values must be of type str (got {0})) rstr_name_disallowed_re_value_disallowed_rer ValueErrorAssertionErrorformatrepr)rr nameZregexr r r r.s    zHeaders._convert_string_typecCs t|jSN)rrrr r r __len__8s zHeaders.__len__cCs0 ||=|j|j|dd|j|ddfdSNTrF)rappendr)rrvalr r r __setitem__<s zHeaders.__setitem__cs6 |jddfdd|jD|jdd<dS)NTr#cs g|] }|dkr|qS)rlower.0Zkvr#r r Hs z'Headers.__delitem__..rr(rrrr r#r __delitem__Bs"zHeaders.__delitem__cCs ||Srgetr-r r r __getitem__Js zHeaders.__getitem__cCs ||duSrr/r-r r r __contains__UszHeaders.__contains__cs( |jddfdd|jDS)NTr#cs$g|]}|dkr|dqS)rrr'r)r#r r r+cs$z#Headers.get_all..r,r-r r#r get_allZszHeaders.get_allcCs< |j|dd}|jD]\}}||kr|Sq |S)NTr#r,)rrdefaultrrr r r r0fs z Headers.getcC dd|jDS)NcSsg|]\}}|qSr r r*rrr r r r+wz Headers.keys..rr r r r keysoz Headers.keyscCr5)NcSsg|]\}}|qSr r r6r r r r+r7z"Headers.values..r8r r r r valuesyr:zHeaders.valuescCs |jddSrr8r r r r itemssz Headers.itemscCsd|jj|jfS)Nz%s(%r)) __class____name__rr r r r __repr__szHeaders.__repr__cCs ddd|jDddgS)Nz cSsg|]}d|qS)z%s: %sr r)r r r r+r7z#Headers.__str__..)joinrr r r r __str__szHeaders.__str__cCst|dS)Nz iso-8859-1)rencoder r r r __bytes__szHeaders.__bytes__cCs@ ||}|dur|j|j|dd|j|ddf|S|Sr")r0rr$r)rrr resultr r r setdefaults  zHeaders.setdefaultcKs g}|dur|j|dd}|||D],\}}|j|dd}|dur0||ddq|j|dd}|t|dd|q|j|j|ddd|fdS)NFr#T_-z; )rr$r<rr rrA)r_nameZ_valueZ_paramspartsrrr r r add_headers $zHeaders.add_headerr)r> __module__ __qualname__rrr!r&r.r1r2r3r0r9r;r<r?rBrDrFrKr r r r r !s&          r )Nr)recompilerrrr r r r r r s