
    EgR	                     P    d dl Z d dlmZmZ d dlmZ d dlmZ  G d d          ZdS )    N)ctx
exceptions)http1)humanc                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	StreamBodiesc                     d | _         d S )N)max_size)selfs    j/var/www/sysmax/venv/lib/python3.11/site-packages/seleniumwire/thirdparty/mitmproxy/addons/streambodies.py__init__zStreamBodies.__init__	   s        c                     |                     dt          j        t                   d d           |                     dt          dd           d S )Nstream_large_bodiesz
            Stream data to the client if response body exceeds the given
            threshold. If streamed, the body will not be stored in any way.
            Understands k/m/g suffixes, i.e. 3m for 3 megabytes.
            stream_websocketsFz
            Stream WebSocket messages between client and server.
            Messages are captured and cannot be modified.
            )
add_optiontypingOptionalstrbool)r   loaders     r   loadzStreamBodies.load   s]    !6?3#7	
 	
 	
 	u	
 	
 	
 	
 	
r   c                     d|v rbt           j        j        rS	 t          j        t           j        j                  | _        d S # t          $ r}t          j        |          d }~ww xY wd S d S )Nr   )	r   optionsr   r   
parse_sizer
   
ValueErrorr   OptionsError)r   updatedes      r   	configurezStreamBodies.configure   su     G++0O+1 % 01P Q Q 1 1 1 -a0001 ,+++s   (A 
A$AA$c                    | j         r|r|j        n|j        }	 t          j        |j        |s|j        nd           }n/# t
          j        $ r |j                                         Y d S w xY w|rn|j	        sid|cxk    r| j         k    sYn |j
        pd|_
        t          j                            d                    |sdnd|j        j                             d S d S d S d S d S )Nr   TzStreaming {} {}zresponse fromz
request to)r
   requestresponser   expected_http_body_sizer   HttpExceptionreplykillraw_contentstreamr   loginfoformathost)r   f
is_requestrexpected_sizes        r   runzStreamBodies.run$   s+   = 	|'7		QZA % =IEqzz! ! +     |Q] |A<_<_<_<_RVR_<_<_<_<_8+t.55Z6ioo]iklktkyzz{{{{{	| 	|| | | |<_<_s   #= (A)(A)c                 2    |                      |d           d S )NTr2   r   r.   s     r   requestheaderszStreamBodies.requestheaders3   s    Dr   c                 2    |                      |d           d S )NFr4   r5   s     r   responseheaderszStreamBodies.responseheaders6   s    Er   c                    t           j        j        rud|_        t           j                            d                    t          j        |j	        j
                  t          j        |j        j
                                       d S d S )NTz:Streaming WebSocket messages between {client} and {server})clientserver)r   r   r   r)   r*   r+   r,   r   format_addressclient_connaddressserver_connr5   s     r   websocket_startzStreamBodies.websocket_start9   s    ;( 	AHGLLU\\+AM,ABB+AM,ABB ] D D     	 	r   N)
__name__
__module____qualname__r   r   r    r2   r6   r8   r@    r   r   r   r      s          
 
 
"1 1 1| | |        r   r   )	r   !seleniumwire.thirdparty.mitmproxyr   r   *seleniumwire.thirdparty.mitmproxy.net.httpr   'seleniumwire.thirdparty.mitmproxy.utilsr   r   rD   r   r   <module>rH      s|     = = = = = = = = < < < < < < 9 9 9 9 9 97 7 7 7 7 7 7 7 7 7r   