
    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j        rd dlZdd
ZddZdddZddZdddZddZdd Z ej!        ej!        e"e"f         d!f         Z#ej!        e#d!f         Z$ej%        e"ej&        e"e$e#f         f         Z'dd$Z(	 ddd)Z)dd,Z*dd3Z+dd4Z,dd5Z- ej.        d6           ej/        d7e"8           ej0        d9d:d;e"d<=           ej0        d>d?d@e"e"fdAdBC           ej0        dDdEdFe"dG=           ej0        dHdIdJe"e"fdAdKC           ej0        dLdMdNe" ej1        dOP          fdAdQC           ej0        dRdSdTe"e+dUV           ej0        dWdXde"e"fdAdYC           ej0        dZd[e"e"fdAd\C           ej0        d]d^e"e"fd_e,d`a           ej0        dbdce"ddde           ej0        dfdge2dhdie           ej0        djdkdAddlm           ej0        dndodAdAdpm           ej0        dqde3dAddrs           ej0        dt ej1        du          dv=           ej0        dwdxe3dAddys           ej0        dzdAdAde-d{|          dd                                                                                                                                                                                                                                    Z4dS )    )annotationsN   )Client)RequestError)Response)codesreturnNonec                    t           j                                        } |                     dd           |                                  |                     dd           |                                  |                     dd           |                                  t           j        j                            dd	          }|                    d
ddd           |                    d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    d d!           |                    d"d#           |                    d$d%           |                    d&d'           |                    d(d)           |                    d*d+           |                    d,d-           |                    d.d/           |                     |           d S )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/prod/cognitive/venv/lib/python3.11/site-packages/httpx/_main.py
print_helpr3      s   l""$$GMM+XM>>>MMOOOMM2HMEEEMMOOOMMA6     MMOOOJ!!!d!;;E	[$fMMM	]###	MM#	@  
 
MM-9   
MM"$R   
MM+-X   
MM/4   
MM)+VWWW	MM.9   
MM*,P   
MM"	-   
MMS  
 
