
    ,h
=                       d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dl	Z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 ddlmZ ddlmZ ej0                  rd dlZdadZdbd	ZdcdddZ	 	 	 	 	 	 	 	 	 	 dedZdcdfdZ	 	 	 	 	 	 	 	 	 	 dgdZdhdZ ejB                  ejB                  e"e"f   df   Z#ejB                  e#df   Z$ejJ                  e"ejL                  e"e$e#f   f   Z'didZ(	 dc	 	 	 	 	 	 	 djdZ)dkdZ*	 	 	 	 	 	 	 	 dldZ+	 	 	 	 	 	 	 	 dldZ,	 	 	 	 	 	 	 	 dmdZ- ej\                  d
       ej^                  de"       ej`                  ddde"d        ej`                  d!d"d#e"e"fd$d%&       ej`                  d'd(d)e"d*        ej`                  d+d,d-e"e"fd$d.&       ej`                  d/d0d1e" ejb                  d23      fd$d4&       ej`                  d5d6d7e"e+d89       ej`                  d:d;de"e"fd$d<&       ej`                  d=d>e"e"fd$d?&       ej`                  d@dAe"e"fdBe,dCD       ej`                  dEdFe"ddGH       ej`                  dIdJe2dKdLH       ej`                  dMdNd$d
dOP       ej`                  dQdRd$d$dSP       ej`                  dTde3d$d
dUV       ej`                  dW ejb                  dX      dY        ej`                  dZd[e3d$d
d\V       ej`                  d]d$d$d
e-d^_      	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dnd`                                                                                                                                     Z4y)o    )annotationsN   )Client)RequestError)Response)codesc                 :   t         j                  j                         } | j                  dd       | j                          | j                  dd       | j                          | j                  dd       | j                          t         j                  j
                  j                  dd	      }|j                  d
ddd       |j                  d       |j                  dd       |j                  dd       |j                  dd       |j                  dd       |j                  dd       |j                  dd       |j                  dd       |j                  dd       |j                  dd       |j                  d d!       |j                  d"d#       |j                  d$d%       |j                  d&d'       |j                  d(d)       |j                  d*d+       |j                  d,d-       |j                  d.d/       | j                  |       y )0Nz[bold]HTTPX :butterfly:center)justifyzA next generation HTTP client.z7Usage: [bold]httpx[/bold] [cyan]<URL> [OPTIONS][/cyan] leftr   T)paddingpad_edge	Parameterbold)no_wrapr   styleDescriptionz-m, --method [cyan]METHODz{Request method, such as GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD.
[Default: GET, or POST if a request body is included]z#-p, --params [cyan]<NAME VALUE> .../Query parameters to include in the request URL.z-c, --content [cyan]TEXT,Byte content to include in the request body.z!-d, --data [cyan]<NAME VALUE> ...)Form data to include in the request body.z%-f, --files [cyan]<NAME FILENAME> ...*Form files to include in the request body.z-j, --json [cyan]TEXT)JSON data to include in the request body.z$-h, --headers [cyan]<NAME VALUE> .../Include additional HTTP headers in the request.z --cookies [cyan]<NAME VALUE> ..."Cookies to include in the request.z--auth [cyan]<USER PASS>Username and password to include in the request. Specify '-' for the password to use a password prompt. Note that using --verbose/-v will expose the Authorization header, including the password encoding in a trivially reversible format.z--proxy [cyan]URLISend the request via a proxy. Should be the URL giving the proxy address.z--timeout [cyan]FLOATzTimeout value to use for network operations, such as establishing the connection, reading some data, etc... [Default: 5.0]--follow-redirectsAutomatically follow redirects.--no-verifyDisable SSL verification.--http2@Send the request using HTTP/2, if the remote server supports it.z--download [cyan]FILE?Save the response content as a file, rather than displaying it.z-v, --verbosez1Verbose output. Show request as well as response.--helpShow this message and exit.)	richconsoleConsoleprinttableTablegrid
add_columnadd_row)r(   r+   s     M/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/httpx/_main.py
print_helpr1      s   ll""$GMM+XM>MMOMM2HMEMMOMMA6   MMOJJ!!!d!;E	[$fM	]#	MM#	@
 
MM-9 
MM"$R 
MM+-X 
MM/4 
MM)+VW	MM.9 
MM*,P 
MM"	- 
MMS
 
