Ë
    RPfà"  ã                   óØ   — d dl Z ddlmZmZmZmZmZmZmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ dd„Zdd„Zdd„Zdd	„Zeee
edeiZdd
„Zdd„Zdd„Z dd„Z!dd„Z"dd„Z#y)é    Né   )ÚConnectionClosedÚDataÚEndOfMessageÚEventÚInformationalResponseÚRequestÚResponse)Ú_SWITCH_CONNECTÚ_SWITCH_UPGRADEÚCLIENTÚCLOSEDÚConnectionStateÚDONEÚIDLEÚMIGHT_SWITCH_PROTOCOLÚ
MUST_CLOSEÚ	SEND_BODYÚSEND_RESPONSEÚSERVERÚSWITCHED_PROTOCOL)ÚLocalProtocolErrorc                  óè  — t        «       } | j                  t        t        t        t        ik(  sJ ‚| j                  t        t        «       | j                  t        t        t        t        ik(  sJ ‚t        j                  t        «      5  | j                  t        t        «       d d d «       | j                  t        t        t        t        ik(  sJ ‚| j                  t        t        «       | j                  t        t        t        t        ik(  sJ ‚| j                  t        t        «       | j                  t        t        t        t        ik(  sJ ‚| j                  t        t        «       | j                  t        t        «       | j                  t        t        t        t        ik(  sJ ‚| j                  t        t         «       | j                  t        t"        t        t$        ik(  sJ ‚y # 1 sw Y   �ŒFxY w©N)r   Ústatesr   r   r   Úprocess_eventr	   r   r   ÚpytestÚraisesr   r   r
   r   r   r   r   r   ©Úcss    úN/var/www/fastapitest/venv/lib/python3.12/site-packages/h11/tests/test_state.pyÚtest_ConnectionStater"      sa  € Ü	Ó	€Bð �9‰9œ¤¤v¬tÐ4Ò4Ð4Ð4à×Ñ”VœWÔ%à�9‰9œ¤¬F´MÐBÒBÐBÐBô 
�‰Ô)Ó	*ñ *Ø
×Ñœ¤Ô)÷*à�9‰9œ¤¬F´MÐBÒBÐBÐBà×Ñ”VÔ2Ô3Ø�9‰9œ¤¬F´MÐBÒBÐBÐBà×Ñ”VœXÔ&Ø�9‰9œ¤¬F´IÐ>Ò>Ð>Ð>à×Ñ”Vœ\Ô*Ø×Ñ”Vœ\Ô*Ø�9‰9œ¤¤v¬tÐ4Ò4Ð4Ð4ð ×Ñ”VÔ-Ô.Ø�9‰9œ¤¬V´VÐ<Ò<Ð<Ñ<÷#*ñ *ús   ÂG'Ç'G1c                  óœ  — t        «       } | j                  t        t        «       | j	                  «        | j                  t        t
        «       | j                  t        t        t        t        ik(  sJ ‚| j                  t        t        «       | j                  t        t
        «       | j                  t        t        t        t        ik(  sJ ‚y r   )r   r   r   r	   Úprocess_keep_alive_disabledr   r   r   r   r   r
   r   s    r!   Útest_ConnectionState_keep_aliver%   >   sŒ   € ä	Ó	€BØ×Ñ”VœWÔ%Ø×"Ñ"Ô$Ø×Ñ”Vœ\Ô*Ø�9‰9œ¤¬V´]ÐCÒCÐCÐCà×Ñ”VœXÔ&Ø×Ñ”Vœ\Ô*Ø�9‰9œ¤¬V´ZÐ@Ò@Ð@Ñ@ó    c                  ó  — t        «       } | j                  t        t        «       | j                  t        t        «       | j
                  t           t        u sJ ‚| j                  «        | j
                  t           t        u sJ ‚y r   )	r   r   r   r	   r   r   r   r$   r   r   s    r!   Ú'test_ConnectionState_keep_alive_in_DONEr(   K   sf   € ô 
Ó	€BØ×Ñ”VœWÔ%Ø×Ñ”Vœ\Ô*Ø�9‰9”VÑ¤Ñ$Ð$Ð$Ø×"Ñ"Ô$Ø�9‰9”VÑ¤
Ñ*Ð*Ñ*r&   c                  ó~  — t         t        fD �]­  } dD �]¤  }t        «       }|j                  | «       |j	                  t
        t        «       |j	                  t
        t        «       |j                  t
        t        t        t        ik(  sJ ‚| |j                  v sJ ‚|r(|j	                  t        t        «       |j                  rJ ‚|j	                  t
        t        «       |r&|j                  t
        t        t        t        ik(  rŒòJ ‚|j                  t
        t         t        t        ik(  sJ ‚|j	                  t        t"        «       |j                  t
        t         t        t        ik(  sJ ‚|j	                  t        t        «       |j                  t
        t        t        t        ik(  sJ ‚|j                  s�Œ¥J ‚ �Œ° y )N)TF)r   r   r   Úprocess_client_switch_proposalr   r   r	   r   r   r   r   r   Úpending_switch_proposalsr
   r   r   r   r   )Úswitch_typeÚ
deny_earlyr    s      r!   Ú"test_ConnectionState_switch_deniedr.   W   sv  € Ü'¬Ð9ó !7ˆØ'ó  	7ˆJÜ Ó"ˆBØ×-Ñ-¨kÔ:Ø×ÑœV¤WÔ-Ø×ÑœV¤TÔ*Ø—9‘9¤¬´F¼MÐ JÒJÐJÐJà "×"=Ñ"=Ñ=Ð=Ð=áà× Ñ ¤¬Ô2Ø×6Ò6Ð6Ð6à×ÑœV¤\Ô2áØ—y‘y¤V¬T´6¼9Ð$EÓEÐEÐEà—y‘yÜÔ1ÜœMð%ò ð ð ð
 × Ñ ¤Ô)>Ô?Ø—y‘yÜÔ1ÜœMð%ò ð ð ð
 × Ñ ¤¬Ô2Ø—y‘y¤V¬T´6¼9Ð$EÒEÐEÐEØ×6Ô6Ð6Ð6òA 	7ñ!7r&   c                  ó”  — t         t        fD �]8  } t        «       }|j                  | «       |j	                  t
        t        «       |j	                  t
        t        «       |j                  t
        t        t        t        ik(  sJ ‚|j	                  t
        t        «       |j                  t
        t        t        t        ik(  sJ ‚|j	                  t        t        «       |j                  t
        t        t        t        ik(  sJ ‚|j	                  t        t        |    | «       |j                  t
        t         t        t         ik(  r�Œ9J ‚ y r   )r   r   r   r*   r   r   r	   r   r   r   r   r   r   r   r   Ú_response_type_for_switchr   )Úswitch_eventr    s     r!   Ú-test_ConnectionState_protocol_switch_acceptedr2   ƒ   s÷   € Ü(¬/Ð:ó SˆÜÓˆØ
×)Ñ)¨,Ô7Ø
×Ñœ¤Ô)Ø
×Ñœ¤Ô&Ø�y‰yœV¤Y´¼ÐFÒFÐFÐFà
×Ñœ¤Ô.Ø�y‰yœVÔ%:¼FÄMÐRÒRÐRÐRà
×ÑœÔ!6Ô7Ø�y‰yœVÔ%:¼FÄMÐRÒRÐRÐRà
×ÑœÔ!:¸<Ñ!HÈ,ÔWØ�y‰yœVÔ%6¼Ô@QÐRÔRÐRÐRñSr&   c                  ó  — d t         t        fD ]ú  } t        «       }|j                  t         «       |j                  t        «       |j	                  t
        t        «       |j	                  t
        t        «       |j                  t
        t        t        t        ik(  sJ ‚|j	                  t        t        |    | «       | €&|j                  t
        t        t        t        ik(  rŒÔJ ‚|j                  t
        t        t        t        ik(  rŒúJ ‚ y r   )r   r   r   r*   r   r   r	   r   r   r   r   r   r0   r   r   r   )Úserver_switchr    s     r!   Ú+test_ConnectionState_double_protocol_switchr5   •   s×   € ð ¤´ÐAò WˆÜÓˆØ
×)Ñ)¬/Ô:Ø
×)Ñ)¬/Ô:Ø
×Ñœ¤Ô)Ø
×Ñœ¤Ô.Ø�y‰yœVÔ%:¼FÄMÐRÒRÐRÐRØ
×ÑÜÔ-¨mÑ<¸mô	
ð Ð Ø—9‘9¤¬¬v´yÐ AÓAÐAÐAà—9‘9¤Ô):¼FÔDUÐ VÓVÐVÐVñWr&   c                  ón  — g t         fg t        ft        gt         ft         gt        ffD ]~  \  } }t        «       }| D ]  }|j                  |«       Œ |j	                  t
        t        «       t        j                  t        «      5  |j	                  t        t        |«       d d d «       Œ€ y # 1 sw Y   Œ‹xY wr   )r   r   r   r*   r   r   r	   r   r   r   r   r
   )Úclient_switchesr4   r    Úclient_switchs       r!   Ú1test_ConnectionState_inconsistent_protocol_switchr9   ¨   s®   € à	Œ_ÐØ	Œ_ÐÜ
