
    @OOf[	                        U d dl mZ d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dlm
Z
 d d	lmZ d d
lmZ eej                     Zde	j                   defdZde
j$                  defdZdej(                  defdZdej,                  defdZe	j                   ee
j$                  eej(                  eej,                  eiZeeej6                     eegef   f   ed<   dej6                  defdZy)    )Callable)Iterator)Any)dns)flow)hooks)http)tcp)udp)layersfreturnc              #   &  K   | j                   rBt        j                  j                  |        t        j                  j	                  |        | j
                  rBt        j                  j                  |        t        j                  j                  |        | j                  r| j                  j                  }g | j                  _	        t        j                  j                  |        |D ]H  }| j                  j                  j                  |       t        j                  j                  |        J t        j                  j                  |        y | j                  r"t        j                  j                  |        y y wN)requestr   r	   HttpRequestHeadersHookHttpRequestHookresponseHttpResponseHeadersHookHttpResponseHook	websocketmessagesWebsocketStartHookappendWebsocketMessageHookWebsocketEndHookerrorHttpErrorHook)r   message_queuems      X/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/eventsequence.py_iterate_httpr"      s    yykk0033kk))!,,zzkk11!44kk**1--{{,,!11!44 	;AKK  ''*""77::	; //22	
kk''** 
s   FFc              #     K   | j                   }g | _         t        j                  j                  |        |rN| j                   j	                  |j                  d             t        j                  j                  |        |rN| j                  r"t        j                  j                  |        y t        j                  j                  |        y wNr   )
r   r   r
   TcpStartHookr   popTcpMessageHookr   TcpErrorHook
TcpEndHookr   r   s     r!   _iterate_tcpr+   #        zzHAJ
**
!
!!
$$
	

(,,q/*jj''**  	wwjj%%a((jj##A&&   BCACc              #     K   | j                   }g | _         t        j                  j                  |        |rN| j                   j	                  |j                  d             t        j                  j                  |        |rN| j                  r"t        j                  j                  |        y t        j                  j                  |        y wr$   )
r   r   r   UdpStartHookr   r&   UdpMessageHookr   UdpErrorHook
UdpEndHookr*   s     r!   _iterate_udpr3   0   r,   r-   c              #     K   | j                   r!t        j                  j                  |        | j                  r!t        j                  j                  |        | j                  r"t        j                  j                  |        y y wr   )r   r   r   DnsRequestHookr   DnsResponseHookr   DnsErrorHook)r   s    r!   _iterate_dnsr8   =   s_     yyjj''**zzjj((++wwjj%%a(( s   B
B_iterate_mapc              #      K   	 t         t        |          } ||       E d {    y 7 # t        $ r(}t        d| j                  j
                         |d }~ww xY ww)NzUnknown flow type: )r9   typeKeyError	TypeError	__class____name__)r   eerrs      r!   iteraterB   N   sY     a! Q4  O-akk.B.B-CDE3NOs-   A) A'A	A#AAAN)collections.abcr   r   typingr   	mitmproxyr   r   r   r	   r
   r   mitmproxy.proxyr   HookTEventGeneratorHTTPFlowr"   TCPFlowr+   UDPFlowr3   DNSFlowr8   r9   dictr;   Flow__annotations__rB        r!   <module>rR      s    $ $        "5::&+T]] + +&
'CKK 
'O 
'
'CKK 
'O 
')CKK )O ) 	MM=KKKKKK	Id4		?HcUO-C$DDE tyy _ rQ   