
    wg                     X    d dl Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
 d	dZd	dZd	dZy)
    N   )Request)get_comma_headerhas_expect_100_continueHeadersnormalize_and_validateset_comma_header)LocalProtocolErrorc                     t        dg      dgk(  sJ t        dg      dgk(  sJ t        j                  t              5  t        dg       d d d        t        j                  t              5  t        dg       d d d        t        j                  t              5 } t        dg       d d d        dt	         j
                        v sJ t        j                  t              5  t        dg       d d d        t        j                  t              5  t        dg       d d d        t        j                  t              5  t        d	g       d d d        t        j                  t              5 } t        d
g       d d d        dt	        | j
                        v sJ t        j                  t              5  t        dg       d d d        t        j                  t              5  t        dg       d d d        t        j                  t              5  t        dg       d d d        t        j                  t              5  t        dg       d d d        t        j                  t              5  t        dg       d d d        t        j                  t              5  t        dg       d d d        t        dg      dgk(  sJ t        j                  t              5  t        dg       d d d        t        j                  t              5  t        dg       d d d        t        j                  t              5  t        ddg       d d d        t        ddg      dgk(  sJ t        dg      dgk(  sJ t        j                  t              5  t        g d       d d d        t        j                  t              5  t        dg       d d d        t        dg      dgk(  sJ t        dg      dgk(  sJ t        j                  t              5 } t        dg       d d d        | j
                  j                  d k(  sJ t        j                  t              5 } t        ddg       d d d        | j
                  j                  d k(  sJ y # 1 sw Y   ;xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   }xY w# 1 sw Y   \xY w# 1 sw Y   "xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   }xY w# 1 sw Y   JxY w# 1 sw Y   )xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ZxY w# 1 sw Y   xY w)!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    [/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/h11/tests/test_headers.pytest_normalize_and_validater'      s   !>"238H7IIII!#3"45:J9KKKK 
)	* 3 0123	)	* 3 0123 
)	* 7g 4567GMM****	)	* : 789: 
)	* : 789: 
)	* : 789: 
)	* 6g 3456#gmm,,,,	)	* 6 3456	)	* 8 5678 
)	* 6 3456	)	* 6 3456	)	* 6 3456	)	* 6 3456 "#:";<!A    
)	* = :;<=	)	* ; 89:;	)	* S 79PQRS!	 "9:
#	$% % % "#>"?@!E    
)	* 
W	

 
)	* @ =>?@ "#C"DE*J    "#C"DE*J    
)	* @g =>?@==**c111	)	* 
g-/LM	

 ==**c111S3 33 37 7: :: :: :6 66 68 86 66 66 66 6= =; ;S S
 
@ @@ @
 
s   R,RR!R+R8=S+S2S S,S9<T*TT T-T:4UU7U!	U.U;RRR(+R58SSSS),S69TTT T*-T7:UUU!U+.U8;Vc                     t        g d      } t        | d      g dk(  sJ t        | dddg      } t        j                  t
              5  t        | dddg       d d d        | g dk(  sJ t        | d	d
g      } | g dk(  sJ y # 1 sw Y   *xY w)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                      t        t        ddddg            sJ t        t        dddg            rJ t        t        ddddg            sJ t        t        ddddgd            rJ y )	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   