MM	@ 
MM&(IJ	MM-!<=	MMU 
MMI
 
MM/#VW	MM(9:MM%    c                N   | j                   j                  d      }|e|j                  d      \  }}}	 t        j                  t
        t        j                  j                  |j                               j                        S y# t        j                  j                  $ r Y yw xY w)NzContent-Type; )headersget	partitiontypingcaststrpygmentslexersget_lexer_for_mimetypestripnameutilClassNotFound)responsecontent_type	mime_type_s       r0   get_lexer_for_responserG   g   s    ##''7L&005	1a	;;X__;;IOO<MNSS 
  }}** 		s   AB B$#B$Fhttp2c           
        |rdnd}| j                   D cg c]  \  }}|r|j                         n||f }}}| j                  j                  d      }| j                  j
                  j                  d      }| d| d| g|D cg c]*  \  }}|j                  d       d|j                  d       , c}}z   }dj                  |      S c c}}w c c}}w )NzHTTP/2zHTTP/1.1ascii : 
)r6   lowermethoddecodeurltargetjoin)	requestrH   versionr@   valuer6   rO   rR   liness	            r0   format_request_headersrX   t   s    hZGDKOO5@T5D%0G  ^^""7+F[[&&w/Fxq'+,NU0?JtU4;;w
 5<<#8"9:0 E 99U
0s    C/Cr6   c           
     *   | j                  d      }|t        j                  |      n|j                  d      }| d| d| g|D cg c]*  \  }}|j                  d       d|j                  d       , c}}z   }dj                  |      S c c}}w )NrJ   rK   rL   rM   )rP   r   get_reason_phraserS   )	http_versionstatusreason_phraser6   rU   reasonr@   rV   rW   s	            r0   format_response_headersr_      s     !!'*G   	'!!'* 
 y&6(+,NU0?JtU4;;w
 5<<#8"9:0 E 99U0s   	/Bc                *   t         j                  j                         }t        | |      }t         j                  j                  |ddd      }|j                  |       t         j                  j                  dddd      }|j                  |       y )NrH   http	ansi_darkTtheme	word_wrapr5   )r'   r(   r)   rX   syntaxSyntaxr*   )rT   rH   r(   	http_textrg   s        r0   print_request_headersrj      ss    ll""$G&we<I[[	6PTUFMM&[[F+NFMM&r2   c                ,   t         j                  j                         }t        | |||      }t         j                  j                  |ddd      }|j                  |       t         j                  j                  dddd      }|j                  |       y )Nrb   rc   Trd   r5   )r'   r(   r)   r_   rg   rh   r*   )r[   r\   r]   r6   r(   ri   rg   s          r0   print_response_headersrl      sy     ll""$G'fmWUI[[	6PTUFMM&[[F+NFMM&r2   c                   t         j                  j                         }t        |       }|r}|j	                         dk(  r)	 | j                         }t        j                  |d      }n| j                  }t         j                  j                  ||dd      }|j                  |       y |j                  dt        | j                         d       y # t        $ r | j                  }Y uw xY w)	Njson   )indentrc   Trd   <z bytes of binary data>)r'   r(   r)   rG   rN   rn   dumps
ValueErrortextrg   rh   r*   lencontent)rC   r(   
lexer_namedatart   rg   s         r0   print_responsery      s    ll""$G'1J'%}}zz$q1 ==D##D*KSW#Xf#h../00FGH  %}}%s    'C C*)C*.c           
        g }| j                         D ]  \  }}t        |t        t        f      r|j	                  d| d       |D ]{  }|dv r%|D ]  }|j	                  d|d    d|d          ! ,t        |t              r,t        |      dk(  r|j	                  d|d    d|d          h|j	                  d|       } |j	                  d| d|        d	j                  |      S )
Nz*   :)subjectissuerz*     r   rL   r      rM   )items
isinstancelisttupleappendru   rS   )certrW   keyrV   itemsub_items         r0   format_certificater      s    Ejjl 2
UedE]+LL4uA' 4//$( Nvhqk]"Xa[O%LMNe,TaLL6$q'"T!WK!@ALL6$!234 LL4uBui012 99Ur2   c                P   t         j                  j                         }| dk(  r|r|d   }|j                  d|       y | dk(  r6|r4|d   }|j	                  d      }|j                  d|d   d	|d
           y | dk(  r|r|d   }|j	                  d      }|j                         }|j                         }	|j                         }
|j                         }|j                  d|d|	d          |j                  d|       |
r,|j                  d       |j                  t        |
             y y | dk(  r|r|d   }t        |d       y | dk(  r|r|d   }t        |d       y | dk(  r|d   \  }}}}t        ||||       y | dk(  r|d   \  }}d}d }t        ||||       y y )Nzconnection.connect_tcp.startedhostz* Connecting to zconnection.connect_tcp.completereturn_valueserver_addrz* Connected to r   z	 on port r   zconnection.start_tls.complete
ssl_objectz* SSL established using z / z* Selected ALPN protocol: z* Server certificate:z#http11.send_request_headers.startedrT   Fra   z"http2.send_request_headers.startedTz(http11.receive_response_headers.completez'http2.receive_response_headers.completes   HTTP/2)r'   r(   r)   r*   get_extra_inforU   ciphergetpeercertselected_alpn_protocolr   rj   rl   )r@   infoverboser(   r   streamr   r   rU   r   server_certalpnrT   r[   r\   r]   r6   s                    r0   tracer      s    ll""$G//GF|(12	2	2wn%++M:A'9;q>BRST	0	0Wn%**<8
$$&""$ ,,.00203vaymLM24(;<MM12MM,[9:  
6	67y/gU3	5	5'y/gT2	;	;7;N7K4fmW|V]GL	:	:~. |V]GL	 
;r2   c                   t         j                  j                         }|j                          | j                  j                  d      }t         j                  j                  ddt         j                  j                  d       t         j                  j                         t         j                  j                               5 }dt         j                  j                  |j                         }|j                  |t        |xs d      |d u      }| j!                         D ]0  }|j#                  |       |j%                  || j&                         2 	 d d d        y # 1 sw Y   y xY w)	NzContent-Lengthz([progress.description]{task.description}z-[progress.percentage]{task.percentage:>3.0f}%)	bar_widthzDownloading [bold]r   )totalstart)	completed)r'   r(   r)   r*   r6   r7   progressProgress	BarColumnDownloadColumnTransferSpeedColumnmarkupescaper@   add_taskint
iter_byteswriteupdatenum_bytes_downloaded)rC   downloadr(   content_lengthr   descriptiondownload_taskchunks           r0   download_responser      s*   ll""$GMMO%%))*:;N			27$/$$&))+
 T 
*4;;+=+=hmm+L*MN ))n)* , * 

 ((* 	TENN5!OOMX5R5ROS	TT T Ts   BE  E)c                    |y 	 t        j                  |      S # t         j                  $ r t        j                  d      w xY w)NzNot valid JSON)rn   loadsJSONDecodeErrorclickBadParameterctxparamrV   s      r0   validate_jsonr     sG    
 }3zz%   3  !1223s	    )Ac                X    |dk(  ry |\  }}|dk(  rt        j                  dd      }||fS )NNN-PasswordT)
hide_input)r   prompt)r   r   rV   usernamepasswords        r0   validate_authr     s;    
 Hh3<<
t<hr2   c                V    |r| j                   ry t                | j                          y )N)resilient_parsingr1   exitr   s      r0   handle_helpr   -  s     
 C))LHHJr2   )add_help_optionrQ   )typez--methodz-mrO   z{Request method, such as GET, POST, PUT, PATCH, DELETE, OPTIONS, HEAD. [Default: GET, or POST if a request body is included])r   helpz--paramsz-pparamsTr   )r   multipler   z	--contentz-crv   r   z--dataz-drx   r   z--filesz-ffilesrb)moder   z--jsonz-jrn   r   )r   callbackr   z	--headersz-hr   z	--cookiescookiesr   z--authauthr   r   )r   defaultr   r   z--proxyproxyr   )r   r   r   z	--timeouttimeoutg      @r   r   follow_redirectsr   )is_flagr   r   r    verifyr!   r"   r#   )r   r   r   r   z
