HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/curl/__pycache__/__init__.cpython-310.pyc
o

�a.�@sjdZddlZddlZejddkZer&ddlmZddlmZddl	m
Z
n"ddlZddlmZzddl
mZ
WneyGddlmZ
YnwzddlZddlmZmZWn	ey_Ynwe�ee�Gdd	�d	�Zed
kr�eej�dkr{dZnejd
Ze�Ze�e�ee���ed�ddlZe�e���ee�ej��ee��d�e� �dSdS)z.A high-level interface to the pycurl extension�N�)�urljoin)�BytesIO)�StringIO)�SIGPIPE�SIG_IGNc@s�eZdZdZd$dd�Zdd�Zdd	�Zd
d�Zdd
�Zd%dd�Z	d$dd�Z
d$dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�ZdS)&�Curlz)High-level interface to pycurl functions.�Ncs�t���_��|�d�_|pg�_d�_t��_d�_	��
tjd���
tjd���
tj
d���
tjd���
tjd���d���
tjd���
tj�jj��fdd	�}��
tj|�dS)
Nrr	���z	/dev/null�cs�j|�d�7_dS)N�ascii)�hdr�decode)�x��self��//usr/lib/python3/dist-packages/curl/__init__.py�header_callback=sz&Curl.__init__.<locals>.header_callback)�pycurlr�handle�set_url�	verbosity�fakeheaders�payloadr�
payload_ior�
set_option�SSL_VERIFYHOST�FOLLOWLOCATION�	MAXREDIRS�NOSIGNAL�
COOKIEFILE�set_timeout�NETRC�
WRITEFUNCTION�write�HEADERFUNCTION)r�base_urlrrrrr�__init__%s"



z
Curl.__init__cC�|�tj|�dS)z&Set timeout for a retrieving an objectN)rr�TIMEOUT)r�timeoutrrrr$A�zCurl.set_timeoutcCs||_|�tj|j�dS)z!Set the base URL to be retrieved.N)r)rr�URL)r�urlrrrrEszCurl.set_urlcGs|jj|�dS)zSet an option on the retrieval.N)r�setopt�r�argsrrrrJ�zCurl.set_optioncCr+)z'Set verbosity to 1 to see transactions.N)rr�VERBOSE)r�levelrrr�
set_verbosityNr.zCurl.set_verbositycCsn|jr|�tj|j�|r|�tjt|j|��d|_|j�	d�|j�
�d|_|j�
�|j��|_|jS)zPerform the pending request.Nrr	)rrr�
HTTPHEADERr/rr)rr�seek�truncaterr�perform�getvalue)r�relative_urlrrr�	__requestRs

zCurl.__requestcC�.|r|dt�|�7}|�tjd�|�|�S)z=Ship a GET request for a specified URL, capture the response.�?r)�urllib_parse�	urlencoderr�HTTPGET�_Curl__request�rr0�paramsrrr�get`�
zCurl.getcCr?)z>Ship a HEAD request for a specified URL, capture the response.r@r)rArBrr�NOBODYrDrErrr�headgrHz	Curl.headcCs,|�tjd�|�tjt�|��|�|�S)z=Ship a POST request to a specified CGI, capture the response.r)rr�POST�
POSTFIELDSrArBrD)r�cgirFrrr�postns
z	Curl.postcC�|jS)z'Return the body from the last response.)rrrrr�bodyt�z	Curl.bodycCrO)z)Return the header from the last response.)rrrrr�headerxrQzCurl.headercGs|jj|�S)z Get information about retrieval.)r�getinfor2rrr�get_info|sz
Curl.get_infocCsHi}|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj	�|d<|j�tj
�|d<|j�tj�|d	<|j�tj�|d
<|j�tj
�|d<|j�tj�|d<|j�tj�|d
<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj	�|d<|j�tj
�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj�|d<|j�tj �|d<|S)z7Return a dictionary with all info on the last response.z
effective-urlz	http-codez
total-timeznamelookup-timezconnect-timezpretransfer-timez
redirect-timezredirect-countzsize-uploadz
size-downloadzspeed-uploadzheader-sizezrequest-sizezcontent-length-downloadzcontent-length-uploadzcontent-typez
response-codezspeed-downloadzssl-verifyresult�filetimezstarttransfer-timezhttp-connectcodezhttpauth-availzproxyauth-avail�os-errnoznum-connectszssl-engines�
cookielist�
lastsocketzftp-entry-path)!rrSr�
EFFECTIVE_URL�	HTTP_CODE�
TOTAL_TIME�NAMELOOKUP_TIME�CONNECT_TIME�PRETRANSFER_TIME�
REDIRECT_TIME�REDIRECT_COUNT�SIZE_UPLOAD�
SIZE_DOWNLOAD�SPEED_UPLOAD�HEADER_SIZE�REQUEST_SIZE�CONTENT_LENGTH_DOWNLOAD�CONTENT_LENGTH_UPLOAD�CONTENT_TYPE�
RESPONSE_CODE�SPEED_DOWNLOAD�SSL_VERIFYRESULT�
INFO_FILETIME�STARTTRANSFER_TIME�HTTP_CONNECTCODE�HTTPAUTH_AVAIL�PROXYAUTH_AVAIL�OS_ERRNO�NUM_CONNECTS�SSL_ENGINES�INFO_COOKIELIST�
LASTSOCKET�FTP_ENTRY_PATH)r�mrrr�info�sDz	Curl.infocCs|j�|�dkS)z3Did a given check string occur in the last payload?r)r�find)r�checkrrr�answered�r4z
Curl.answeredcCs&|jr|j��d|_d|_d|_dS)z#Close a session, freeing resources.Nr	)r�closerrrrrrr|�s


z
Curl.closecCs|��dS�N)r|rrrr�__del__�szCurl.__del__)r	Nr})�__name__�
__module__�__qualname__�__doc__r*r$rrr7rDrGrJrNrPrRrTrxr{r|r~rrrrr#s$



%r�__main__r
zhttps://curl.haxx.serzK==========================================================================
rV)!r��sysr�version_info�py3�urllib.parse�parserAr�ior�urllib�urlparse�	cStringIOr�ImportError�signalrrrr�len�argvr0�crG�printrP�pprintrxrTrqr|rrrr�<module>sJ��

