
    h                     ^    S SK r SSKJr  SSKJrJrJrJrJr  SSK	J
r
  S	S jrS	S jrS	S jrg)
    N   )Request)get_comma_headerhas_expect_100_continueHeadersnormalize_and_validateset_comma_header)LocalProtocolErrorc                     [        S/5      S/:X  d   e[        S/5      S/:X  d   e[        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5       n [        S/5        S S S 5        S[	        W R
                  5      ;   d   e[        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S	/5        S S S 5        [        R                  " [        5       n [        S
/5        S S S 5        S[	        U R
                  5      ;   d   e[        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        S/5      S/:X  d   e[        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        R                  " [        5         [        SS/5        S S S 5        [        SS/5      S/:X  d   e[        S/5      S/:X  d   e[        R                  " [        5         [        / SQ5        S S S 5        [        R                  " [        5         [        S/5        S S S 5        [        S/5      S/:X  d   e[        S/5      S/:X  d   e[        R                  " [        5       n [        S/5        S S S 5        U R
                  R                  S :X  d   e[        R                  " [        5       n [        SS/5        S S S 5        U R
                  R                  S :X  d   eg ! , (       d  f       GN^= f! , (       d  f       GNA= f! , (       d  f       GN$= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN]= f! , (       d  f       GN@= f! , (       d  f       GN#= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNa= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f)!N)foobar)   foo   bar)s   foo r   )s    foor   )s   foo bar   bazzfoo bar)s   foo barr   )s   foobarr   )s   foobarr   )r   zbarbazzbar\rbaz)r   zbar
baz)r   zbar baz)r   zbarbaz  )r   z  barbaz)r   zbarbaz	)r   z	barbazContent-Length1)   content-length   1)r   asdf)r   1xr   2)r   0)r      0)r   z0 , 0)r   r   r   )r   z1 , 1,2)Transfer-Encodingchunked)s   transfer-encodings   chunked)r   cHuNkEd)r   gzipi  )r   pytestraisesr
   strvalueerror_status_hint)excinfos    H/var/www/html/env/lib/python3.13/site-packages/h11/tests/test_headers.pytest_normalize_and_validater'      sw   !>"238H7IIII!#3"45:J9KKKK 
)	* 012 
+	)	* 012 
+ 
)	*g 456 
+GMM****	)	* 789 
+ 
)	* 789 
+ 
)	* 789 
+ 
)	*g 345 
+#gmm,,,,	)	* 345 
+	)	* 567 
+ 
)	* 345 
+	)	* 345 
+	)	* 345 
+	)	* 345 
+ "#:";<!A    
)	* :;< 
+	)	* 89: 
+	)	* 79PQR 
+!	 "9:
#	$% % % "#>"?@!E    
)	*W	
 
+ 
)	* =>? 
+ "#C"DE*J    "#C"DE*J    
)	*g =>? 
+==**c111	)	*g-/LM	
 
+ ==**c111S 
+	*	*	* 
+	* 
+	* 
+	* 
+	* 
+	* 
+	*	*	* 
+	*	*	*	*	*	*	* 
+	*	*	*	*	* 
+	* 
+	* 
+	* 
+	*s   R%0R7S	)SS-S?6T T#/T5UU<U++U=-VV!V3"WW'W)2W;%
R47
S	
S
S*-
S<?
T
T #
T25
U
U
U(+
U:=
V
V!
V03
W
W
W&)
W8;
X
c                  .   [        / SQ5      n [        U S5      / SQ:X  d   e[        U SSS/5      n [        R                  " [
        5         [        U SSS/5        S S S 5        U / SQ:X  d   e[        U S	S
/5      n U / SQ:X  d   eg ! , (       d  f       N1= f)N))
Connectionclose)whatever	something)
connectiONzfOo,, , BAR
   connection)   closer   r      newthingabz  a)r.   r/   )   whatevers	   somethingr.   s   fOo,, , BARr0      ar0      br4   zdifferent thing)r3   r5   r6   r8   )r4   s   different thing)r   r   r	   r    r!   r
   )headerss    r&   test_get_set_comma_headerr;   _   s    $	
G G]37QQQQwc3Z@G	)	*+s|< 
+      w6G5HIG     
+	*s   B
Bc            	          [        [        SSSS/S95      (       d   e[        [        SSS/S95      (       a   e[        [        SSSS/S95      (       d   e[        [        SSSS/SS95      (       a   eg )	NGET/)Hostzexample.com)Expectz100-continue)methodtargetr:   )r@   z100-Continuez1.0)rA   rB   r:   http_version)r   r        r&   test_has_100_continuerF      s    ",.HI	
    'uS3J2KL    #,.HI	
    ',.HI		
    rE   )returnN)r    _eventsr   _headersr   r   r   r   r	   _utilr
   r'   r;   rF   rD   rE   r&   <module>rK      s,       'N2b FrE   