Ð	œOÐ,Ü
Ð	œOÐ,ð	+ò >Ñ&ˆ˜ô ÓˆØ,ò 	=ˆMØ×-Ñ-¨mÕ<ð	=à
×Ñœ¤Ô)Ü�]‰]Ô-Ó.ñ 	>Ø×ÑœV¤X¨}Ô=÷	>ð 	>ñ>÷	>ð 	>ús   ÂB+Â+B4	c                  ó  — t        «       } | j                  t        «       | j                  t        t
        «       | j                  «        | j                  t        t        «       | j                  t        t        t        t        ik(  sJ ‚| j                  t        t        «       | j                  t        t        t        t        ik(  sJ ‚| j                  t        t        «       | j                  t        t        t        t        ik(  sJ ‚y r   )r   r*   r   r   r   r	   r$   r   r   r   r   r   r   r   r
   r   r   s    r!   Ú:test_ConnectionState_keepalive_protocol_switch_interactionr;   ·   sº   € ä	Ó	€BØ×%Ñ%¤oÔ6Ø×Ñ”VœWÔ%Ø×"Ñ"Ô$Ø×Ñ”VœTÔ"Ø�9‰9œ¤¬F´MÐBÒBÐBÐBð ×Ñ”Vœ\Ô*Ø�9‰9œÔ!6¼ÄÐNÒNÐNÐNð ×Ñ”VœXÔ&Ø�9‰9œ¤¬V´YÐ?Ò?Ð?Ñ?r&   c                  ó*  — t        «       } t        j                  t        «      5  | j	                  «        d d d «       | j                  t        t        «       | j                  t        t        «       t        j                  t        «      5  | j	                  «        d d d «       | j                  t        t        «       | j                  t        t        «       | j	                  «        | j                  t        t        t        t        ik(  sJ ‚| j                  t        t        «       | j                  «        | j                  t        t        «       | j                  t        t        «       | j                  t        t        «       t        j                  t        «      5  | j	                  «        d d d «       t        «       } | j                  t        t        «       | j                  t        t        «       | j                  t        t        «       | j                  t        t        «       | j                  t        t        «       t        j                  t        «      5  | j	                  «        d d d «       t        «       } | j                  t         «       | j                  t        t        «       | j                  t        t        «       | j                  t        t"        t         «       t        j                  t        «      5  | j	                  «        d d d «       t        «       } | j                  t         «       | j                  t        t        «       | j                  t        t        «       | j                  t        t        «       | j                  t        t        «       | j	                  «        | j                  t        t        t        t        ik(  sJ ‚y # 1 sw Y   �Œ¢xY w# 1 sw Y   �ŒIxY w# 1 sw Y   �ŒCxY w# 1 sw Y   �Œ’xY w# 1 sw Y   ŒúxY wr   )r   r   r   r   Ústart_next_cycler   r   r	   r   r   r
   r   r   r$   r   r*   r   r   r   s    r!   Útest_ConnectionState_reuser>   É   sÏ  € Ü	Ó	€Bä	�‰Ô)Ó	*ñ Ø
×ÑÔ÷ð ×Ñ”VœWÔ%Ø×Ñ”Vœ\Ô*ä	�‰Ô)Ó	*ñ Ø
×ÑÔ÷ð ×Ñ”VœXÔ&Ø×Ñ”Vœ\Ô*à×ÑÔØ�9‰9œ¤¤v¬tÐ4Ò4Ð4Ð4ð ×Ñ”VœWÔ%Ø×"Ñ"Ô$Ø×Ñ”Vœ\Ô*Ø×Ñ”VœXÔ&Ø×Ñ”Vœ\Ô*ä	�‰Ô)Ó	*ñ Ø
×ÑÔ÷ô
 
