
    `jQ              	          d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZ d dlmc 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 d dlmZmZ d dlm Z  d dl!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- d d	lm.Z.m/Z/ d d
l0m1Z1 ej2        rd dl3m4Z4 e
ee5e
e6e7e5f         f         e"f         Z8e
ee9e5f         Z:e
ee5e
e9e6e7e5ef         f         e"f         Z;e
ee5e
e6e7e5f         f         e5f         Z< G d d          Z= G d de          Z>dedefdZ?de5dedefdZ@ G d d          ZAddejB        de6fdZCdede6fdZDdS )    N)Path)AnyDictListOptionalUnioncast)ClientCertificateFilePayload	FormFieldHeadersHttpCredentialsProxySettings
RemoteAddrResourceTimingSecurityDetailsServerFilePayloadStorageState)ChannelOwnerfrom_channel)is_target_closed_error)FormData)
Error	NameValueTargetClosedErrorTimeoutSettingsasync_readfileasync_writefileis_file_payloadlocals_to_paramsobject_to_arrayto_impl)serialize_headersto_client_certificates_protocol)Tracing)
Playwrightc                       e Zd ZddZ	 	 	 	 	 	 	 	 	 	 	 ddedeeef         ded	ed
edede	de
eeef         dee         dededdfdZdS )
APIRequest
playwrightr&   returnNc                 N    || _         |j        | _        |j        j        | _        d S N)r)   _loop_connection_dispatcher_fiber)selfr)   s     P/tmp/sma-radar-test-venv/lib/python3.11/site-packages/playwright/_impl/_fetch.py__init__zAPIRequest.__init__B   s'    $%
!+!7!I    baseURLextraHTTPHeadershttpCredentialsignoreHTTPSErrorsproxy	userAgenttimeoutstorageStateclientCertificatesfailOnStatusCodemaxRedirectsAPIRequestContextc           
      N  K   t          t                                }d|v r[|d         }t          |t                    s>|r<t	          j        t          |           d {V                                           |d<   d|v rt          |d                   |d<   t          |
                    d                     d {V |d<   t          t          t          | j        j                            dd |           d {V                     }|j                            |           |S )Nr;   r5   r<   
newRequest)r    locals
isinstancedictjsonloadsr   decoder#   r$   getr	   r?   r   r)   _channelsend_timeout_settingsset_default_timeout)r0   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   paramsstorage_statecontexts                  r1   new_contextzAPIRequest.new_contextG   sZ      "&((++V##">2MmT22 } )-)-88888888@@BB* *~& ''):6BT;U)V)VF%&-LJJ+,,.
 .
 (
 (
 (
 (
 (
 (
#$ o.33L$OOOOOOOO 
 
 	!55g>>>r3   )r)   r&   r*   NNNNNNNNNNNN)__name__
__module____qualname__r2   strr   r   boolr   floatr   r   r   r   r
   intrP    r3   r1   r(   r(   A   s        J J J J +/+/"&#7;6:!% ! !! sCx.! )	!
  ! ! ! ! L#t34! !!23! ! ! 
! ! ! ! ! !r3   r(   c                   R    e Zd Zdededededdf
 fdZd%deddfd	Zede	fd
            Z
	 	 	 	 	 	 	 	 	 	 d&dedededededededededededdfdZ	 	 	 	 	 	 	 	 	 	 d&dedededededededededededdfdZ	 	 	 	 	 	 	 	 	 	 d&dedededededededededededdfdZ	 	 	 	 	 	 	 	 	 	 d&dedededededededededededdfdZ	 	 	 	 	 	 	 	 	 	 d&dedededededededededededdfdZ	 	 	 	 	 	 	 	 	 	 d&dedededededededededededdfdZ	 	 	 	 	 	 	 	 	 	 	 d'deeej        f         dedededededededededededdfdZ	 	 	 	 	 	 	 	 	 	 	 d'd eej                 dee         dedededededededededededdfd!Z	 	 d(d"eej         ef         d#ede!fd$Z" xZ#S ))r?   parenttypeguidinitializerr*   Nc                     t                                          ||||           t          |d                   | _        d | _        t          d           | _        d S )Ntracing)superr2   r   _tracing_close_reasonr   rK   )r0   r[   r\   r]   r^   	__class__s        r1   r2   zAPIRequestContext.__init__l   sU     	t[999!-k).D!E!E,0!0!6!6r3   reasonc                 &  K   || _         | j                                         d {V  	 | j                            dd d|i           d {V  n)# t
          $ r}t          |          rY d }~d S |d }~ww xY w| j                                         d S )Ndisposere   )rc   rb   _export_all_harsrI   rJ   r   r   _reset_stack_counter)r0   re   es      r1   rg   zAPIRequestContext.disposet   s      #m,,.........	-$$Yx6HIIIIIIIIII 	 	 	%a(( G	 	**,,,,,s   $A 
A5A0.A00A5c                     | j         S r,   )rb   r0   s    r1   r`   zAPIRequestContext.tracing   s
    }r3   urlrM   headersdataform	multipartr:   r=   r7   r>   
