
    Owg                        d Z ddlmZ ddlZddlmZ ddlZddlmc m	Z
 ddlZddlmZ ej                   j"                  ej                   j$                  ej                   j'                  d      gZd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zej                   j?                  deej@                  feejB                  fed f ejD                  e eejF                  d       e
jH                  d             ejD                  e eejF                  d       e
jH                  d       e
jH                  d      e
jJ                  g      eejL                  feejN                  feej@                  feejB                  fg	      ej                   j?                  ddddidddg      d               Z(ej                   j?                  dddg      d        Z)y)z9
Tests for the pandas custom headers in http(s) requests
    )partialN)BytesIOz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                     t               5 }t        j                  |d      5 }|j                  |        d d d        |j	                         cd d d        S # 1 sw Y   "xY w# 1 sw Y   y xY w)Nw)fileobjmode)r   gzipGzipFilewritegetvalue)response_bytesbiozippers      X/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/io/test_http_headers.py
gzip_bytesr      s]    	 c]]3S1 	)VLL(	)||~ 	) 	) s!   A"AA"A	A""A+c                 D    | j                  d      j                  d      S NF)indexutf-8)to_csvencodedfs    r   csv_responderr      s    9959!((11    c                 *    t        t        |             S N)r   r   r   s    r   gz_csv_responderr   #   s    mB'((r   c                 @    | j                         j                  d      S )Nr   )to_jsonr   r   s    r   json_responderr!   '   s    ::<w''r   c                 *    t        t        |             S r   )r   r!   r   s    r   gz_json_responderr#   +   s    nR())r   c                 D    | j                  d      j                  d      S r   )to_htmlr   r   s    r   html_responderr&   /   s    ::E:"))'22r   c                 (    | j                  dd      S )NFpyarrow)r   engine)
to_parquetr   s    r   parquetpyarrow_reponderr+   3   s    ==uY=77r   c                     dd l }| j                  dddd        |j                  dd      5 }|j                         cd d d        S # 1 sw Y   y xY w)Nr   z'memory://fastparquet_user_agent.parquetFfastparquet)r   r)   compressionrb)fsspecr*   openread)r   r0   fs      r   parquetfastparquet_responderr4   7   sU     MM1	   
>	E vvx  s   AAc                     t               5 }| j                  |       |j                         cd d d        S # 1 sw Y   y xY wr   )r   	to_pickler   r   r   s     r   pickle_respnderr8   J   s3    	 c
S||~  s   !6?c                     t               5 }| j                  |d       |j                         cd d d        S # 1 sw Y   y xY w)NF)write_index)r   to_statar   r7   s     r   stata_responderr<   P   s7    	 c
CU+||~  s	   #8Azresponder, read_methodc                  2    t        j                  | i |d   S )Nr   )pd	read_html)argskwargss     r   <lambda>rB   ]   s    BLL$$A&$A!$D r   r(   )r)   )marksr-   r0   storage_options
User-AgentfoobarrE   Authc                    t        j                  ddgi      }g d}d| j                  v rddi}||}n||z  }nd }t        |      j	                  |r|j                         ng       }|j                   | |      |        ||j                  |      }t        j                  ||       t        |j                  d	   j                        }	|D ]%  }
|	j                  |
      }|s|
|v s|||
   k(  r%J  |	rJ y )
Nab)zAccept-EncodingHost
ConnectionrE   gzzContent-Encodingr	   )contentheaders)rD   r   )r>   	DataFrame__name__setunionkeysserve_contenturltmassert_frame_equaldictrequestsrQ   pop)	responderread_method
httpserverrD   expecteddefault_headersextraexpected_headersresultrequest_headersheaderexps               r   test_request_headersri   V   s   N ||S3%L)HMOy!!!#V,"#Ou$O?+11"1r Yx%8%HIF&(+:..q199:O" 2!!&)v8/&11112
 r   r)   c                     ddd}t        j                  |        t        j                  ddgi      }d}t        j                  t
        |      5  |j                  d|| 	       d d d        y # 1 sw Y   y xY w)
Ncustomother_customrH   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)rD   r)   )pytestimportorskipr>   rR   raises
ValueErrorr*   )r)   rQ   true_dfmsgs       r   ,test_to_parquet_to_disk_with_storage_optionsrv      s     G
 llMN+;<=G	C  
z	- X.PVWX X Xs   A..A7)*__doc__	functoolsr   r	   ior   rp   pandas.util._test_decoratorsutil_test_decoratorstdpandasr>   pandas._testing_testingrY   mark
single_cpunetworkfilterwarnings
pytestmarkr   r   r   r!   r#   r&   r+   r4   r8   r<   parametrizeread_csv	read_jsonparamread_parquet
skip_if_no&skip_array_manager_not_yet_implementedread_pickle
read_statari   rv    r   r   <module>r      s       ) )   KK
KK
KKG
2)(*38& 	$	&D	
 	#BOOI6"--	*	

 	(BOOM: m,h'99			
 
"..)	"--(	2;;'	BLL)3< 	ue,=L6 XXr   