Ó	€BØ×Ñ”VœWÔ%Ø×Ñ”Vœ\Ô*Ø×Ñ”VÔ-Ô.Ø×Ñ”VœXÔ&Ø×Ñ”Vœ\Ô*ä	�‰Ô)Ó	*ñ Ø
×ÑÔ÷ô
 
Ó	€BØ×%Ñ%¤oÔ6Ø×Ñ”VœWÔ%Ø×Ñ”Vœ\Ô*Ø×Ñ”VÔ2´OÔDä	�‰Ô)Ó	*ñ Ø
×ÑÔ÷ô
 
Ó	€BØ×%Ñ%¤oÔ6Ø×Ñ”VœWÔ%Ø×Ñ”Vœ\Ô*Ø×Ñ”VœXÔ&Ø×Ñ”Vœ\Ô*à×ÑÔØ�9‰9œ¤¤v¬tÐ4Ò4Ð4Ñ4÷wñ ú÷ñ ú÷"ñ ú÷ñ ú÷ð ús;   ¤OÂ
O"ÆO/ÉO<Ë?P	ÏOÏ"O,Ï/O9Ï<PÐ	Pc                  ó¨   — t        «       } t        j                  t        «      5  | j	                  t
        t        «       d d d «       y # 1 sw Y   y xY wr   )r   r   r   r   r   r   r	   r   s    r!   Útest_server_request_is_illegalr@   
  s>   € ô 
Ó	€BÜ	�‰Ô)Ó	*ñ *Ø
×Ñœ¤Ô)÷*÷ *ñ *ús   ¤AÁA)ÚreturnN)$r   Ú_eventsr   r   r   r   r   r	   r
   Ú_stater   r   r   r   r   r   r   r   r   r   r   r   r   Ú_utilr   r"   r%   r(   r.   r0   r2   r5   r9   r;   r>   r@   © r&   r!   ú<module>rF      sƒ   ðÛ ÷÷ ñ ÷÷ ÷ õ õ 'ó=ó@
Aó	+ó"7ðL Ð*Ø�XØˆ(ðÐ óSó$Wó&>ó@ó$>5ôB*r&   