MM	@   
MM&(IJJJ	MM-!<===	MMU   
MMI  
 
MM/#VWWW	MM(9:::MM%    responser   strc                B   | j                             d          }||                    d          \  }}}	 t          j        t
          t          j                            |	                                          j
                  S # t          j        j        $ r Y nw xY wdS )NzContent-Type; )headersget	partitiontypingcastr6   pygmentslexersget_lexer_for_mimetypestripnameutilClassNotFound)r5   content_type	mime_type_s       r2   get_lexer_for_responserI   g   s    #''77L&0055	1a	;X_;;IOO<M<MNNS   }* 	 	 	D	2s   AB BBFrequesthttpcore.Requesthttp2boolc                   rdnd}fd| j         D             }| j                            d          }| j        j                            d          }| d| d| gd |D             z   }d                    |          S )NzHTTP/2zHTTP/1.1c                J    g | ]\  }}r|                                 n||f S  )lower).0rC   valuerL   s      r2   
<listcomp>z*format_request_headers.<locals>.<listcomp>v   s@       5@T5	(D%0  r4   ascii c                n    g | ]2\  }}|                     d            d|                     d            3S rU   : decoderR   rC   rS   s      r2   rT   z*format_request_headers.<locals>.<listcomp>{   O     0 0 0?JtU4;;w::5<<#8#8::0 0 0r4   
)r:   methodr[   urltargetjoin)rJ   rL   versionr:   r_   ra   liness    `     r2   format_request_headersre   t   s    /hhZG   DKO  G ^""7++F[&&w//F++++'++, 0 0NU0 0 0 E 99Ur4   http_versionbytesstatusintreason_phrasebytes | Noner:   list[tuple[bytes, bytes]]c                    |                      d          }|t          j        |          n|                     d          }| d| d| gd |D             z   }d                    |          S )NrU   rV   c                n    g | ]2\  }}|                     d            d|                     d            3S rX   rZ   r\   s      r2   rT   z+format_response_headers.<locals>.<listcomp>   r]   r4   r^   )r[   r   get_reason_phraserb   )rf   rh   rj   r:   rc   reasonrd   s          r2   format_response_headersrq      s     !!'**G   	'''!!'** 
 ++&++6++, 0 0NU0 0 0 E 99Ur4   c                D   t           j                                        }t          | |          }t           j                            |ddd          }|                    |           t           j                            dddd          }|                    |           d S )NrL   http	ansi_darkTtheme	word_wrapr9   )r)   r*   r+   re   syntaxSyntaxr,   )rJ   rL   r*   	http_textry   s        r2   print_request_headersr|      s    l""$$G&we<<<I[	6PTUUFMM&[F+NNFMM&r4   c                F   t           j                                        }t          | |||          }t           j                            |ddd          }|                    |           t           j                            dddd          }|                    |           d S )Nrt   ru   Trv   r9   )r)   r*   r+   rq   ry   rz   r,   )rf   rh   rj   r:   r*   r{   ry   s          r2   print_response_headersr~      s     l""$$G'fmWUUI[	6PTUUFMM&[F+NNFMM&r4   c                   t           j                                        }t          |           }|r|                                dk    rC	 |                                 }t          j        |d          }n# t          $ r
 | j        }Y nw xY w| j        }t           j	        
                    ||dd          }|                    |           d S |                    dt          | j                   d           d S )	Njson   )indentru   Trv   <z bytes of binary data>)r)   r*   r+   rI   rQ   r   dumps
ValueErrortextry   rz   r,   lencontent)r5   r*   
lexer_namedatar   ry   s         r2   print_responser      s    l""$$G'11J I''%}}z$q111 % % %}% =D##D*KSW#XXfG#h.//GGGHHHHHs   	*A4 4BB.cert_PeerCertRetDictTypec           
     B   g }|                                  D ]\  }}t          |t          t          f          r|                    d| d           |D ]}|dv r-|D ])}|                    d|d          d|d                    *3t          |t                    r;t          |          dk    r(|                    d|d          d|d                    |                    d|           |                    d| d|           d	                    |          S )
Nz*   :)subjectissuerz*     r   rY   r      r^   )items
isinstancelisttupleappendr   rb   )r   rd   keyrS   itemsub_items         r2   format_certificater      s]   Ejjll 2 2
UedE]++ 	2LL''' 4 4///$( N N%Lhqk%L%LXa[%L%LMMMMNe,, 4TaLL!@$q'!@!@T!W!@!@AAAALL!2$!2!233334 LL000u00111199Ur4   rC   infotyping.Mapping[str, typing.Any]verbosec                4   t           j                                        }| dk    r$|r"|d         }|                    d|           d S | dk    rH|rF|d         }|                    d          }|                    d|d         d	|d
                     d S | dk    r|r|d         }|                    d          }|                                }|                                }	|                                }
|                                }|                    d|d|	d                    |                    d|           |
r9|                    d           |                    t          |
                     d S d S | dk    r|r|d         }t          |d           d S | dk    r|r|d         }t          |d           d S | dk    r!|d         \  }}}}t          ||||           d S | dk    r#|d         \  }}d}d }t          ||||           d S d S )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.startedrJ   Frs   z"http2.send_request_headers.startedTz(http11.receive_response_headers.completez'http2.receive_response_headers.completes   HTTP/2)r)   r*   r+   r,   get_extra_inforc   ciphergetpeercertselected_alpn_protocolr   r|   r~   )rC   r   r   r*   r   streamr   r   rc   r   server_certalpnrJ   rf   rh   rj   r:   s                    r2   tracer      s    l""$$G///G/F|11122222	2	2	2w	2n%++M::SASS;q>SSTTTTT	0	0	0W	0n%**<88
$$&&""$$ ,,..0022LLLvayLLMMM;4;;<<< 	;MM1222MM,[99:::::	; 	; 
6	6	67	6y/gU333333	5	5	5'	5y/gT222222	;	;	;7;N7K4fmW|V]GLLLLL	:	:	:~. |V]GLLLLL	 
;	:r4   downloadtyping.BinaryIOc                   t           j                                        }|                                 | j                            d          }t           j                            ddt           j                            d           t           j        	                                t           j        
                                          5 }dt           j                            |j                   }|                    |t          |pd          |d u          }|                                 D ]3}|                    |           |                    || j                   4	 d d d            d S # 1 swxY w Y   d S )	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,   r:   r;   progressProgress	BarColumnDownloadColumnTransferSpeedColumnmarkupescaperC   add_taskri   
iter_byteswriteupdatenum_bytes_downloaded)r5   r   r*   content_lengthr   descriptiondownload_taskchunks           r2   download_responser      s   l""$$GMMOOO%))*:;;N			27$//$$&&))++
 
 T 
N4;+=+=hm+L+LNN ))n)** , * 
 

 ((** 	T 	TENN5!!!OOMX5ROSSSS	TT T T T T T T T T T T T T T T T T Ts   BE--E14E1ctxclick.Contextparamclick.Option | click.ParameterrS   
typing.Anyc                    |d S 	 t          j        |          S # t           j        $ r t          j        d          w xY w)NzNot valid JSON)r   loadsJSONDecodeErrorclickBadParameterr   r   rS   s      r2   validate_jsonr     sS    
 }t3z%    3 3 3 !12223s    $>c                \    |dk    rd S |\  }}|dk    rt          j        dd          }||fS )NNN-PasswordT)
hide_input)r   prompt)r   r   rS   usernamepasswords        r2   validate_authr     sF    
 tHh3<
t<<<hr4   c                `    |r| j         rd S t                       |                                  d S )N)resilient_parsingr3   exitr   s      r2   handle_helpr   -  s5    
  C) LLLHHJJJJJr4   )add_help_optionr`   )typez--methodz-mr_   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-cr   r   z--dataz-dr   r   z--filesz-ffilesrb)moder   z--jsonz-jr   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   list[tuple[str, str]]list[tuple[str, click.File]]tuple[str, str] | Nonefloattyping.BinaryIO | Nonec                   |s|s|s|s|rdnd}	 t          |
|||          5 }|                    || t          |          |t          |          |||t          |          |	|dt	          j        t          |          i          5 }|t          ||           n*|                                 |j	        rt          |           ddd           n# 1 swxY w Y   ddd           n# 1 swxY w Y   nv# t          $ ri}t          j                                        }|                    dt!          |          j         d	|            t%          j        d
           Y d}~nd}~ww xY wt%          j        |j        rdnd
           dS )zU
    An HTTP command line client.
    Sends a request and displays the response.
    POSTGET)r   r   rL   r   r   )r   )
r   r   r   r   r   r:   r   r   r   
extensionsNz[red]z[/red]: r   r   )r   r   r   dict	functoolspartialr   r   readr   r   r   r)   r*   r+   r,   r   __name__sysr   
is_success)r`   r_   r   r   r   r   r   r:   r   r   r   r   r   r   rL   r   r   clientr5   excr*   s                        r2   mainr  9  s.   D  G"FdFeFtF%fMMM 	1QWF||$ZZW!1#Y%6ug%N%N%NO    1 '%h9999MMOOO' 1&x000'1 1 1 1 1 1 1 1 1 1 1 1 1 1 1	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1,    ,&&((?d3ii0??#??@@@
 H(%,QQ1-----s`   C4 A$C(>CC(C	C(C	C(C4 (C,,C4 /C,0C4 4
E'>AE""E')r	   r
   )r5   r   r	   r6   )F)rJ   rK   rL   rM   r	   r6   )
rf   rg   rh   ri   rj   rk   r:   rl   r	   r6   )rJ   rK   rL   rM   r	   r
   )
rf   rg   rh   ri   rj   rk   r:   rl   r	   r
   )r5   r   r	   r
   )r   r   r	   r6   )rC   r6   r   r   r   rM   r	   r
   )r5   r   r   r   r	   r
   )r   r   r   r   rS   r   r	   r   )r   r   r   r   rS   r   r	   r
   )$r`   r6   r_   r6   r   r   r   r6   r   r   r   r   r   r6   r:   r   r   r   r   r   r   r6   r   r   r   rM   r   rM   rL   rM   r   r   r   rM   r	   r
   )5
__future__r   r   r   r   r=   r   pygments.lexersr?   pygments.utilrich.consoler)   rich.markuprich.progressrich.syntax
rich.table_clientr   _exceptionsr   _modelsr   _status_codesr   TYPE_CHECKINGhttpcorer3   rI   re   rq   r|   r~   r   Tupler6   _PCTRTT_PCTRTTTDictUnionr   r   r   r   r   r   r   commandargumentoptionFiler   rM   r  rP   r4   r2   <module>r     sY   " " " " " "      



                                     % % % % % %                  	 OOOJ J J JZ
 
 
 

 
 
 
 
   $       I I I I& ,v|CH-s2
3<%{3S(G5K(L#LM    & GL$M $M $M $M $MNT T T T,3 3 3 3       	 	 	 	 u%%%C   		@	 	 	 
s	:   		7   

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

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