maxRetriesAPIResponsec                 T   K   |                      |d||||||||	|
|           d {V S )NDELETEmethodrM   rn   ro   rp   rq   r:   r=   r7   r>   rr   fetchr0   rm   rM   rn   ro   rp   rq   r:   r=   r7   r>   rr   s               r1   deletezAPIRequestContext.delete   se       ZZ-/%!   
 
 
 
 
 
 
 
 	
r3   c                 T   K   |                      |d||||||||	|
|           d {V S )NHEADrv   rx   rz   s               r1   headzAPIRequestContext.head   e       ZZ-/%!   
 
 
 
 
 
 
 
 	
r3   c                 T   K   |                      |d||||||||	|
|           d {V S )NGETrv   rx   rz   s               r1   rH   zAPIRequestContext.get   e       ZZ-/%!   
 
 
 
 
 
 
 
 	
r3   c                 T   K   |                      |d||||||||	|
|           d {V S )NPATCHrv   rx   rz   s               r1   patchzAPIRequestContext.patch   se       ZZ-/%!   
 
 
 
 
 
 
 
 	
r3   c                 T   K   |                      |d||||||||	|
|           d {V S )NPUTrv   rx   rz   s               r1   putzAPIRequestContext.put   r   r3   c                 T   K   |                      |d||||||||	|
|           d {V S )NPOSTrv   rx   rz   s               r1   postzAPIRequestContext.post  r   r3   urlOrRequestrw   c                 h  K   t          |t                    r|nd }t          t          |          t          j                  r't          t          j        t          |                    nd }|st          |t                    s
J d            |                     ||||||||||	|
||           d {V S )Nz3First argument must be either URL string or Request)rC   rU   r"   networkRequestr	   _inner_fetch)r0   r   rM   rw   rn   ro   rp   rq   r:   r=   r7   r>   rr   rm   requests                  r1   ry   zAPIRequestContext.fetch1  s       )s;;Ell ',//AAD',"7"7888 	
  	A*#
 
 	A 	A@	A 	A 
 &&
 
 
 
 
 
 
 
 	
r3   r   c                   K   | j         rt          | j                   |rdnd|rdndz   |rdndz   dk    s
J d            ||dk    s
J d            ||dk    s
J d            |p
|r|j        n|}|p
|r|j        nd}|p
|r|j        nd }|rt          |          nd }d }d }d }d }|t          |t                    rLt          |          r't          |          r|nt          j        |          }nM|                                }n7t          |t                    r|}nt          |t          t          t           t"          f          rt          j        |          }nt%          dt'          |                     |rt          |t(                    rvg }|j        D ]j\  }}t          |t,          j        t          f          rt%          d|d	          |                    t3          |t          |          
                     kn4t5          |          }n#|r g }t          |t(                    r7|j        D ].\  }}|                    t7          ||           d {V            /n|                                D ]\  }}t;          |          rpt=          t>          |          }t          |d         t                    sJ d| d            |                    tA          |tC          |                               t          |t                    r$|                    tA          ||
                     |||||r|j"        nd }|r&tG          j$        |          %                                nd }| j&        '                    d| j(        j)        ||	t          |t                    rt5          |          nd t          |t                    r|nd |||||||
