o
    `g                     @  s   d dl mZ d dlmZmZmZmZmZ d dlm	Z	 d dl
mZ d dl
mZ G dd deZdddZdddZedZdddZdddZdS )     )annotations)AnyTypeTypeVarcast
get_origin)urlparse)AsyncClient)Clientc                   @  s   e Zd ZdddZdS )
SyncClientreturnNonec                 C  s   |    d S N)close)self r   J/var/www/html/propose/venv/lib/python3.10/site-packages/postgrest/utils.pyaclose   s   zSyncClient.acloseN)r   r   )__name__
__module____qualname__r   r   r   r   r   r   
   s    r   paramr   r   strc                   s2   t |  d}t fdd|D rd  dS  S )Nz,:()c                 3  s    | ]}| v V  qd S r   r   ).0char	param_strr   r   	<genexpr>   s    z!sanitize_param.<locals>.<genexpr>")r   any)r   reserved_charsr   r   r   sanitize_param   s
   r!   patternc                 C  s   t | ddS )N%*)r!   replace)r"   r   r   r   sanitize_pattern_param   s   r&   _Ttyptype[type[_T]]type[_T]c                 C  s   t tt t| S r   )r   r   r'   r   )r(   r   r   r   get_origin_and_cast   s   r+   urlboolc                 C  s   t | jdv S )N>   httphttps)r   scheme)r,   r   r   r   is_http_url)   s   r1   N)r   r   r   r   )r"   r   r   r   )r(   r)   r   r*   )r,   r   r   r-   )
__future__r   typingr   r   r   r   r   urllib.parser   httpxr	   r
   
BaseClientr   r!   r&   r'   r+   r1   r   r   r   r   <module>   s    


