o
    �¨Êh‘  ã                   @   s’  d Z ddlmZ ddlZddlmZ ddlZddlm  m	Z
 ddlZddlmZ ejjejjej d¡gZdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zej deej feej!fedd„ fej"eeej#dd�e
 $d¡d�ej"eeej#d d�e
 $d ¡e
 $d!¡e
j%gd�eej&feej'feej feej!fg	¡ej d"dd#d$id$d%d&œg¡d'd(„ ƒƒZ(ej d)dd g¡d*d+„ ƒZ)dS ),z9
Tests for the pandas custom headers in http(s) requests
é    )ÚpartialN)ÚBytesIOz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc              	   C   sj   t ƒ �(}tj|dd��}| | ¡ W d   ƒ n1 sw   Y  | ¡ W  d   ƒ S 1 s.w   Y  d S )NÚw)ÚfileobjÚmode)r   ÚgzipÚGzipFileÚwriteÚgetvalue)Úresponse_bytesÚbioÚzipper© r   úS/var/www/html/env/lib/python3.10/site-packages/pandas/tests/io/test_http_headers.pyÚ
gzip_bytes   s   ÿ$ýr   c                 C   ó   | j dd� d¡S ©NF)Úindexúutf-8)Úto_csvÚencode©Údfr   r   r   Úcsv_responder   ó   r   c                 C   ó   t t| ƒƒS ©N)r   r   r   r   r   r   Úgz_csv_responder#   ó   r   c                 C   s   |   ¡  d¡S )Nr   )Úto_jsonr   r   r   r   r   Újson_responder'   ó   r    c                 C   r   r   )r   r    r   r   r   r   Úgz_json_responder+   r   r"   c                 C   r   r   )Úto_htmlr   r   r   r   r   Úhtml_responder/   r   r$   c                 C   s   | j ddd�S )NFÚpyarrow)r   Úengine)Ú
to_parquetr   r   r   r   Úparquetpyarrow_reponder3   r!   r(   c                 C   sR   dd l }| jdddd d� | dd¡�}| ¡ W  d   ƒ S 1 s"w   Y  d S )Nr   z'memory://fastparquet_user_agent.parquetFÚfastparquet)r   r&   ÚcompressionÚrb)Úfsspecr'   ÚopenÚread)r   r,   Úfr   r   r   Úparquetfastparquet_responder7   s   ü$ÿr0   c                 C   s<   t ƒ �}|  |¡ | ¡ W  d   ƒ S 1 sw   Y  d S r   )r   Ú	to_pickler
   ©r   r   r   r   r   Úpickle_respnderJ   s   
$þr3   c                 C   s@   t ƒ �}| j|dd� | ¡ W  d   ƒ S 1 sw   Y  d S )NF)Úwrite_index)r   Úto_statar
   r2   r   r   r   Ústata_responderP   s   $þr6   zresponder, read_methodc                  O   s   t j| i |¤Žd S )Nr   )ÚpdÚ	read_html)ÚargsÚkwargsr   r   r   Ú<lambda>]   s    r;   r%   )r&   )Úmarksr)   r,   Ústorage_optionsú
User-AgentÚfooÚbar©r>   ÚAuthc                 C   sØ   t  ddgi¡}g d¢}d| jv r!ddi}|d u r|}n||O }nd }t|ƒ |r-| ¡ ng ¡}|j| |ƒ|d� ||j|d�}t 	||¡ t
|jd	 jƒ}	|D ]}
|	 |
¡}|re|
|v re|||
 kseJ ‚qP|	rjJ ‚d S )
NÚaÚb)zAccept-EncodingÚHostÚ
Connectionr>   ÚgzzContent-Encodingr   )ÚcontentÚheaders)r=   r   )r7   Ú	DataFrameÚ__name__ÚsetÚunionÚkeysÚserve_contentÚurlÚtmÚassert_frame_equalÚdictÚrequestsrI   Úpop)Ú	responderÚread_methodÚ
httpserverr=   ÚexpectedÚdefault_headersÚextraÚexpected_headersÚresultÚrequest_headersÚheaderÚexpr   r   r   Útest_request_headersV   s*   '

ÿ
€ra   r&   c                 C   sl   dddœ}t  | ¡ t ddgi¡}d}t jt|d�� |jd|| d	� W d   ƒ d S 1 s/w   Y  d S )
NÚcustomÚother_customrA   Úcolumn_nameÚcolumn_valuezxstorage_options passed with file object or non-fsspec file path|storage_options passed with buffer, or non-supported URL)Úmatchz/tmp/junk.parquet)r=   r&   )ÚpytestÚimportorskipr7   rJ   ÚraisesÚ
ValueErrorr'   )r&   rI   Útrue_dfÚmsgr   r   r   Ú,test_to_parquet_to_disk_with_storage_options—   s   	þ
ÿ"ÿrm   )*Ú__doc__Ú	functoolsr   r   Úior   rg   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr7   Úpandas._testingÚ_testingrQ   ÚmarkÚ
single_cpuÚnetworkÚfilterwarningsÚ
pytestmarkr   r   r   r    r"   r$   r(   r0   r3   r6   ÚparametrizeÚread_csvÚ	read_jsonÚparamÚread_parquetÚ
skip_if_noÚ&skip_array_manager_not_yet_implementedÚread_pickleÚ
read_statara   rm   r   r   r   r   Ú<module>   s‚    ÿý	þýýü
çþýþþþ