|||d           d {V }tU          | |          S )N   r   z:Only one of 'data', 'form' or 'multipart' can be specifiedz4'max_redirects' must be greater than or equal to '0'z2'max_retries' must be greater than or equal to '0'r   zUnsupported 'data' type: zForm field zG must be a string, number or boolean. Use 'multipart' for file uploads.namevaluebufferz Unexpected buffer type of 'data.'r   filery   )rm   r:   rM   encodedParamsrw   rn   postDatajsonDataformDatamultipartDatar=   r7   r>   rr   )+rc   r   rm   rw   rn   r#   rC   rU   is_json_content_typeis_json_parsablerE   dumpsencodebytesrD   listrX   rV   r   r\   r   _fieldspathlibr   appendr   r!   _form_data_field_to_form_fielditemsr   r	   r   r   file_payload_to_jsonpost_data_bufferbase64	b64encoderG   rI   rJ   rK   r:   rs   )r0   r   rm   rw   rn   ro   rM   rp   rq   r:   r=   r7   r>   rr   headers_objserialized_headers	json_data	form_datamultipart_datar   fd_namefd_valuer   r   payload	post_dataresponses                              r1   r   zAPIRequestContext._inner_fetchY  s        	8#D$6777QQAt"2!!3I7Lqq1M  L    LA$5$5$5A %6$55 *///? #2/16W5gkk#Ag@GNN5GW"F'//$?JT.{;;;PT	/3	48,0$$$ 
F'(:;; 5(8(>(> TDJtDTDTII'+{{}}$$D%(( F#'  D4sD"9:: F Jt,,		DT

DDEEE 	Q$)) 	2	)- S S%GX!(W\4,@AA #|'|||   $$YG3x==%Q%Q%QRRRRS ,D11		 	QN)X.. Q)2):  %GX"))<WhOOOOOOOO    $-??#4#4 
Q 
QKD%&u-- 	Q"&{E":":)#H-u    F FEdEEEF F   '--%46J76S6STTT    $E3// Q&--iT.O.O.OPPP$!!&;BLw77;KUF-..55777QU 	 ++"*"5?5M5MW/&111SW+5fc+B+B!L -%%%!/$4%6 ,( 
 
 
 
 
 
 
 
( 4***r3   path	indexedDBc                    K   | j                             dd d|i           d {V }|r(t          |t          j        |                     d {V  |S )Nr;   r   )rI   send_return_as_dictr   rE   r   )r0   r   r   results       r1   rN   zAPIRequestContext.storage_state  s      
 }88D;	":
 
 
 
 
 
 
 
  	<!$