--downloadwbr$   z	--verbosez-vz*Verbose. Show request as well as response.r%   r&   )r   is_eagerexpose_valuer   r   c                   |s|s|s|s|rdnd}	 t        |
|||      5 }|j                  || t        |      |t        |      |||t        |      |	|dt	        j
                  t        |      i      5 }|t        ||       n'|j                          |j                  rt        |       ddd       ddd       t%        j&                  j(                  rd       yd
       y# 1 sw Y   :xY w# 1 sw Y   >xY w# t        $ rg}t        j                  j                         }|j                  dt!        |      j"                   d	|        t%        j&                  d
       Y d}~d}~ww xY w)zU
    An HTTP command line client.
    Sends a request and displays the response.
    POSTGET)r   r   rH   r   r   )r   )
r   rv   rx   r   rn   r6   r   r   r   
extensionsNz[red]z[/red]: r   r   )r   r   r   dict	functoolspartialr   r   readrv   ry   r   r'   r(   r)   r*   r   __name__sysr   
is_success)rQ   rO   r   rv   rx   r   rn   r6   r   r   r   r   r   r   rH   r   r   clientrC   excr(   s                        r0   mainr   9  sH   D "det%fM 	1QWF|$ZW!1#Y%6%6ug%NO   1 '%h9MMO''&x0'1	16 HH(%%Q-1-51 1	1 	1,  ,,&&(d3i001#?@sH   C; AC/37C#*C/2C; #C,	(C//C84C; ;	E+AE&&E+)returnNone)rC   r   r   r;   )F)rT   httpcore.RequestrH   boolr   r;   )
r[   bytesr\   r   r]   bytes | Noner6   list[tuple[bytes, bytes]]r   r;   )rT   r   rH   r   r   r   )
r[   r   r\   r   r]   r   r6   r   r   r   )rC   r   r   r   )r   _PeerCertRetDictTyper   r;   )r@   r;   r   ztyping.Mapping[str, typing.Any]r   r   r   r   )rC   r   r   ztyping.BinaryIOr   r   )r   click.Contextr   click.Option | click.ParameterrV   
typing.Anyr   r   )r   r   r   r   rV   r   r   r   )$rQ   r;   rO   r;   r   list[tuple[str, str]]rv   r;   rx   r   r   zlist[tuple[str, click.File]]rn   r;   r6   r   r   r   r   ztuple[str, str] | Noner   r;   r   floatr   r   r   r   rH   r   r   ztyping.BinaryIO | Noner   r   r   r   )5
__future__r   r   rn   r   r9   r   pygments.lexersr<   pygments.utilrich.consoler'   rich.markuprich.progressrich.syntax
rich.table_clientr   _exceptionsr   _modelsr   _status_codesr   TYPE_CHECKINGhttpcorer1   rG   rX   r_   rj   rl   ry   Tupler;   _PCTRTT_PCTRTTTDictUnionr   r   r   r   r   r   r   commandargumentoptionFiler   r   r    r2   r0   <module>r     si   "   
           %   	JZ

   '	
 	$   '	
 
I& ,,v||CH-s2
3<<%{{3S(G5K(L#LM & GL$M
$M4$M?C$M	$MNT,3	3)3 3 	3 	 )    	 			)	 	 
		 u%C 		@	 
s	: 		7 

s	4 
zuzzt$	%	5 
		4 
s	: 
s	- 

s	L 		T 		?	 	* 	$ 		K 	D		J
 		5 	&6.	6.6. "6. 	6.
  6. (6. 6. #6. #6. !6. 6. 6. 6. 6. 6.  %!6." #6.$ 
%6.		 ! &V6.r2   