
    ijQ              	       N   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jd                  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j                  de6fdZCdede6fdZDy)    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y)
APIRequestreturnNc                 j    || _         |j                  | _        |j                  j                  | _        y N)
playwright_loop_connection_dispatcher_fiber)selfr,   s     J/root/.hermes/venv/lib/python3.12/site-packages/playwright/_impl/_fetch.py__init__zAPIRequest.__init__B   s*    $%%
!+!7!7!I!I    baseURLextraHTTPHeadershttpCredentialsignoreHTTPSErrorsproxy	userAgenttimeoutstorageStateclientCertificatesfailOnStatusCodemaxRedirectsAPIRequestContextc           
        K   t        t                     }d|v rN|d   }t        |t              s9|r7t	        j
                  t        |       d {   j                               |d<   d|v rt        |d         |d<   t        |j                  d             d {   |d<   t        t        t        | j                  j                  j!                  dd |       d {               }|j"                  j%                  |       |S 7 7 l7 -w)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   s      "&(+V#">2MmT2})-)-88@@B*~& '):6BT;U)VF%&-LJJ+,.
 (
#$ oo..33L$OO
 	!!55g> 9(
 Ps8   ADDADDA DD	*DD	D)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 +/+/"&#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j6                  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j6                     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       | _        y )Ntracing)superr2   r   _tracing_close_reasonr   rK   )r0   r[   r\   r]   r^   	__class__s        r1   r2   zAPIRequestContext.__init__l   s>     	t[9!-k).D!E,0!0!6r3   reasonc                 0  K   || _         | j                  j                          d {    	 | j                  j	                  dd d|i       d {    | j                  j                          y 7 G7 !# t
        $ r}t        |      rY d }~y |d }~ww xY ww)Ndisposere   )rc   rb   _export_all_harsrI   rJ   r   r   _reset_stack_counter)r0   re   es      r1   rg   zAPIRequestContext.disposet   s     #mm,,...	--$$Yx6HIII
 	**, 	/I 	%a(G	sP   %BA/B"A3 A1A3 B1A3 3	B<BBBBBc                     | j                   S r+   )rb   r0   s    r1   r`   zAPIRequestContext.tracing   s    }}r3   urlrM   headersdataform	multipartr:   r=   r7   r>   
maxRetriesAPIResponsec                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)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   sL      ZZ-/%!   
 
 	
 
   !*(*c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NHEADrv   rx   rz   s               r1   headzAPIRequestContext.head   L      ZZ-/%!   
 
 	
 
r|   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NGETrv   rx   rz   s               r1   rH   zAPIRequestContext.get   L      ZZ-/%!   
 
 	
 
r|   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPATCHrv   rx   rz   s               r1   patchzAPIRequestContext.patch   sL      ZZ-/%!   
 
 	
 
r|   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPUTrv   rx   rz   s               r1   putzAPIRequestContext.put   r   r|   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPOSTrv   rx   rz   s               r1   postzAPIRequestContext.post  r   r|   urlOrRequestrw   c                 B  K   t        |t              r|nd }t        t        |      t        j                        r#t        t        j                  t        |            nd }|st        |t              sJ d       | j                  ||||||||||	|
||       d {   S 7 w)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;l ',/A ',"78 	
 *#
 	A@	A 
 &&
 
 	
 
s   BBBBr   c                 L  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       |xs |r|j                  n|}|xs |r|j                  nd}|xs |r|j                  nd }|rt        |      nd }d }d }d }d }|t        |t              rAt        |      r$t        |      r|nt        j                  |      }n|j                         }nt        |t              r|}nt        |t        t        t         t"        f      rt        j                  |      }nt%        dt'        |             |rt        |t(              rkg }|j*                  D ]Y  \  }}t        |t,        j.                  t        f      rt%        d|d	      |j1                  t3        |t        |      
             [ nt5        |      }n|rg }t        |t(              r8|j*                  D ](  \  }}|j1                  t7        ||       d {          * n|j9                         D ]  \  }}t;        |      rTt=        t>        |      }t        |d   t              sJ d| d       |j1                  tA        |tC        |                   et        |t              sv|j1                  tA        ||
              |||||r|jD                  nd }|r#tG        jH                  |      jK                         nd }| jL                  jO                  d| jP                  jR                  ||	t        |t              rt5        |      nd t        |t              r|nd |||||||
|||d       d {   }tU        | |      S 7 p7 w)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      #D$6$677QAt!3Iq1M 	ML	M   LA$5	BA	B5 */	@?	@16Wgkk#AgGNN5GW'//$?J.{;PT	/3	48,0$$'(:;(8(>DJJtDTI'+{{}$D%(#' D4sD"9: JJt,	7T
|DEE$)	)- S%GX!(W\\4,@A#)'4{|  $$YG3x=%QRS ,D1	N)X.)2):): %GX"))<WhOO $-??#4 
QKD%&u-"&{E":)#H-u  F=dV1EF   '--%46J76ST $E3/&--iT.OP
Q $!!&;Bw77;KF-.557QU 	 ++""**"5?5M/&1SW+5fc+B -%%%!/$4%6 ,(
 