6(:(:;;;;;;;;;r3   r,   )
NNNNNNNNNNrQ   )NN)$rR   rS   rT   r   rU   r   r2   rg   propertyr%   r`   
ParamsTyper   DataTypeFormTypeMultipartTyperW   rV   rX   r{   r~   rH   r   r   r   r   r   r   ry   r   r   r   r   r   rN   __classcell__)rd   s   @r1   r?   r?   k   s       7"7*-7587GK7	7 7 7 7 7 7	- 	-C 	-4 	- 	- 	- 	-     X "#'!%"& 
 

 
 	

 
 
 !
 
 
  
 
 
 

 
 
 
@ "#'!%"& 
 

 
 	

 
 
 !
 
 
  
 
 
 

 
 
 
@ "#'!%"& 
 

 
 	

 
 
 !
 
 
  
 
 
 

 
 
 
@ "#'!%"& 
 

 
 	

 
 
 !
 
 
  
 
 
 

 
 
 
@ "#'!%"& 
 

 
 	

 
 
 !
 
 
  
 
 
 

 
 
 
@ "#'!%"& 
 

 
 	

 
 
 !
 
 
  
 
 
 

 
 
 
@ "#'!%"& &
 &
C01&
 &
 	&

 &
 &
 &
 !&
 &
 &
  &
 &
 &
 
&
 &
 &
 &
X !#'!%"& n+ n+'/*n+ c]n+ 	n+
 n+ n+ n+ n+ !n+ n+ n+  n+ n+ n+ 
n+ n+ n+ n+d *.
 
GL#%&
 
 
	
 
 
 
 
 
 
 
r3   r?   r   r*   c                     t          | d         | d         t          j        | d                                                             S )Nr   mimeTyper   r   r   r   )r   r   r   rG   )r   s    r1   r   r     sG    V_$ 12299;;   r3   r   r   c                   K   t          |t          j                  rt          j        t          |                    \  }}t          | t          |j        |pdt          j
        t          t          |                     d {V                                                               S t          |          r[t          t          |          }t          |d         t                     sJ d|             t          | t#          |                    S t          |t
          t$          t&          t(          f          rt          | t          |                    S t+          d| dt-          |          j                   )	Nzapplication/octet-streamr   r   r   z%Unexpected buffer type of form field r   zUnsupported form field z value type: )rC   r   r   	mimetypes
guess_typerU   r   r   r   r   r   r   rG   r   r	   r   r   r   rX   rW   rV   r   r\   rR   )r   r   	mime_type_r   s        r1   r   r     s     %&& 	
 +CJJ77	1"Z"@&@'nSZZ.H.H(H(H(H(H(H(HIIPPRR  
 
 
 	
 u H{E**Hu
 
 	< 	<;4;;	< 	< 
 d)=g)F)FGGGG%#sE4011 6d#e**5555
U$UUtE{{?SUU
V
VVr3   c                      e Zd ZdededdfdZdefdZede	fd            Z
edefd            Zedefd	            Zedefd
            Zedefd            Zedej        fd            Zedefd            ZdefdZdefdZdefdZdee         fdZdee         fdZddZ edefd            Z!de"e         fdZ#dS )rs   rO   r^   r*   Nc                     |j         | _         |j        j        | _        || _        || _        t          j        |d                   | _        d S )Nrn   )r-   r.   r/   _request_initializerr   
RawHeaders_headers)r0   rO   r^   s      r1   r2   zAPIResponse.__init__  sC    ]
!(!4!F'*;y+ABBr3   c                 8    d| j         d| j        d| j        dS )Nz<APIResponse url=z status=z status_text=>)rm   statusstatus_textrl   s    r1   __repr__zAPIResponse.__repr__  s+    h48hht{hhSWSchhhhr3   c                 .    | j         dk    o
| j         dk    S )N   i+  )r   rl   s    r1   okzAPIResponse.ok  s    {c!8dkS&88r3   c                     | j         d         S )Nrm   r   rl   s    r1   rm   zAPIResponse.url  s     ''r3   c                     | j         d         S )Nr   r   rl   s    r1   r   zAPIResponse.status  s     **r3   c                     | j         d         S )N
statusTextr   rl   s    r1   r   zAPIResponse.status_text  s     ..r3   c                 4    | j                                         S r,   )r   rn   rl   s    r1   rn   zAPIResponse.headers  s    }$$&&&r3   c                 4    | j                                         S r,   )r   headers_arrayrl   s    r1   r   zAPIResponse.headers_array  s    }**,,,r3   c                     t          t          ddddddddd| j                            di           d| j                            dd          i          S )N)	startTimedomainLookupStartdomainLookupEndconnectStartsecureConnectionStart
connectEndrequestStartresponseStarttimingresponseEndresponseEndTiming)r	   r   r   rH   rl   s    r1   r   zAPIResponse.timing  s{    %'#% ")+  "!#  #''"55 t0445H"MM 
 
 	
r3   c                    K   	  j         j                             fdd           d {V }|t          d          t	          j        |d                   S # t          $ r%}t          |          rt          d          |d }~ww xY w)Nc                  T     j         j                            dd d j        i          S )NfetchResponseBodyfetchUid)r   rI   r   
_fetch_uidrl   s   r1   <lambda>z"APIResponse.body.<locals>.<lambda>,  s.    .BB'"DO  r3   TzResponse has been disposedbinary)r   r.   wrap_api_callr   r   	b64decoder   )r0   r   excs   `  r1   bodyzAPIResponse.body)  s      	=4BB    	 	 	 	 	 	 	 	F ~8999#F8$4555 	 	 	%c** :8999I	s   AA 
B# BBc                 b   K   |                                   d {V }|                                S r,   )r   rG   r0   contents     r1   textzAPIResponse.text=  s5      		######~~r3   c                 b   K   |                                   d {V }t          j        |          S r,   )r   rE   rF   r   s     r1   rE   zAPIResponse.jsonA  s5      		######z'"""r3   c                 >   K   | j                             d          pd S )NsecurityDetailsr   rH   rl   s    r1   security_detailszAPIResponse.security_detailsE  s#       $$%677?4?r3   c                 >   K   | j                             d          pd S )N
serverAddrr  rl   s    r1   server_addrzAPIResponse.server_addrH  s"       $$\22:d:r3   c                 f   K   | j         j                            dd d| j        i           d {V  d S )NdisposeAPIResponser   r   rI   rJ   r   rl   s    r1   rg   zAPIResponse.disposeK  s]      m$)) DO
 
 	
 	
 	
 	
 	
 	
 	
 	
 	
r3   c                     | j         d         S )Nr   r   rl   s    r1   r   zAPIResponse._fetch_uidT  s     ,,r3   c                 b   K   | j         j                            dd d| j        i           d {V S )NfetchLogr   r  rl   s    r1   
_fetch_logzAPIResponse._fetch_logX  sS      ]+00DO
 
 
 
 
 
 
 
 	
r3   )r*   N)$rR   rS   rT   r?   r   r2   rU   r   r   rV   r   rm   rX   r   r   r   rn   r   HeadersArrayr   r   r   r   r   r   r   rE   r   r   r  r   r  rg   r   r   r  rY   r3   r1   rs   rs     si       C 1 C C C C C Ci# i i i i 9D 9 9 9 X9 (S ( ( ( X( + + + + X+ /S / / / X/ ' ' ' ' X' -w3 - - - X- 
 
 
 
 X
