
    /jcN              	       B   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 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
l-m.Z. ej^                  rd dl0m1Z1 e
ee2e
e3e4e2f   f   ef   Z5e
ee6e2f   Z7e
ee2e
e6e3e4e2ef   f   ef   Z8e
ee2e
e3e4e2f   f   e2f   Z9 G d d      Z: G d de      Z;dedefdZ<de2dedefdZ= G d d      Z>ddej~                  de3fdZ@dede3fdZAy)    N)Path)AnyDictListOptionalUnioncast)ClientCertificateFilePayload	FormFieldHeadersHttpCredentialsProxySettings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     U/var/www/html/maxservice/venv/lib/python3.12/site-packages/playwright/_impl/_fetch.py__init__zAPIRequest.__init__?   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)Nr8   r2   r9   
newRequest)r   locals
isinstancedictjsonloadsr   decoder    r!   getr	   r<   r   r)   _channelsend_timeout_settingsset_default_timeout)r-   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   paramsstorage_statecontexts                  r.   new_contextzAPIRequest.new_contextD   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__r/   strr   r   boolr   floatr   r   r   r   r
   intrM    r0   r.   r%   r%   >   s    J +/+/"&#7;6:!% !! sCx.! )	!
  ! ! ! ! L#t34! !!23! ! ! 
!r0   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)superr/   r   _tracing_close_reasonr   rH   )r-   rX   rY   rZ   r[   	__class__s        r.   r/   zAPIRequestContext.__init__i   s>     	t[9!-k).D!E,0!0!6r0   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disposerb   )r`   r_   _export_all_harsrF   rG   r   r   _reset_stack_counter)r-   rb   es      r.   rd   zAPIRequestContext.disposeq   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(   )r_   r-   s    r.   r]   zAPIRequestContext.tracing|   s    }}r0   urlrJ   headersdataform	multipartr7   r:   r4   r;   
maxRetriesAPIResponsec                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NDELETEmethodrJ   rk   rl   rm   rn   r7   r:   r4   r;   ro   fetchr-   rj   rJ   rk   rl   rm   rn   r7   r:   r4   r;   ro   s               r.   deletezAPIRequestContext.delete   sL      ZZ-/%!   
 
 	
 
   !*(*c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NHEADrs   ru   rw   s               r.   headzAPIRequestContext.head   L      ZZ-/%!   
 
 	
 
ry   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NGETrs   ru   rw   s               r.   rE   zAPIRequestContext.get   L      ZZ-/%!   
 
 	
 
ry   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPATCHrs   ru   rw   s               r.   patchzAPIRequestContext.patch   sL      ZZ-/%!   
 
 	
 
ry   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPUTrs   ru   rw   s               r.   putzAPIRequestContext.put   r   ry   c                 X   K   | j                  |d||||||||	|
|       d {   S 7 w)NPOSTrs   ru   rw   s               r.   postzAPIRequestContext.post  r}   ry   urlOrRequestrt   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)r@   rR   r   networkRequestr	   _inner_fetch)r-   r   rJ   rt   rk   rl   rm   rn   r7   r:   r4   r;   ro   rj   requests                  r.   rv   zAPIRequestContext.fetch.  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   filerv   )rj   r7   rJ   encodedParamsrt   rk   postDatajsonDataformDatamultipartDatar:   r4   r;   ro   )+r`   r   rj   rt   rk   r    r@   rR   is_json_content_typeis_json_parsablerB   dumpsencodebytesrA   listrU   rS   r   rY   r   _fieldspathlibr   appendr   r   _form_data_field_to_form_fielditemsr   r	   r   r   file_payload_to_jsonpost_data_bufferbase64	b64encoderD   rF   rG   rH   r7   rp   )r-   r   rj   rt   rk   rl   rJ   rm   rn   r7   r:   r4   r;   ro   headers_objserialized_headers	json_data	form_datamultipart_datar   fd_namefd_valuer   r   payload	post_dataresponses                              r.   r   zAPIRequestContext._inner_fetchV  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)Nr8   r   )rF   send_return_as_dictr   rB   r   )r-   r   r   results       r.   rK   zAPIRequestContext.storage_state  s[     
 }}88D;	":
 
 !$

6(:;;;
 <s!   #AA(AAAAr(   )
NNNNNNNNNNrN   )NN)$rO   rP   rQ   r   rR   r   r/   rd   propertyr"   r]   
ParamsTyper   DataTypeFormTypeMultipartTyperT   rS   rU   rx   r|   rE   r   r   r   r   r   r   rv   r   r   r   r   r   rK   __classcell__)ra   s   @r.   r<   r<   h   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#%&
 
 
	
