
    OjS              	       V   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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/m0Z0m1Z1 d d
l2m3Z3 ejh                  rd dl5m6Z6 eee7ee8e9e7f   f   e#f   Z:eee;e7f   Z<eee7ee;e8e9e7ef   f   e#f   Z=eee7ee8e9e7f   f   e7f   Z> G d d      Z? G d de      Z@dedefdZAde7dedefdZB G d d      ZCddej                  de8fdZEdede8fdZFy)    N)Path)AnyDictListOptionalSequence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to_http_credentials_protocol)Tracing)
Playwrightc                       e Zd ZddZ	 	 	 	 	 	 	 	 	 	 	 ddedeeef   deeee   f   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     n/var/www/origus_pro_usr/data/www/origus.pro/core/.venv/lib/python3.12/site-packages/playwright/_impl/_fetch.py__init__zAPIRequest.__init__F   s*    $%%
!+!7!7!I!I    baseURLextraHTTPHeadershttpCredentialsignoreHTTPSErrorsproxy	userAgenttimeoutstorageStateclientCertificatesfailOnStatusCodemaxRedirectsAPIRequestContextc           
      D  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<   d|v rt        |d         |d<   t        t        t        | j                  j                   j#                  dd |       d {               }|j$                  j'                  |       |S 7 7 7 -w)Nr=   r7   r>   r8   
newRequest)r!   locals
isinstancedictjsonloadsr   decoder$   r%   getr&   r
   rA   r   r.   _channelsend_timeout_settingsset_default_timeout)r2   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   paramsstorage_statecontexts                  r3   new_contextzAPIRequest.new_contextK   s!     "&(+V#">2MmT2})-)-88@@B*~& '):6BT;U)VF%&-LJJ+,.
 (
#$ &(D())F$% oo..33L$OO
 	!!55g>% 9(
 Ps8   AD DAD DAD 0D1*D D D )r.   r(   r+   NNNNNNNNNNNN)__name__
__module____qualname__r4   strr   r	   r   r   boolr   floatr   r   r   r   intrR    r5   r3   r*   r*   E   s    J +/MQ"&#7;6:!% %% sCx.% 0IIJ	%
  % % % % L#t34% !!23% % % 
%r5   r*   c                   X    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de!fd%Z" xZ#S )*rA   parenttypeguidinitializerr+   Nc                 ~    t         |   ||||       t        |d         | _        d | _        t        d       | _        y )Ntracing)superr4   r   _tracing_close_reasonr   rM   )r2   r]   r^   r_   r`   	__class__s        r3   r4   zAPIRequestContext.__init__t   s>     	t[9!-k).D!E,0!0!6r5   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disposerg   )re   rd   _export_all_harsrK   rL   r   r   _reset_stack_counter)r2   rg   es      r3   ri   zAPIRequestContext.dispose|   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-   )rd   r2   s    r3   rb   zAPIRequestContext.tracing   s    }}r5   urlrO   headersdataform	multipartr<   r?   r9   r@   
maxRetriesAPIResponsec                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NDELETEmethodrO   rp   rq   rr   rs   r<   r?   r9   r@   rt   fetchr2   ro   rO   rp   rq   rr   rs   r<   r?   r9   r@   rt   s               r3   deletezAPIRequestContext.delete   sL      ZZ-/%!   
 
 	
 
   !*(*c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NHEADrx   rz   r|   s               r3   headzAPIRequestContext.head   L      ZZ-/%!   
 
 	
 
r~   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NGETrx   rz   r|   s               r3   rJ   zAPIRequestContext.get   L      ZZ-/%!   
 
 	
 
r~   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPATCHrx   rz   r|   s               r3   patchzAPIRequestContext.patch   sL      ZZ-/%!   
 
 	
 
r~   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPUTrx   rz   r|   s               r3   putzAPIRequestContext.put   r   r~   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPOSTrx   rz   r|   s               r3   postzAPIRequestContext.post  r   r~   urlOrRequestry   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)rE   rW   r#   networkRequestr
   _inner_fetch)r2   r   rO   ry   rp   rq   rr   rs   r<   r?   r9   r@   rt   ro   requests                  r3   r{   zAPIRequestContext.fetch9  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   filer{   )ro   r<   rO   encodedParamsry   rp   postDatajsonDataformDatamultipartDatar?   r9   r@   rt   )+re   r   ro   ry   rp   r$   rE   rW   is_json_content_typeis_json_parsablerG   dumpsencodebytesrF   listrZ   rX   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	b64encoderI   rK   rL   rM   r<   ru   )r2   r   ro   ry   rp   rq   rO   rr   rs   r<   r?   r9   r@   rt   headers_objserialized_headers	json_data	form_datamultipart_datar   fd_namefd_valuer   r   payload	post_dataresponses                              r3   r   zAPIRequestContext._inner_fetcha  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	indexedDBopfsc                    K   | j                   j                  dd ||d       d {   }|r't        |t        j                  |             d {    |S 7 /7 w)Nr=   )r   r   )rK   send_return_as_dictr   rG   r   )r2   r   r   r   results        r3   rP   zAPIRequestContext.storage_state  s[      }}88D	4"H
 
 !$

6(:;;;
 <s!   $AA(AAAAr-   )
NNNNNNNNNNrS   )NNN)$rT   rU   rV   r   rW   r   r4   ri   propertyr'   rb   
ParamsTyper   DataTypeFormTypeMultipartTyperY   rX   rZ   r}   r   rJ   r   r   r   r	   r   r   r{   r   r   r   r   r   rP   __classcell__)rf   s   @r3   rA   rA   s   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#%&  	
 