"E    ( C        #C # # # #@(A @ @ @ @;8J#7 ; ; ; ;
 
 
 
 -C - - - X-
$s) 
 
 
 
 
 
r3   rs   rn   c                 j    | sdS | D ]+}|d         dk    r|d                              d          c S ,dS )NFr   zContent-Typer   zapplication/json)
startswith)rn   headers     r1   r   r   b  sX     u B B&>^++'?--.@AAAAA ,5r3   c                     t          | t                    sdS 	 t          j        |            dS # t          j        $ r Y dS w xY w)NFT)rC   rU   rE   rF   JSONDecodeError)r   s    r1   r   r   k  sX    eS!! u
5t   uus   / AAr,   )Er   rE   r   r   typingr   r   r   r   r   r   r	   playwright._impl._network_impl_networkr    playwright._impl._api_structuresr
   r   r   r   r   r   r   r   r   r   r   playwright._impl._connectionr   r   playwright._impl._errorsr   playwright._impl._form_datar   playwright._impl._helperr   r   r   r   r   r   r   r    r!   r"   r#   r$   playwright._impl._tracingr%   TYPE_CHECKINGplaywright._impl._playwrightr&   rU   rV   rW   r   r   r   r   r   r(   r?   r   r   rs   r  r   r   rY   r3   r1   <module>r     s                 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 + + + + + + + + +                          D C C C C C C C ; ; ; ; ; ; 0 0 0 0 0 0                        Y X X X X X X X - - - - - -	 8777777 c5uc!1223X=>eS!d3eT5#{&J KKLhVW4U4#3445s:;
' ' ' ' ' ' ' 'Th h h h h h h hV+ 2C    Ws W3 W9 W W W W,k
 k
 k
 k
 k
 k
 k
 k
\ '"6 $    C D      r3   