r0   r<   r   r&   c                 r    t        | d   | d   t        j                  | d         j                               S )Nr   mimeTyper   r   r   r   )r   r   r   rD   )r   s    r.   r   r     s:    V_$ 1299; r0   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: )r@   r   r   	mimetypes
guess_typerR   r   r   r   r   r   r   rD   r   r	   r   r   r   rU   rT   rS   r   rY   rO   )r   r   	mime_type_r   s        r.   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                      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defdZdefdZdefdZddZedefd       Zdee   fdZy)rp   rL   r[   r&   Nc                     |j                   | _         |j                  j                  | _        || _        || _        t        j                  |d         | _        y )Nrk   )r*   r+   r,   _request_initializerr   
RawHeaders_headers)r-   rL   r[   s      r.   r/   zAPIResponse.__init__  sG    ]]
!(!4!4!F!F'**;y+ABr0   c                 V    d| j                   d| j                  d| j                  dS )Nz<APIResponse url=z status=z status_text=>)rj   statusstatus_textri   s    r.   __repr__zAPIResponse.__repr__  s.    "488,ht{{o]SWScScRffghhr0   c                 B    | j                   dk\  xr | j                   dk  S )N   i+  )r   ri   s    r.   okzAPIResponse.ok  s    {{c!8dkkS&88r0   c                      | j                   d   S )Nrj   r   ri   s    r.   rj   zAPIResponse.url   s      ''r0   c                      | j                   d   S )Nr   r   ri   s    r.   r   zAPIResponse.status  s      **r0   c                      | j                   d   S )N
statusTextr   ri   s    r.   r   zAPIResponse.status_text  s      ..r0   c                 6    | j                   j                         S r(   )r   rk   ri   s    r.   rk   zAPIResponse.headers  s    }}$$&&r0   c                 6    | j                   j                         S r(   )r   headers_arrayri   s    r.   r   zAPIResponse.headers_array  s    }}**,,r0   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   rF   r   
_fetch_uidri   s   r.   <lambda>z"APIResponse.body.<locals>.<lambda>  s0    ..BB'"DOO r0   TzResponse has been disposedbinary)r   r+   wrap_api_callr   r   	b64decoder   )r-   r   excs   `  r.   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   rD   r-   contents     r.   textzAPIResponse.text(  s&     		#~~ $s   -+-c                 h   K   | j                          d {   }t        j                  |      S 7 wr(   )r   rB   rC   r   s     r.   rB   zAPIResponse.json,  s(     		#zz'"" $s   202c                    K   | j                   j                  j                  dd d| j                  i       d {    y 7 w)NdisposeAPIResponser   r   rF   rG   r   ri   s    r.   rd   zAPIResponse.dispose0  s<     mm$$)) DOO
 	
 	
s   7A?Ac                      | j                   d   S )Nr   r   ri   s    r.   r   zAPIResponse._fetch_uid9  s      ,,r0   c                    K   | j                   j                  j                  dd d| j                  i       d {   S 7 w)NfetchLogr   r   ri   s    r.   
_fetch_logzAPIResponse._fetch_log=  sA     ]]++00DOO
 
 	
 
s   7A >A )r&   N)rO   rP   rQ   r<   r   r/   rR   r   r   rS   r   rj   rU   r   r   r   rk   r   HeadersArrayr   r   r   r   r   rB   rd   r   r   r   rV   r0   r.   rp   rp     s+   C 1 C C Ci# i 9D 9 9 (S ( ( + + + /S / / ' ' ' -w33 - -E ( C  #C #
 -C - -
$s) 
r0   rp   rk   c                 T    | sy| D ]   }|d   dk(  s|d   j                  d      c S  y)NFr   zContent-Typer   zapplication/json)
startswith)rk   headers     r.   r   r   G  s@     B&>^+'?--.@AAB r0   c                     t        | t              sy	 t        j                  |        y# t        j                  $ r Y yw xY w)NFT)r@   rR   rB   rC   JSONDecodeError)r   s    r.   r   r   P  s;    eS!

5 s   ) ??r(   )Br   rB   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   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#   rR   rS   rT   r   r   r   r   r   r%   r<   r   r   rp   r   r   r   rV   r0   r.   <module>r	     sn         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,S
 S
l'"6"6 $ C D r0   