
    =Ogn                     R    	 d dl Z  e j        d          ZddZ G d d          ZdS )    Nz[ \(\)<>@,;:\\"/\[\]\?=]   c                     	 |ht          |          dk    rU|st                              |          r2|                    dd                              dd          }| d|dS | d|S | S )Nr   \z\\"z\"z="=)len	tspecialssearchreplace)paramvaluequotes      (/usr/lib64/python3.11/wsgiref/headers.py_formatparamr      s     SZZ!^^ 	,I$$U++ 	,MM$//77UCCE %uuu--#eeUU++    c                   z    e Zd Z	 ddZd Zd Zd Zd Zd Zd Z	d	 Z
dd
Zd Zd Zd Zd Zd Zd Zd Zd ZdS )HeadersNc                 j    ||ng }t          |          t          urt          d          || _        d S )Nz+Headers must be a list of name/value tuples)typelist	TypeError_headers_convert_string_type)selfheaderskvs       r   __init__zHeaders.__init__   sA    $0''b==$$IJJJ	- 	-r   c                     	 t          |          t          u r|S t          d                    t	          |                              )Nz1Header names/values must be of type str (got {0}))r   strAssertionErrorformatrepr)r   r   s     r   r   zHeaders._convert_string_type)   sE    ';;#L %%+VDKK%8%8: : 	:r   c                 ,    	 t          | j                  S N)r   r   r   s    r   __len__zHeaders.__len__0   s    G4=!!!r   c                     	 | |= | j                             |                     |          |                     |          f           d S r%   )r   appendr   )r   namevals      r   __setitem__zHeaders.__setitem__4   sY    (J&&t,,d.G.G.L.LM	O 	O 	O 	O 	Or   c                     	 |                                                                fd| j        D             | j        d d <   d S )Nc                 P    g | ]"}|d                                           k     |#S )r   lower.0kvr*   s     r   
<listcomp>z'Headers.__delitem__.<locals>.<listcomp>@   s/    PPP2"Q%++--4:O:OB:O:O:Or   r   r0   r   r   r*   s    `r   __delitem__zHeaders.__delitem__:   sQ    	 ((66PPPPPPPaaar   c                 .    	 |                      |          S r%   getr6   s     r   __getitem__zHeaders.__getitem__B   s    	 xx~~r   c                 2    	 |                      |          d uS r%   r9   r6   s     r   __contains__zHeaders.__contains__M   s    =xx~~T))r   c                 z    	 |                                                                fd| j        D             S )Nc                 \    g | ](}|d                                           k     |d         )S )r   r   r/   r1   s     r   r4   z#Headers.get_all.<locals>.<listcomp>[   s3    EEE"A1D1D11D1D1Dr   r5   r6   s    `r   get_allzHeaders.get_allR   sA    	 ((66EEEEEEEEr   c                     	 |                      |                                          }| j        D ]!\  }}|                                |k    r|c S "|S r%   r5   )r   r*   defaultr   r   s        r   r:   zHeaders.get^   sY    H((66= 	 	CAawwyy$ r   c                 &    	 d | j         D             S )Nc                     g | ]\  }}|S  rE   r2   r   r   s      r   r4   z Headers.keys.<locals>.<listcomp>o       ,,,da,,,r   r   r&   s    r   keyszHeaders.keysg       	 -,dm,,,,r   c                 &    	 d | j         D             S )Nc                     g | ]\  }}|S rE   rE   rF   s      r   r4   z"Headers.values.<locals>.<listcomp>y   rG   r   rH   r&   s    r   valueszHeaders.valuesq   rJ   r   c                 "    	 | j         d d          S r%   rH   r&   s    r   itemszHeaders.items{   s    	 }QQQr   c                 0    | j         j        d| j        dS )N())	__class____name__r   r&   s    r   __repr__zHeaders.__repr__   s    >222DMMMBBr   c                 V    	 d                     d | j        D             ddgz             S )Nz
c                     g | ]}d |z  S )z%s: %srE   )r2   r3   s     r   r4   z#Headers.__str__.<locals>.<listcomp>   s    BBBbHrMBBBr    )joinr   r&   s    r   __str__zHeaders.__str__   s3    	2{{BBDMBBBBr7JKKKr   c                 F    t          |                               d          S )Nz
iso-8859-1)r    encoder&   s    r   	__bytes__zHeaders.__bytes__   s    4yy---r   c                     	 |                      |          }|D| j                            |                     |          |                     |          f           |S |S r%   )r:   r   r)   r   )r   r*   r   results       r   
setdefaultzHeaders.setdefault   sg    	 $>M  $";";D"A"A))%00"2 3 3 3LMr   c           	      6   	 g }|*|                      |          }|                    |           |                                D ]\  }}|                      |          }|*|                    |                    dd                     F|                      |          }|                    t	          |                    dd          |                     | j                            |                      |          d                    |          f           d S )N_-z; )r   r)   rO   r   r   r   rY   )r   _name_value_paramspartsr   r   s          r   
add_headerzHeaders.add_header   s   	 ..v66FLL   MMOO 	C 	CDAq))!,,AyQYYsC001111--a00\!))C*=*=qAABBBBd77>>		%@P@PQRRRRRr   r%   )rT   
__module____qualname__r   r   r'   r,   r7   r;   r=   r@   r:   rI   rM   rO   rU   rZ   r]   r`   rh   rE   r   r   r   r      s4       6- - - -: : :" " "O O OQ Q Q	 	 	* * *
	F 	F 	F   - - -- - -     C C CL L L
. . .  S S S S Sr   r   )Nr   )recompiler	   r   r   rE   r   r   <module>rm      s    
			BJ233	   \S \S \S \S \S \S \S \S \S \Sr   