r5   rA   r   r+   c                 r    t        | d   | d   t        j                  | d         j                               S )Nr   mimeTyper   r   r   r   )r   r   r   rI   )r   s    r3   r   r     s:    V_$ 1299; r5   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: )rE   r   r   	mimetypes
guess_typerW   r   r   r   r   r   r   rI   r    r
   r   r   r   rZ   rY   rX   r   r^   rT   )r   r   	mime_type_r   s        r3   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)ru   rQ   r`   r+   Nc                     |j                   | _         |j                  j                  | _        || _        || _        t        j                  |d         | _        y )Nrp   )r/   r0   r1   _request_initializerr   
RawHeaders_headers)r2   rQ   r`   s      r3   r4   zAPIResponse.__init__  sG    ]]
!(!4!4!F!F'**;y+ABr5   c                 V    d| j                   d| j                  d| j                  dS )Nz<APIResponse url=z status=z status_text=>)ro   statusstatus_textrn   s    r3   __repr__zAPIResponse.__repr__  s.    "488,ht{{o]SWScScRffghhr5   c                 B    | j                   dk\  xr | j                   dk  S )N   i+  )r   rn   s    r3   okzAPIResponse.ok  s    {{c!8dkkS&88r5   c                      | j                   d   S )Nro   r   rn   s    r3   ro   zAPIResponse.url  s      ''r5   c                      | j                   d   S )Nr   r   rn   s    r3   r   zAPIResponse.status  s      **r5   c                      | j                   d   S )N
statusTextr   rn   s    r3   r   zAPIResponse.status_text  s      ..r5   c                 6    | j                   j                         S r-   )r   rp   rn   s    r3   rp   zAPIResponse.headers  s    }}$$&&r5   c                 6    | j                   j                         S r-   )r   headers_arrayrn   s    r3   r   zAPIResponse.headers_array  s    }}**,,r5   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   rJ   rn   s    r3   r   zAPIResponse.timing   sl    %'#% ")+  "!# ##''"5 t00445H"M
 	
r5   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   rK   r   
_fetch_uidrn   s   r3   <lambda>z"APIResponse.body.<locals>.<lambda>5  s0    ..BB'"DOO r5   TzResponse has been disposedbinary)r   r0   wrap_api_callr   r   	b64decoder   )r2   r   excs   `  r3   bodyzAPIResponse.body2  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   rI   r2   contents     r3   textzAPIResponse.textF  s&     		#~~ $s   -+-c                 h   K   | j                          d {   }t        j                  |      S 7 wr-   )r  rG   rH   r   s     r3   rG   zAPIResponse.jsonJ  s(     		#zz'"" $s   202c                 H   K   | j                   j                  d      xs d S w)NsecurityDetailsr   rJ   rn   s    r3   security_detailszAPIResponse.security_detailsN  s#       $$%67?4?    "c                 H   K   | j                   j                  d      xs d S w)N
serverAddrr  rn   s    r3   server_addrzAPIResponse.server_addrQ  s"       $$\2:d:r  c                    K   | j                   j                  j                  dd d| j                  i       d {    y 7 w)NdisposeAPIResponser   r   rK   rL   r   rn   s    r3   ri   zAPIResponse.disposeT  s<     mm$$)) DOO
 	
 	
s   7A?Ac                      | j                   d   S )Nr   r   rn   s    r3   r   zAPIResponse._fetch_uid]  s      ,,r5   c                    K   | j                   j                  j                  dd d| j                  i       d {   S 7 w)NfetchLogr   r  rn   s    r3   
_fetch_logzAPIResponse._fetch_loga  sA     ]]++00DOO
 
 	
 
s   7A >A )r+   N)$rT   rU   rV   rA   r   r4   rW   r   r   rX   r   ro   rZ   r   r   r   rp   r   HeadersArrayr   r   r   r   r   r  r   rG   r   r   r  r   r
  ri   r   r   r  r[   r5   r3   ru   ru     sj   C 1 C C Ci# i 9D 9 9 (S ( ( + + + /S / / ' ' ' -w33 - - 
 
 
"E ( C  #C #@(A @;8J#7 ;
 -C - -
$s) 
r5   ru   rp   c                 T    | sy| D ]   }|d   dk(  s|d   j                  d      c S  y)NFr   zContent-Typer   zapplication/json)
startswith)rp   headers     r3   r   r   k  s@     B&>^+'?--.@AAB r5   c                     t        | t              sy	 t        j                  |        y# t        j                  $ r Y yw xY w)NFT)rE   rW   rG   rH   JSONDecodeError)r   s    r3   r   r   t  s;    eS!

5 s   ) ??r-   )Gr   rG   r   r   typingr   r   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%   r&   playwright._impl._tracingr'   TYPE_CHECKINGplaywright._impl._playwrightr(   rW   rX   rY   r   r   r   r   r   r*   rA   r   r   ru   r  r   r   r[   r5   r3   <module>r$     s|         C C C + +    D ; 0   
 .	7 c5uc!1223X=>eS!d3eT5#{&J KKLhVW4U4#3445s:;
+ +\i iX+ 2C Ws W3 W9 W,k
 k
\'"6"6 $ C D r5   