( 4**] P4
s,   H-N$/N
0BN$CN$N"N$"N$path	indexedDBc                    K   | j                   j                  dd d|i       d {   }|r't        |t        j                  |             d {    |S 7 /7 w)Nr;   r   )rI   send_return_as_dictr   rE   r   )r0   r   r   results       r1   rN   zAPIRequestContext.storage_state  s[     
 }}88D;	":
 
 !$

6(:;;;
 <s!   #AA(AAAA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	-C 	-4 	-    "#'!%"& 

 
 	

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

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

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

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

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

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

 &
 &
 &
 !&
 &
 &
  &
 &
 &
 
&
X !#'!%"& n+'//*n+ c]n+ 	n+
 n+ n+ n+ n+ !n+ n+ n+  n+ n+ n+ 
n+d *.
GLL#%&
 
 
	
r3   r?   r   r)   c                 r    t        | d   | d   t        j                  | d         j                               S )Nr   mimeTyper   r   r   r   )r   r   r   rG   )r   s    r1   r   r     s:    V_$ 1299; r3   r   r   c                   K   t        |t        j                        rt        j                  t        |            \  }}t        | t        |j                  |xs dt        j                  t        t        |             d {         j                                     S t        |      rCt        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.                         7 ȭw)	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J7	1"ZZ"@&@''nSZ.H(HIPPR
 	
 u{E*Hu
 	<24(;	< 
 d)=g)FGG%#sE401d#e*55
)$tE{?S?S>TU
VV )Is   A=E
?E C	E
c                   R   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#y)rs   rO   r^   r)   Nc                     |j                   | _         |j                  j                  | _        || _        || _        t        j                  |d         | _        y )Nrn   )r-   r.   r/   _request_initializerr   
RawHeaders_headers)r0   rO   r^   s      r1   r2   zAPIResponse.__init__  sG    ]]
!(!4!4!F!F'**;y+ABr3   c                 V    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.    "488,ht{{o]SWScScRffghhr3   c                 B    | j                   dk\  xr | j                   dk  S )N   i+  )r   rl   s    r1   okzAPIResponse.ok  s    {{c!8dkkS&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                 6    | j                   j                         S r+   )r   rn   rl   s    r1   rn   zAPIResponse.headers  s    }}$$&&r3   c                 6    | j                   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                  j                  di       d| j                  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  sl    %'#% ")+  "!# ##''"5 t00445H"M
 	
r3   c                    K   	  j                   j                  j                   fdd       d {   }|t        d      t	        j
                  |d         S 7 )# t        $ r}t        |      rt        d      |d }~ww xY ww)Nc                  j     j                   j                  j                  dd d j                  i      S )NfetchResponseBodyfetchUid)r   rI   r   
_fetch_uidrl   s   r1   <lambda>z"APIResponse.body.<locals>.<lambda>,  s0    ..BB'"DOO r3   TzResponse has been disposedbinary)r   r.   wrap_api_callr   r   	b64decoder   )r0   r   excs   `  r1   bodyzAPIResponse.body)  s     	==44BB 	 	F ~899##F8$455	  	%c*899I	s8   B,A A(A BA 	B&A>>BBc                 ^   K   | j                          d {   }|j                         S 7 wr+   )r   rG   r0   contents     r1   textzAPIResponse.text=  s&     		#~~ $s   -+-c                 h   K   | j                          d {   }t        j                  |      S 7 wr+   )r   rE   rF   r   s     r1   rE   zAPIResponse.jsonA  s(     		#zz'"" $s   202c                 H   K   | j                   j                  d      xs d S w)NsecurityDetailsr   rH   rl   s    r1   security_detailszAPIResponse.security_detailsE  s#       $$%67?4?    "c                 H   K   | j                   j                  d      xs d S w)N
serverAddrr  rl   s    r1   server_addrzAPIResponse.server_addrH  s"       $$\2:d:r  c                    K   | j                   j                  j                  dd d| j                  i       d {    y 7 w)NdisposeAPIResponser   r   rI   rJ   r   rl   s    r1   rg   zAPIResponse.disposeK  s<     mm$$)) DOO
 	
 	
s   7A?Ac                      | j                   d   S )Nr   r   rl   s    r1   r   zAPIResponse._fetch_uidT  s      ,,r3   c                    K   | j                   j                  j                  dd d| j                  i       d {   S 7 w)NfetchLogr   r
  rl   s    r1   
_fetch_logzAPIResponse._fetch_logX  sA     ]]++00DOO
 
 	
 
s   7A >A )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     sj   C 1 C C Ci# i 9D 9 9 (S ( ( + + + /S / / ' ' ' -w33 - - 
 
 
"E ( C  #C #@(A @;8J#7 ;
 -C - -
$s) 
r3   rs   rn   c                 T    | sy| D ]   }|d   dk(  s|d   j                  d      c S  y)NFr   zContent-Typer   zapplication/json)
startswith)rn   headers     r1   r   r   b  s@     B&>^+'?--.@AAB r3   c                     t        | t              sy	 t        j                  |        y# t        j                  $ r Y yw xY w)NFT)rC   rU   rE   rF   JSONDecodeError)r   s    r1   r   r   k  s;    eS!

5 s   ) ??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!     ss         9 9 + +    D ; 0   Y -	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V+ 2C Ws W3 W9 W,k
 k
\'"6"6 $ C D r3   